Примерно так должно работать с соответствующими параметрами для каждого случая:
Примечание. Исходный ответ был опубликован по этой ссылке: Как обрезать видео с помощью ffmpeg? который первоначально размещен мной и отредактирован несколько раз, чтобы обновить его до новейших опций в самых последних версиях ffmpeg. Большое спасибо slhck , Джонатан. Антон Рудешко , LordNeckbeard и будущие сопровождающие.
В последних версиях FFmpeg используйте crop
фильтр :
ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4
Где варианты следующие:
out_w
ширина выходного прямоугольника
out_h
высота выходного прямоугольника
x
и y
укажите верхний левый угол выходного прямоугольника
Исходное изображение
Оригинальное изображение 320x240
Пример 1
Чтобы обрезать секцию 80 × 60, начиная с позиции (200, 100):
ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4
Пример 2
Чтобы обрезать нижнюю правую четверть:
ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4
Это так же, как:
ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4
Который так же, как:
ffmpeg -i in.mp4 -filter:v "crop=240:120:240:120" -c:a copy out.mp4
- Вы можете сослаться на размер входного изображения с помощью
in_w
и, in_h
как показано в этом первом примере. Ширина и высота вывода также могут быть использованы с out_w
и out_h
.
Пример 3
Обрежьте 20 пикселей сверху и 20 снизу:
ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
- Фильтр будет автоматически центрировать обрезку, если
x
и y
опущены, как в этом примере.
Previewing
Вы можете взять урожай (хе-хе) и просмотреть его вживую ffplay
:
ffplay -i input -vf "crop=in_w:in_h-40"
Таким образом, вы можете экспериментировать и настраивать кадрирование без необходимости кодировать, просматривать, повторять.
Примечания
crop
фильтрация документации
Кодировщик по умолчанию для MP4 - libx264
(видео H.264) или mpeg4
( видео MPEG-4 Part 2) в зависимости от вашей ffmpeg
сборки. См. FFmpeg Wiki: Руководство по кодированию видео H.264 для получения дополнительной информации.
Вместо обрезки и перекодирования рассмотрите обрезку при воспроизведении. Это возможно с любым игроком, который стоит использовать.
Древние ffmpeg
строит б -croptop
, -cropbottom
, -cropleft
, -cropright
варианты вместо этого crop
фильтра. Если это так, то приобретите современноеffmpeg
. Развитие очень активно и нет оснований использовать антиквариат.
ffplay
помощью которыхffmpeg
можно обрезать размер экрана видео на практике.