Working with HDHomeRun
Starting in version 0.65, CCExtractor can process a stream being delivered via UDP, so there's no need to capture video to a file in order to get the subtitles.
What devices are supported?
While it should work with any device that is able to send the stream via UDP, at this time it's only been tested with HDHomeRun (both European and American models).
Will other devices be supported?
HDHomeRun works so well that it's unlikely I'll bother with any other device unless it finds its way to me for free and development is sponsored.
How do I use it?
Make sure you have HDHomeRun's software installed. You will need the command line tool "hdhomerun_config" (it's available for Linux and Windows, possibly OSX too). GUI frontends are available, too, but the following instructions use just the command line tool.
Because you can have more than one HDHomeRun in the network, the first thing is to look for the IDs of each of them:
I only have one, and its ID is 12206E95. When I want to do anything with that tuner, I need to pass the ID to hdhomerun_config (note: since I only have one I could just pass FFFFFFFF which is accepted in this scenario).
Then, have HDHomeRun scan for channels:
./hdhomerun_config 12206E95 scan /tuner0
The first parameter is of course the ID of my HDHomeRun. I also need to pass /tuner0 because the device is dual-tuner, so I specify which one I want to use. The output is rather large - only a part of it is shown:
1
SCANNING: 778000000 (eu-bcast:59)
2
LOCK: t8qam64 (ss=90 snq=66 seq=100)
3
TSID: 0x000F
4
PROGRAM 184: 0 Boing
5
PROGRAM 185: 0 Telecinco HD
6
PROGRAM 304: 0 MTV
7
PROGRAM 305: 0 Paramount Chann
8
SCANNING: 770000000 (eu-bcast:58)
9
LOCK: t8qam64 (ss=97 snq=28 seq=100)
10
TSID: 0x03F4
11
PROGRAM 530: 0 La 1
12
PROGRAM 531: 0 La 2
13
PROGRAM 532: 0 24h
14
PROGRAM 533: 0 Clan
15
PROGRAM 535: 0 Radio Nacional
16
PROGRAM 536: 0 Radio 5 Todo No
In this output, the number after eu-bcast is the channel. A channel is a bundle of several programs (a program being a station) that are broadcast together. For example you can see that channel 58 contains 6 programs.
Suppose we want the subtitles from "La 1". First, tune to the channel
that carries it:
./hdhomerun\_config 12206E95 set /tuner0/channel 58
1
ccextractor -srt -udp 1235 -stdout
2
CCExtractor 0.65, Carlos Fernandez Sanz, Volker Quetschke.
3
Teletext portions taken from Petr Kutalek's telxcc
5
Input: Network, UDP/1235
6
[Raw Mode: Broadcast] [Extract: 1] [Stream mode: Autodetect]
7
[Program : Auto ] [Hauppage mode: No] [Use MythTV code: Auto]
8
[Timing mode: Auto] [Debug: No] [Buffer input: Yes]
9
[Use pic_order_cnt_lsb for H.264: No] [Print CC decoder traces: No]
10
[Target format: .srt] [Encoding: Latin-1] [Delay: 0] [Trim lines: No]
11
[Add font color data: Yes] [Add font typesetting: Yes]
12
[Convert case: No] [Video-edit join: No]
13
[Extraction start time: not set (from start)]
14
[Extraction end time: not set (to end)]
15
[Live stream: No] [Clock frequency: 90000]
16
Teletext page: Autodetect]
17
Start credits text: [None]
18
Sending captions to stdout.
20
Reading from UDP socket 1235
21
File seems to be a transport stream, enabling TS mode
22
Analyzing data in general mode
23
[...] Program Master Table for program 530, PMT PID: 100
24
101 | MPEG-2 video
25
922 | MPEG-2 video
26
102 | MPEG-2 private data
27
2675 | Unknown
28
115 | Unknown
29
2051 | MPEG-4 video
30
1546 | Unknown
31
256 | Unknown
32
4102 | Unknown
33
353 | Unknown
34
2544 | Unknown
35
4976 | MPEG-2 audio
36
111 | MPEG-2 private data
37
2163 | Unknown
38
1 | MPEG-4 video
39
3301 | Unknown
40
768 | Unknown
41
VBI/teletext stream ID 102 (0x66) for SID 530 (0x212)
43
Skip forward to the next TS header mark.
45
Programme Identification Data = La 1
46
Universal Time Co-ordinated = Mon Mar 11 21:36:23 2013
48
1
49
00:00:00,240 --> 00:00:02,560
50
Su voz suena en los altavoces.
52
[...]
As expected, in this example CCExtractor would run forever. You can
control this with the time related parameters, in case you want
CCExtractor to exit after a given number of seconds.