Cecil Westerhof via ffmpeg-user <ffmpeg-user@ffmpeg.org> writes:
I need to cut a part out of a video. (A certain speaker does not want
to be published.)
Searching on the internet I found this:
     Following is a snippet we used to remove a few seconds from a video using 
ffmpeg

     ffmpeg -i 'input.mkv' -filter_complex \
       "[0:v]trim=end=553,setpts=N/FRAME_RATE/TB[v0]; \
        [0:a]atrim=end=553,asetpts=N/SR/TB[a0]; \
        [0:v]trim=start=559,setpts=N/FRAME_RATE/TB[v1]; \
        [0:a]atrim=start=559,asetpts=N/SR/TB[a1]; \
        [v0][a0][v1][a1]concat=n=2:v=1:a=1[v][a]" \
       -map "[v]" -map "[a]" 'output.mkv'

     Specifically, we removed the seconds 09:13 (second 553) to 09:19 (second 
559).

Is this the correct way to do it (after setting the correct
timestamps), or is there a better way?
It works, but there are a few problems. :'-(

I cut 1:50 from a video of 18:51 to get a video to get a video of
17:01.
The video goes from 402.4 MB to 341.8 MB.
But the problem is that ffmpeg takes all my CPU and the speed is
0.359. It would be nice if there would be a more efficient option.
What is also not nice is that the chapter info is not updated.
But that is preventable: I could do first the cut and afterwards
create the chapters. I would prefer the other way around, but I can
life with that.

The problem is that when you do not cut on keyframes, the entire video needs to be reencoded. You will need to set the correct encoding parameters to make sure all streams and metadata are preserved. Better to post details about the proces (output of the ffmpeg command you have used. That way a better answer to your question might be given.
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to