On 07/25/2020 06:08 PM, Mohammed Hamdy wrote:
Hi,

I have an idea to make ffmpeg do a fast and precise cut, by re-ncoding just 
shorts parts around the cut points, and copy the rest of the desired segment  
without re-encoding. I wish it can be done. Details:

suppose I want to generate a new video that doesn't contain the chuck starts at 
t1 to t2. I want ffmpeg to do this to divide the segment (t1, t2) to 3 parts:

   1.  a part (t1-x, t1+y), which is a complete encoded block that should be 
re-encoded to be able to copy the part (t1, y) precisely.

It's impossible to re-encode precisely. There's always some loss. But perhaps you don't mean "re-encode", eh? Perhaps you mean to copy the packets without decoding. That's theoretically possible if tl-x and tl+y are precisely at key frames and there are no predictive frames that cross the boundary (though they could be dropped) and there has been no prior editing that already has damaged B-frame & P-frame references (which does happen, even in commercially mastered material).

   2.  a part (t2-z, t3+w), which is a complete encoded block that should be 
re-encoded to be able to copy the part (z, t2) precisely.
   3.  a middle part (y, z) which contains complete encoded blocks, where it 
can be copied as is.

Then join the 3 parts resulted from the above steps. Note that the first two 
parts are expected to be small (and one of them or both can be zero length), 
so, the re-encoding process will be fast. This will make us able to have exact 
cuts with slightly slower operation but still super faster than re-encoding the 
full video. It can be even faster if we can do multiple cuts with one command, 
so we traverse the frames once.

So, can I do that today with ffmpeg? Or, can ffmpeg support it soon?

Not likely, but I'm just another Bozo on this bus.
_______________________________________________
ffmpeg-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to