[MPlayer-dev-eng] DVB-TS and ATSC-TS Differences
James Courtier-Dutton
James at superbug.demon.co.uk
Fri Jan 30 14:26:53 CET 2004
Nico wrote:
> James Courtier-Dutton wrote:
>
>> Greg Herlein wrote:
>>
>>> It's come to light in my work on transport streams this week that
>>> DVB-formatted streams (prevalent in Europe and on many satellites
>>> here in the US) have subtle differences from ATSC-formatted
>>> streams (prevalent here in the US for digital broadcasting,
>>> especially the free to air terrestial).
>>>
>>> Specifically, the mapping of AC3 audio is done in 'PES private
>>> streams' in DVB where it's has a mandated stream type of 0x06.
>>> In ATSC it has to be set to a stream type of 0x81 and is a normal
>>> audio PES stream.
>>>
>>> Reference:
>>>
>>> http://www.atsc.org/standards/a_52a.pdf
>>> (see pages 118-127)
>>>
>>> There must be other differences as well. Does anyone know of a
>>> definitive paper or document that details all these? If not, is
>>> anyone willing to help produce such a document?
>>>
>>> Thanks!
>>>
>>> Greg
>>>
>> I have also done a lot of research on transport streams, and you are
>> correct in your findings.
>> The most annoying problem I have found it identifying the contents of
>> the private stream. As it can be AC3 audio or Subtitles/Teletext.
>
>
> so in ATSC subs are encapsulated in 0xbd PES streams? I wonder why
> people have so little fantasy :( with
> all the numbers they can choose from ...
>
>> The start of a PES pack does not always match the start of an AC3 frame.
>> When using some cheap DVB cards, only the Video and Audio PID is
>> received. The DVB card filters out the PAT and PMT, so the stream
>> being played has lost descriptive information. If people have recorded
>> that stream, and saved it to hard disc, that PAT/PMT information will
>> be lost forever.
>
>
>
> usually cheap DVB cards ( = budget cards) can dump even the whole TS if
> you want, so they filter what the application
> tells them to filter; it's possible to instruct mplayer to include PAT
> and PMT in the stream, it's not a huge work
> (I was planning to do it anyway)
I was think more for people who have just recorded from the DVB directly
to their hard disc, and failed to include the PAT and PMT PIDs.
It happens a lot at the moment.
>
>> The only way of sorting out this problem I have found is for the
>> demuxer to do AC3 based CRC checks to see if valid AC3 frames are
>> arriving in this PID, and only then send the frames to the AC3
>> decoder. This does require the demuxer to do AC3 specific checks, but
>> I find that it is the only reliable method for handling this.
>>
>> Cheers
>> James
>>
>
> and if AC3 frames are broken or if they don't pass CRC even when they
> are correct (not so uncommon in TS) ?
>
CRC in AC3 is not optional. It has to be there and be correct, or else
the decoder will not play it. A hardware AC3 decoder will mute if it
receives an AC3 frame without a valid CRC.
Any software AC3 decoder should do the same.
I have never seen a correct AC3 frame that does not have a valid CRC.
Cheers
James
More information about the MPlayer-dev-eng
mailing list