Mam plik MP4 z nagraniem ekranu, który muszę przyciąć. Jak mogę to osiągnąć bez użycia drogich narzędzi, takich jak Adobe Premier lub Final Cut? Wolę, ffmpeg
ponieważ użyłem go wcześniej.
Mam plik MP4 z nagraniem ekranu, który muszę przyciąć. Jak mogę to osiągnąć bez użycia drogich narzędzi, takich jak Adobe Premier lub Final Cut? Wolę, ffmpeg
ponieważ użyłem go wcześniej.
Odpowiedzi:
Użyj crop
filtra :
ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4
Gdzie opcje są następujące:
out_w
to szerokość prostokąta wyjściowegoout_h
to wysokość prostokąta wyjściowegox
i y
określ lewy górny róg prostokąta wyjściowego
Oryginalny obraz 320 x 240
Aby przyciąć sekcję 80 × 60, zaczynając od pozycji (200, 100):
ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4
Aby przyciąć prawy dolny kwartał:
ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4
To jest to samo co:
ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4
Który jest taki sam jak:
ffmpeg -i in.mp4 -filter:v "crop=240:120:240:120" -c:a copy out.mp4
in_w
i in_h
jak pokazano w tym pierwszym przykładzie. Szerokość wyjściowa i wysokość mogą być również używane z out_w
i out_h
.Przytnij 20 pikseli od góry i 20 od dołu:
ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
x
i y
są pomijane, tak jak w tym przykładzie.Możesz pobrać uprawę (heh heh) i obejrzeć ją na żywo za pomocą ffplay
:
ffplay -i input -vf "crop=in_w:in_h-40"
W ten sposób możesz eksperymentować i dostosowywać kadrowanie bez konieczności kodowania, przeglądania, powtarzania.
Domyślny koder dla MP4 to libx264
(wideo H.264) lub mpeg4
(wideo MPEG-4 część 2) w zależności od ffmpeg
wersji. Aby uzyskać więcej informacji, zobacz FFmpeg Wiki: Podręcznik kodowania wideo H.264 .
Zamiast przycinania i ponownego kodowania, rozważ przycinanie podczas odtwarzania. Jest to możliwe z każdym graczem, z którego warto skorzystać.
Starożytny ffmpeg
buduje używany -croptop
, -cropbottom
, -cropleft
, -cropright
opcje zamiast tego crop
filtra. Jeśli tak jest w Twoim przypadku, zdobądź nowoczesnośćffmpeg
. Rozwój jest bardzo aktywny i nie ma powodu, aby używać antyków.
/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
ale oryginalny film jest zwracany.
crop
filtrem) ponownie koduje wideo, patrz stackoverflow.com/questions/33378548/... jeśli ponowne kodowanie ma dla Ciebie znaczenie
-filter:v
na bardziej aktualne i prostsze w pisaniu -vf
. Twoje zdrowie!