[FFmpeg-user] Removing parts of a video using the select filter
MacFH - C E Macfarlane - News
news at macfh.co.uk
Sat Jan 8 22:20:46 EET 2022
On 08/01/2022 19:38, Simon van Bernem via ffmpeg-user wrote:
>
> ffmpeg -i input.mkv
> -vf "select='1-between(t,20,25)-between(t,100,200)
> -between(t,220,300)-between(t,400,600)-between(t,750,800)
> -between(t,820,860)-between(t,880,900)-between(t,1000,1200)
> -gt(t,1500)'"
> -af "aselect='1-between(t,20,25)-between(t,100,200)
> -between(t,220,300)-between(t,400,600)-between(t,750,800)
> -between(t,820,860)-between(t,880,900)-between(t,1000,1200)
> -gt(t,1500)'" output3.mkv
>
> Is there a way to cut up a video into multiple parts using the select
> filter without having the video and audio go out of sync or having
> glitchy video playback? If not, what is the best alternative?
To select parts of a video, I use ...
FFMPEG -ss <start-time> -i <input> -codec copy -to <end> <output>
... however it's tedious, because with this method the video will only
break at certain points between compression units (can't remember the
proper terminology), and it can take some experimentation to find the
precise timing of these to get the audio right as well, and often,
because of the way the compression works, the first extracted frame is
often an unwanted last frame of a previous scene.
I have long lamented that FFMPEG doesn't make this both easier and to
allow greater resolution, if necessary recreating the start and end
compression units to get the exact timing wanted.
More information about the ffmpeg-user
mailing list