Щось подібне повинно працювати з належними параметрами для кожного випадку:
Примітка. Оригінальна відповідь була розміщена за цим посиланням: Як можна обрізати відео за допомогою 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
пропущено, як у цьому прикладі.
Попередній перегляд
Ви можете взяти урожай (хе-хе) і переглянути його в прямому ефірі ffplay
:
ffplay -i input -vf "crop=in_w:in_h-40"
Таким чином можна експериментувати та коригувати обрізання без необхідності кодувати, переглядати, повторювати.
Примітки
crop
документація фільтра
За замовчуванням кодер для MP4 - це libx264
(H.264 відео) або mpeg4
(MPEG-4, частина 2 відео), залежно від вашої ffmpeg
збірки. Додаткову інформацію див. У FFmpeg Wiki: Посібник з кодування відео H.264 .
Замість обрізання та повторного кодування розгляньте можливість обрізання під час відтворення. Це можливо з будь-яким гравцем, який варто використовувати.
Стародавні ffmpeg
будує б -croptop
, -cropbottom
, -cropleft
, -cropright
варіанти натомість crop
фільтра. Якщо це так для вас, тоді отримайте сучаснийffmpeg
. Розробка дуже активна, і немає ніяких причин використовувати антикваріат.
ffplay
якому використанняffmpeg
для обрізання розміру екрана відео є практичним.