On Thu, 5 Jul 2007, Pier Luigi Conte wrote: > Does it exist a method to don't compress again (during the render phase) an > originally already compressed video?
Allowing Cinelerra to pass-through frames where possible is a wishlist feature. At the moment, it doesn't exist. You can get that effect with a lot more effort using some other tools instead of Cinelerra, but even in the case where you're just cutting (without doing fancier effects), some recompression is unavoidable because of the way MPEG compression works. The thing is, the MPEG stream contains a few frames called I-frames that are complete in themselves, but most of the frames are B-frames, which are stored by storing the differences between the current frame and nearby I-frames. If your cut eliminates an I-frame, then you MUST recompress the B-frames that depend on it. (Things called P-frames also exist but considering them wouldn't really clarify the discussion.) For example, suppose you have two video streams that look like this: Stream 1: I0 B1 B2 B3 I1 B4 B5 B6 I2... Stream 2: I3 B7 B8 B9 I4 B10 B11 B12 I5... You want to cut from Stream 1 after frame B5, to Stream 2 before frame B8, so as to get this sequence of frames: I0 B1 B2 B3 I1 b4 b5 b8 b9 I4 B10 B11 B12 I5... The problem is that frames B4 and B5 depend on frame I2, which isn't included in your output, and frames B8 and B9 depend on frame I3, which isn't included in your output. (I showed them with lowercase letters to make it clearer). So you have to recompress those frames at least. You've also got an unusually long interval between frames I1 and I4 (I4 is the fifth frame after I1 whereas the original streams had an interval of four), and although that doesn't break any rules in this particular case, there *are* constraints on how long the interval is allowed to be, and it's easy to imagine cases where cutting could violate those constraints and you've have to recompress some I-frames too. There are also long-term bit rate contraints in things like DVDs, which you're allowed to violate for a short time but not for a long time, and in the worst case, cutting together two pieces that are near the limit could push you over and force you to recompress a substantial chunk of video. So avoiding recompression where possible is not just a matter of "skip over the recompression code" - making such an effort actually work, is a hard problem. -- Matthew Skala [EMAIL PROTECTED] Embrace and defend. http://ansuz.sooke.bc.ca/ _______________________________________________ Cinelerra mailing list [email protected] https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra
