Here are some clips of HDTV broadcast material for testing and experimentation. Bear in mind HDTV transmission run at 19Mbit/sec (around 9Gbytes/hour), and this web server has only a 1.5Mbit/sec connection. So I'm keeping these very short.
Note that I made no attempt to cut these on a packet boundary. They're just chunks of raw transport stream data from an 8VSB demodulator. They may contain partial packets, errors, etc.
A few seconds of prime time WMAR-DT (ABC Baltimore Maryland) from 3 September 2003. There are three subchannels in this broadcast:
subchannel | video PID | audio PID | AC3? | screenshot | notes |
---|---|---|---|---|---|
WMAR HD | 0x21 | 0x24 | yes | Their main HD programming. In this case it's 720p Monday Night Football. I believe they used edge enhancement on this broadcast, but this is one of the cleaner shots. | |
WMAR SD | 0x31 | 0x34 | yes | An SD simulcast of their HD program. | |
WMAR SD | 0x41 | - | - | An SD weather map with no audio. |
Eight or nine seconds of prime time WMPT-DT (PBS Annapolis Maryland) from September 2003. There are five subchannels in this broadcast:
subchannel | video PID | audio PID | AC3? | screenshot | notes |
---|---|---|---|---|---|
MPT-DT | 0x21 | 0x24 | yes | SD simulcast of their analog signal. | |
0x25 | yes | ||||
MPTKIDS | 0x31 | 0x34 | yes | SD kids programming, but since this is prime time they just have a static logo. | |
MPT-SQ | 0x41 | 0x44 | yes | Their Public Square SD subchannel. During prime time this just shows a static logo. | |
MPT-LNR | - | - | - | - | MPT Learner subchannel. It's mentioned in the channel listing but has no PIDs active in this clip. |
MPT-HD | 0x61 | 0x64 | yes | HD prime time programming. Note that this does not match the analog broadcast. In this clip it's a 1080i episode of "Smart Travels". |
A few seconds seconds of daytime WMPT-DT (PBS Annapolis Maryland) from 16 September 2003. There are five subchannels in this broadcast:
subchannel | video PID | audio PID | AC3? | screenshot | notes |
---|---|---|---|---|---|
MPT-DT | 0x21 | 0x24 | yes | SD simulcast of their analog signal. I'm guessing it's the kids' show Zoom. | |
0x25 | yes | ||||
MPTKIDS | 0x31 | 0x34 | yes | SD programming for kids. | |
0x35 | yes | ||||
MPT-SQ | 0x41 | 0x44 | yes | Their Public Square SD subchannel. In this case the show appears to be called A Writer's Exchange. | |
0x45 | yes | ||||
MPT-LNR | - | - | - | - | MPT Learner subchannel. It's mentioned in the channel listing but has no PIDs active in this clip. |
MPT-HD | - | - | - | - | HD prime time programming. It's mentioned in the channel listing but at this time of day has no PIDs active. |
A few seconds seconds of daytime WJZ-DT (CBS Baltimore Maryland) from 11 September 2003. There's only one program in here:
subchannel | video PID | audio PID | AC3? | screenshot | notes |
---|---|---|---|---|---|
WJZ-DT | 0x11 | 0x14 | yes | HD main programming. In this case it's 1080i The Young And The Restless. |
How Were These Captured?
I used a pcHDTV HD capture card in a Linux machine, attached to a rooftop TV antenna from Radio Shack pointed at the appropriate tower. Digital TV signals are sent over normal UHF channels.
How Are These Played?
As of this writing, the Roku firmware and StreamPlayer don't let you specify which PIDs you're interested in, so you won't be able to control which program (if any) you'll see.
My trympegdecode program can be used to play these back, albeit a bit roughly since it won't do things like correct for aspect ratios. For example to watch the MPT-HD program from the Smart Travels clip above, looped repeatedly, you would use a command like this:
trympegdecode -vpid 0x61 -apid 0x64 -ac3 -loop < mpt-smart-travels-classical-clip.ts
How Were The PID Numbers Determined?
I used the NIST DASE ATSC parser. The program list is found in the parser output and looks something like this:
... 2. name= MPT-SQ maj=0x16 min=0x4 mod=0x4 freq=0x0 TSid=0x575 ... 0. stream=0x2 pid=0x41 lang_code=eng 1. stream=0x81 pid=0x44 lang_code=eng Tag=0xa1 (serv_location_descr), Len=0xf 0xe0 0x41 0x2 0x2 ... pcr_pid=0x41 0. stream=0x2 (video) pid=0x41 lang_code=eng 1. stream=0x81 (AC3-audio) pid=0x44 lang_code=eng 3. name= MPT-LNR maj=0x16 min=0x5 mod=0x4 freq=0x0 TSid=0x575... 4. name= MPT-HD maj=0x16 min=0x6 mod=0x4 freq=0x0 TSid=0x575 ... 0. stream=0x2 pid=0x61 lang_code=eng 1. stream=0x81 pid=0x64 lang_code=eng Tag=0xa1 (serv_location_descr), Len=0xf 0xe0 0x61 0x2 0x2 ... pcr_pid=0x61 0. stream=0x2 (video) pid=0x61 lang_code=eng 1. stream=0x81 (AC3-audio) pid=0x64 lang_code=eng ...
How Were Screenshots Acquired?
I used an HD version of xine (that came with the www.pchdtv.com card), which supports DTV subchannel selection. I played the desired video into a software window, paused playback, used gimp to acquire a screenshot of the window contents, then scaled the images to 99 pixels high. 99 was chosen because it's reasonably small and results in integer dimensions for both 4:3 and 16:9 aspect ratios.