У мене є 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. Ура!