У меня есть файл MP4 записи экрана, который мне нужно обрезать. Как я могу сделать это без использования дорогих инструментов, таких как Adobe Premier или Final Cut? Я предпочитаю, ffmpeg
потому что я использовал это раньше.
Используйте crop
фильтр :
ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4
Где варианты следующие:
out_w
ширина выходного прямоугольникаout_h
высота выходного прямоугольникаx
и y
укажите верхний левый угол выходного прямоугольника
Оригинальное изображение 320x240
Чтобы обрезать секцию 80 × 60, начиная с позиции (200, 100):
ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4
Чтобы обрезать нижнюю правую четверть:
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
.Обрежьте 20 пикселей сверху и 20 снизу:
ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
x
и y
опущены, как в этом примере.Вы можете взять урожай (хе-хе) и просмотреть его вживую ffplay
:
ffplay -i input -vf "crop=in_w:in_h-40"
Таким образом, вы можете экспериментировать и настраивать кадрирование без необходимости кодировать, просматривать, повторять.
Кодировщик по умолчанию для MP4 - libx264
(видео H.264) или mpeg4
( видео MPEG-4 Part 2) в зависимости от вашей ffmpeg
сборки. См. FFmpeg Wiki: Руководство по кодированию видео H.264 для получения дополнительной информации.
Вместо обрезки и перекодирования рассмотрите обрезку при воспроизведении. Это возможно с любым игроком, который стоит использовать.
Древние ffmpeg
сборки используются -croptop
, -cropbottom
, -cropleft
, -cropright
варианты вместо этого crop
фильтра. Если это так, то приобретите современноеffmpeg
. Развитие очень активно и нет оснований использовать антиквариат.
/Users/kukodajanos/Workspace/ffmpeg -i /Users/kukodajanos/Desktop/video_640x480-2.mp4 -filter:v "crop=1920:1080:0:0" -c:a copy /Users/kukodajanos/Desktop/video_640x480-4.mp4
но оригинальный фильм возвращается.crop
фильтром) перекодирует видео, см. stackoverflow.com/questions/33378548/… если перекодировка имеет значение для вас-filter:v
на более современное и более простое для ввода-vf
. Ура!