1

am trying to cut a part of Video

Here is the code i have tried Let's say i have 6 seconds video and i want to slow down 2:5 seconds video that 3 second video

First approach after searching is, Cut the video, then apply slow filter then concat it with original video. But this is a mid part not entire video. How can i modify below code

ffmpeg -i Soon.mp4 -filter_complex [0:v]trim=2:5,setpts=PTS-STARTPTS[v1];[v1]setpts=0.5PTS[v1];[0:a]atempo=2[a] concat=n=1:v=1:a=1 -map "[v]" -map "[a] -preset superfast -profile:v baseline output.mp4

3

This slows down one part of a video and keeps the rest as is.

ffmpeg -i Soon.mp4
  -filter_complex
     "[0:v]trim=0:2,setpts=PTS-STARTPTS[v1];
      [0:v]trim=2:5,setpts=2*(PTS-STARTPTS)[v2];
      [0:v]trim=5,setpts=PTS-STARTPTS[v3];
      [0:a]atrim=0:2,asetpts=PTS-STARTPTS[a1];
      [0:a]atrim=2:5,asetpts=PTS-STARTPTS,atempo=0.5[a2];
      [0:a]atrim=5,asetpts=PTS-STARTPTS[a3];
      [v1][a1][v2][a2][v3][a3]concat=n=3:v=1:a=1"
  -preset superfast -profile:v baseline output.mp4

How does it work?

  • The trim and atrim filters cut the video into different parts, from 0–2 seconds, from 2–5, and from 5 to the end.
  • In each part a setpts/asetpts filter is applied, which, when using the option PTS-STARTPTS, "resets" the presentation timestamps of each frame in each part, so that they can later be concatenated easily.
  • Each part is given an output label (e.g. [v1] through [v3]).
  • For the video parts that need to be slowed down, every presentation timestamp is doubled (2*(…)), which effectively halves the speed of the video. If you wanted to speed up the video, use a multiplier lower than 1.
  • For audio parts to be sped up / slowed down, use the atempo filter, whose parameter is the speedup (e.g., 0.5 = half speed).
  • These parts are finally concatenated using the concat filter.
  • Hi Thanks for this code :) can u please explain this part [0:a]atrim=2:5,asetpts=2*(PTS-STARTPTS),atempo=0.5[a2]; what is 2 and 0.5? – Muhammad Umar Jun 27 '17 at 20:19
  • If you're slowing down part of a video, you'll want to slow down corresponding audio as well. But not the other parts of the audio. That 2 is not needed. Removed. 0.05 is to slow down the audio by 2. – Gyan Jun 28 '17 at 4:57
  • Note: -preset superfast -profile:v baseline will usually result in very bad quality and/or high file sizes. Unless you know that you need these options, it's better to not use them and let ffmpeg use the default settings. – slhck Aug 18 at 15:46
0

I want to apply the above command line with long videos.Can you help me?

  • 1
    If you have a new question, please ask it by clicking the Ask Question button. Include a link to this question if it helps provide context. - From Review – Michael Liebman Oct 21 at 19:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.