У мене є MP4-файл екранного запису, який мені потрібно обрізати. Як я можу це досягти, не використовуючи дорогих інструментів, таких як Adobe Premier або Final Cut? Я вважаю за краще, ffmpeg
тому що я цим раніше користувався.
У мене є 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, частина 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
. Ура!