I try to figure out how to use FFmpeg to trim videos. I have created a 30 second .mov screen capture using Apple's QuickTime player, and then tried to trim it using three different ways:

  1. Using -copyts, without re-encoding

    ffmpeg -copyts -ss 00:00:10 -i input.mov -to 00:00:15 -map 0 -c copy output.mov
  2. Using -copyts, with re-encoding

    ffmpeg -copyts -ss 00:00:10 -i input.mov -to 00:00:15 -c:v libx264 -crf 23 -c:a aac -b:a 192k output.mov
  3. Using -trim (with re-encoding, which is the only option):

    ffmpeg -i input.mov -vf trim=10:15 output.mov

No matter which approach I tried, the output video is always 15 seconds long and the first 10 seconds of that is just a black screen, whereas what I expected is a 5-second video and without the black screen.

All the three solutions are from here: https://superuser.com/questions/377343/cut-part-from-video-file-from-start-position-to-end-position-with-ffmpeg (answers by @slhck and @malat), and are very high-voted, so I expect they should work without issues, but they don't. Why is that? Is there a problem with the commands, or with the video?

The video is uploaded here: https://github.com/jsx97/test/blob/main/input.mov

  • from doc: -copyts → Do not process input timestamps, but keep their values without trying to sanitize them. In particular, do not remove the initial start time offset value. If use trim, add setpts -vf trim=10:15,setpts=PTS-STARTPTS Commented Jun 12 at 1:12
  • @БаярГончикжапов That is, if using -copyts, this is a natural behavior? Then this is somewhat strange that "how to trim a video using FFmpeg" solutions , which are often based on -copyts, don't mention this "black screen" issue.
    – jsx97
    Commented Jun 12 at 7:59
  • maybe, it can be used to syncronize videos from surveillance cameras Commented Jun 12 at 8:03
  • @БаярГончикжапов And when you need to trim a video, which approach you use yourself, -trim or something else?
    – jsx97
    Commented Jun 12 at 8:08
  • mostly, ffmpeg -ss 5 -to 15 -i in out Commented Jun 12 at 8:10


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.