taken from: https://video.stackexchange.com/questions/4563/how-can-i-crop-a-video-with-ffmpeg#4571 Use the crop filter:
ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4 Where the options are as follows:
out_w is the width of the output rectangle out_h is the height of the output rectangle x and y specify the top left corner of the output rectangle Original image original image Original 320x240 image
Example 1 80x60
To crop a 80×60 section, starting from position (200, 100):
ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4 The audio is stream copied in this example, so re-encoding is avoided. Example 2 bottom right quarter
To crop the bottom right quarter:
ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4 This is the same as:
ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4 Which is the same as:
ffmpeg -i in.mp4 -filter:v "crop=240:120:240:120" -c:a copy out.mp4 You can refer to the input image size with in_w and in_h as shown in this first example. The output width and height can also be used with out_w and out_h. Example 3 20 pixels from the top, and 20 from the bottom
Crop 20 pixels from the top, and 20 from the bottom:
ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4 The filter will automatically center the crop if x and y are omitted such as in this example. Previewing You can take a crop (heh heh) and preview it live with ffplay:
ffplay -i input -vf "crop=in_w:in_h-40" This way you can experiment and adjust your cropping without the need to encode, view, repeat.
Notes
-
crop filter documentation
-
Default encoder for MP4 is libx264 (H.264 video) or mpeg4 (MPEG-4 Part 2 video) depending on your ffmpeg build. See FFmpeg Wiki: H.264 Video Encoding Guide for more info.
-
Instead of cropping and re-encoding, consider cropping upon playback. This is possible with any player worth using.
-
Ancient ffmpeg builds used -croptop, -cropbottom, -cropleft, -cropright options instead of the crop filter. If this is the case for you then get a modern ffmpeg. Development is very active and there is no reason to use an antique.