Mám soubor MP4 se záznamem obrazovky, který musím oříznout. Jak toho mohu dosáhnout bez použití drahých nástrojů, jako je Adobe Premier nebo Final Cut? Dávám přednost ffmpeg
, protože jsem to už dříve používal.
Odpovědět
Použijte crop
filtr :
ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4
Kde možnosti jsou následující:
-
out_w
je šířka výstupního obdélníku -
out_h
je výška výstupního obdélníku -
x
ay
zadejte levý horní roh výstupní obdélník
původní obrázek
původní obrázek 320×240
Příklad 1
Oříznutí sekce 80 × 60, počínaje pozicí (200, 100):
ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4
- Zvuk je v tomto příkladu zkopírován stream , takže se opětovnému kódování vyhnete.
Příklad 2
Oříznutí pravé dolní čtvrtiny:
ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4
Je to stejné jako:
ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4
Což je stejné jako:
ffmpeg -i in.mp4 -filter:v "crop=160:120:160:120" -c:a copy out.mp4
- Na velikost vstupního obrázku můžete odkazovat pomocí
in_w
ain_h
, jak ukazuje tento první příklad. Šířku a výšku výstupu lze také použít sout_w
aout_h
.
Příklad 3
Ořízněte 20 pixelů shora a 20 zespodu:
ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
- Filtr automaticky vystředí oříznutí, pokud
x
ay
jsou vynechány, jako v tomto příkladu.
Náhled
Můžete si vzít plodinu (heh heh) a zobrazit si náhled živě pomocí ffplay
:
ffplay -i input -vf "crop=in_w:in_h-40"
Tímto způsobem můžete experimentovat a upravovat ořezávání bez nutnosti kódování, prohlížení a opakování.
Poznámky
-
Výchozí kodér pro MP4 je
libx264
(video H.264) nebompeg4
(MPEG- 4 část 2 video) v závislosti na vašemffmpeg
sestavení. Další informace najdete v FFmpeg Wiki: Průvodce kódováním videa H.264 . -
Místo oříznutí a opětovného kódování, zvažte oříznutí při přehrávání. To je možné u každého hráče, který stojí za to použít.
-
Starověké
ffmpeg
sestavení použité-croptop
,-cropbottom
,-cropleft
,-cropright
možnosti namístocrop
filtr. Pokud je to váš případ, získejte moderníffmpeg
. Vývoj je velmi aktivní a není důvod používat starožitnosti.
crop
filter) video znovu zakóduje, viz stackoverflow.com/questions/33378548/… pokud znovu kódování je pro vás důležité-filter:v
staly aktuálními a jednoduššími pro psaní-vf
. Na zdraví!cropdetect
nejprve pro vás připravte parametry ořezu tisku ffmpeg:ffmpeg.exe -i vid.mp4 -vf cropdetect out.mp4