[mythtv-users] Why does channel 4 transmit a silent audio track as well as the normal audio?

Joe Votour joevph at yahoo.com
Tue Aug 30 23:16:34 UTC 2005


I live in the U.S., and I've never worked with
mencoder, so I can't comment on the actual stream in
question, however:
PID 0x0010, which is classified as "other stream" is
actually the PMT (Program Map Table) in DVB.  This is
where the actual PIDs are listed for the various
streams within the program.  (I'm guessing that the
output you have for the PIDs comes from mencoder, and
it appears to be parsing the PMT correctly).

>From there, the PIDs listed in the PMT will have their
own descriptors, within the PID data itself.  The
stream type would be set according to the audio type
that is contained in them.  Your output doesn't show
that, and for your purposes, it would be helpful to
know (so that you can see what is in PID 0x0231,
whether it's AC3 or MPEG-2 audio).

Stripping PIDs from an MPEG-2 file is actually pretty
easy (I've written such software before, it's only 20
lines of C, tops), since the PID is the second and
third bytes in every MPEG-2 packet, and every MPEG-2
packet is 188 bytes long (including header).  You just
read in the entire file, throw away MPEG-2 packets
that you don't want.  But, don't throw away PID
0x1FFF, it's sometimes used for timing purposes (via
padding).  Changing what the PID contains would be
more difficult, and means you'd be parsing MPEG-2
packets (I've done that too) - messy.

-- Joe

--- George Styles <ripnetuk at gmail.com> wrote:

> Hi,
> 
> Im grabbing DVB-T transport streams using recent
> myth cvs. I am then
> encoding them with mencoder to xvid.
> 
> All channels work perfectly (that ive tried) except
> UK Channel 4. This
> seems to be broadcast with 4 streams within the TS
> as follows:
> 
> 
> File c4.nuv is an MPEG-2 Transport Stream
> 
> Found PID 0x0000, Program Association Table Stream
> Found PID 0x0010, Other Stream
> Found PID 0x0232, stream id 0xC0 = MPEG Audio Stream
> 0
> Found PID 0x0230, stream id 0xEA = Video Stream 10
> Found PID 0x0231, stream id 0xC0 = MPEG Audio Stream
> 0
> Found PID 0x0233, stream id 0xBD = Private Stream 1
> 
> Summary:
> 
> MPEG Transport Packets = 1624357
> PID 0x0000, Program Association Table packets = 811,
> total bytes = 149224
> PID 0x0010, Other packets = 811, total bytes =
> 149224
> PID 0x0230, Video stream 10 packets = 1466255, total
> bytes = 269454132
> PID 0x0231, MPEG Audio stream 0 packets = 112473,
> total bytes = 20638808
> PID 0x0232, MPEG Audio stream 0 packets = 38228,
> total bytes = 6880992
> PID 0x0233, Private Stream 1 packets = 5779, total
> bytes = 1001675
> 
> The PID 231 contains the actual audio for the show,
> but the PID 232
> seems to contain only silence. Anyone know why C4
> broadcast silence?
> is it a different codec? ac3 perhaps?
> 
> Anyway, as sods law would have it, mencoder encodes
> the second, broken
> audio track, and I end up with a silent movie :(
> 
> Anyone know how to remove a pid from a ts? or maybe
> just re-label it
> as non-audio so mencoder doesnt pick it up?
> 
> Should the program association table stream tell
> mencoder which one to
> use? is mencoder broken in that respect?
> 
> what do others use to convert TS's to xvid? i may
> try ffmpeg, as that
> seems to pick the correct audio stream...
> 
> any clues from the DVB expects?
> 
> thanks
> 
> g
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
>
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
> 



		
____________________________________________________
Start your day with Yahoo! - make it your home page 
http://www.yahoo.com/r/hs 
 


More information about the mythtv-users mailing list