Log in

View Full Version : Mpeg-4 and Transport Stream


tidi
8th February 2010, 11:13
Hi All,

I'm writing a demuxer for TS with Mpeg4.
I'm at the point where I can read the PES packets and parse the PES header.
I have the PTS etc...

Now my questions are:
What's inside the PES packets?
How do I get the infos I need for decode the Mpeg4, for example teh size?

Thanks in advance!

TD

Guest
8th February 2010, 14:40
What's inside the PES packets?
How do I get the infos I need for decode the Mpeg4, for example teh size? Inside is a PES header and a payload. The payload is the MPEG4 ASP elementary stream. To decode the stream, refer to the MPEG4 ASP video specification.

tidi
8th February 2010, 18:53
Inside is a PES header and a payload. The payload is the MPEG4 ASP elementary stream. To decode the stream, refer to the MPEG4 ASP video specification.

Thanks!

do you know where I can find the MPEG4 ASP video specification?
I'm looking around but I cannot find any good documentation on that...

Guest
8th February 2010, 19:05
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=39259

SeeMoreDigital
8th February 2010, 19:45
How much MPEG-4 Part-2 content is stored within a transport container?

tidi
9th February 2010, 18:19
How much MPEG-4 Part-2 content is stored within a transport container?


For what I've understood it should contain only the elementary streams,
therefore no atom headers.

tidi
16th February 2010, 18:31
Another question:

in the TS there is a flag that tells the type of the stream, but the same flag applies to Mpeg2 and mpeg4...
How do I understand if a stream is a Mpeg2 or a Mpeg4?
and same for the audio...

Thanks!

Guest
16th February 2010, 20:12
The program specific information (PAT/PMT) can tell you. If it is not present or not reliable, you have to parse the elementary stream. For example, DGIndexNV gets a list of bytes following any 00 00 01 pattern in the elementary stream and uses heuristics on the resulting list to determine the video type. E.g., seeing a B3 followed by a B5 increases the probability of calling it MPEG2.

tidi
17th February 2010, 19:19
Great! it worked...

Now.... :o how do I calculate the frame rate?

I have the Time in seconds calculated from the PCR and the bitrate but cannot figure out the frame_rate...
do I need to figure it out from the Elementary streams?

another problem is the I-Frame how I understand if a frame is a key frame?