From: Cyrus P. <cy...@fb...> - 2005-11-29 13:25:19
|
On 28 Nov 2005 at 16:51, Bob Forsman wrote: > The biggest problem with rewriting SCRs, PCRs, and PTS/DTS is that > video and audio give you frames in different sizes. No, frame size (or duration) is moot unless remuxing. Remuxing isn't necessary unless the program stream is being rebuilt. The program stream doesn't need to be rebuilt when elementary streams aren't being removed/inserted/replaced. > video frames are often 1.001/30 of a second long, not that frame rate is important, but if it were, it would be the presentation rate thats important, not the framerate in the elementary stream. > and audio frames can be stuff like 8*1152/48000 of a second long. AC3, DTS, MPA frames are all 1/32 sec long - irrespective of bitrate, sample size, number of channels, sampling rate, etc. In other words, for these types, the frame size is stream property dependant, but the frame duration is not. PCM frames on the other hand have stream property dependant duration _and_ size (but still nowhere close to 8*1152/48000): size (in bits) = number_of_channels * sample_size_in_bits. duration (in seconds) = 1/sampling_rate_in_hertz > While I'd bet that DVDauthor does not care about these problems, > players should worry about them. Enough cuts like that and you can > end up with ugly lip-sync issues if you don't actually try to sync > the audio and video. Only rewriting timestamps does not involve cutting/remuxing, and does not not influence synchronicity (unless you botch the rewrite) since the PTS/DTS adjustment applies to all elementary streams equally. Simple example: Before rewrite: pack: SCR 8 PTS 9 pack: SCR 9 <pad/end of stream> pack: SCR 0 <nav> pack: SCR 1 PTS 2 pack: SCR 2 PTS 3 pack: SCR 3 PTS 4 After rewrite: pack: SCR 8 PTS 9 pack: SCR 9 <pad> pack: SCR 10 <nav> pack: SCR 11 PTS 12 pack: SCR 12 PTS 13 pack: SCR 13 PTS 14 There are a couple of other things that need adjustment (or not - subject to the presence of an ESCR), but in essence thats all there is to rewriting timestamps. |