Coś takiego powinno działać z odpowiednimi parametrami dla każdego przypadku:
Uwaga: Oryginalna odpowiedź została opublikowana pod tym linkiem: Jak mogę przyciąć wideo za pomocą ffmpeg? które pierwotnie opublikowałem i edytowałem kilka razy w celu aktualizacji do najnowszych opcji w najnowszych wersjach ffmpeg. Wielkie podziękowania dla slhck , Jonathan. , Anton Rudeshko , LordNeckbeard i przyszli opiekunowie.
W najnowszych wersjach FFmpeg 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ściowego
out_h
to wysokość prostokąta wyjściowego
x
i y
określ lewy górny róg prostokąta wyjściowego
Oryginalny obraz
Oryginalny obraz 320 x 240
Przykład 1
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
Przykład 2
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
- Możesz odwołać się do rozmiaru obrazu wejściowego za pomocą
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
.
Przykład 3
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
- Filtr automatycznie wycentrować w uprawach
x
i y
są pomijane, tak jak w tym przykładzie.
Podgląd
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ć przycinanie bez konieczności kodowania, przeglądania, powtarzania.
Notatki
crop
filtruj dokumentację
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żywane -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.
ffplay
którymffmpeg
można przycinać rozmiar ekranu wideo w praktyce.