konran
10th September 2008, 02:21
Hello again,
meanwhile I got stuck with PES packet headers in VOB files when I analyze these headers. Could anyone please explain how I should interpret things I've found in there (on a VOB that is DVD PAL, 1 MPEG2 video stream, 1 AC3 audio stream):
- the PES system header says that video and audio bound both are 1
=> I interpret this to be 1 video stream + 1 audio stream
(so far so good)
- stream ID's B9 and B8 in the system header tell me that P-STD applies
to all video streams and to all audio streams as well
- next I find stream ID's BD and BF in the system header. ISO 13818-1 says that any valid stream should be >= BC which should be interpreted according to stream id assignments.
Now that's my problem: BD normally is private stream 1 and BF is private stream 2. Can the be video or audio streams? Further I've found that BF is used for navigation packet information.
So, how do I have to treat the information of stream ID's in my system header? ... I regularly find E0 packets after the system header which are correctly formatted as video packets. E0 is not listed in the system header. And I don't find any C0's or similar that I would expect as an ID for the audio stream.
There is another problem also with VOB's: I'm trying to read timing information from the PES video packets at the beginning and end of the file. It is fine for the first VOB of a title set but I'm failing on all following VOB files of the same title set because the starting timestamp is greater than the ending timestamp in the file.
First I thought that I get a wrap around of the PTS/DTS values in between there so I added the maximum of a 33 bit value but the result is far off the reality. How are timestamps in a VOB coded?
Is the first timestamp something of the ending time of the previous file in the same title set? If yes, what's going on afterwards?
Regards,
Konran
meanwhile I got stuck with PES packet headers in VOB files when I analyze these headers. Could anyone please explain how I should interpret things I've found in there (on a VOB that is DVD PAL, 1 MPEG2 video stream, 1 AC3 audio stream):
- the PES system header says that video and audio bound both are 1
=> I interpret this to be 1 video stream + 1 audio stream
(so far so good)
- stream ID's B9 and B8 in the system header tell me that P-STD applies
to all video streams and to all audio streams as well
- next I find stream ID's BD and BF in the system header. ISO 13818-1 says that any valid stream should be >= BC which should be interpreted according to stream id assignments.
Now that's my problem: BD normally is private stream 1 and BF is private stream 2. Can the be video or audio streams? Further I've found that BF is used for navigation packet information.
So, how do I have to treat the information of stream ID's in my system header? ... I regularly find E0 packets after the system header which are correctly formatted as video packets. E0 is not listed in the system header. And I don't find any C0's or similar that I would expect as an ID for the audio stream.
There is another problem also with VOB's: I'm trying to read timing information from the PES video packets at the beginning and end of the file. It is fine for the first VOB of a title set but I'm failing on all following VOB files of the same title set because the starting timestamp is greater than the ending timestamp in the file.
First I thought that I get a wrap around of the PTS/DTS values in between there so I added the maximum of a 33 bit value but the result is far off the reality. How are timestamps in a VOB coded?
Is the first timestamp something of the ending time of the previous file in the same title set? If yes, what's going on afterwards?
Regards,
Konran