[Live-devel] PES packet sizes

Christian Frahm frahm.c at googlemail.com
Tue Jun 19 06:22:34 PDT 2007


Hi Everyone,

I am having a few problems while parsing PES stripped from DVB-T MPEG-TS to
the MPEGDemux Class.

PES coming from DVB-T are indeed very peculiar. First of all, they can be
very big. Some channels had PESs up to 150KB... so first question: is this
correct? Can PES really be unbounded? The problem is - MPEG1or2Demux class
reads the size of a PES packet from the header. So packets that are larger
than 65536 will not be processed (they usually have length = 0). Right? Can
I simply chop a PES (lets say before a GOP) and parse that to the demux?
Will it get mixed up? Or am I missing something here...

Secondly , since our aim is to stream the ES... how can I strip the ES from
PES stream?

Lastly - MPEG1or2Demux does not output any Audio PES. I notice that  PTS and
DTS are null. I am using

FramedSource* audioPES = mpegDemux->newAudioStream();

as sink. Will this sink accept PES? I ask because I had the same problem
with vdeo - which I solved after creating a FramedSource from as
newRawPESStream.

 ******* Copying PES to OutBuffer *************
PES Size:5888 Type: Audio
Deliver Frame(): we have 5888 bytes to deliver. (fMaxSize = 8688.
Hacking PES length - Bytes in Buffer: 5888
PES starts with start of buffer. PES size was 16FA and is now 170
(5888)parsing pack header
found packet start code 0x1c0 instead of pack header
parsing PES packet
saw packet_start_code_prefix
13, saw audio stream: 0x00
PES_packet_length: 5888
audio stream, packet presentation_time_stamp: 0x000000000
                packet decoding_time_stamp: 0x000000000
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.live555.com/pipermail/live-devel/attachments/20070619/2dfece31/attachment.html 


More information about the live-devel mailing list