

You can only cut at the closest keyframe. This will give a pretty decent video quality, close to lossless.Ĭutting video (roughly) without transcodingĪs explained above, without transcoding the video, it is impossible to cut at an exact point in time, because of how keyframes work. -crf 18 sets the video CRF to quality preset 18.-preset slow means we will use more time to encode the video, thus better quality.-c:v libx264 means we want to transcode the video to H.264/AVC format.-c:a copy means we will not be transcoding the audio.You can read more on how to encode video to H.264 with FFmpeg if you want. This example will cut the video at the start and end point, and convert the result to an MP4 file. There are a million ways to transcode video, so in this example, we will use the most common video encoder H.264/AVC. Unfortunately this will introduce generation loss, depending on the settings. Cutting video (exactly) with transcodingīy re-encoding the video, FFmpeg is able to cut the video at exact points in time. To understand why this happens you can read more about keyframes. Instead, FFmpeg tries to find the closest keyframe and cut it there.

However, FFmpeg cannot cut at exact points in time unless it re-encodes the video. This is a great way to maintain the original quality, thus avoiding generation loss. FFmpeg is able to cut, trim and extract videos without transcoding the media.
