2012-11-30 06:38:03 +0000 2012-11-30 06:38:03 +0000
115
115

Jak zmniejszyć rozmiar wideo za pomocą FFmpeg

Czy jest możliwa zmiana rozmiaru moich filmów, aby zmniejszyć je za pomocą FFmpeg?

Mam oryginalny film o wymiarach 1024x576, teraz chcę zmienić rozmiar filmu do 720x480, aby spełnić wymagania.

Jak mogę to zrobić?

Odpowiedzi (2)

182
182
182
2012-11-30 06:53:23 +0000

Najbardziej podstawowy przykład jest taki:

ffmpeg -i input.avi -s 720x480 -c:a copy output.mkv

Użycie filtra scale zapewni większą elastyczność:

ffmpeg -i input.avi -filter:v scale=720:-1 -c:a copy output.mkv

Filtr -1 powie ffmpegowi, aby automatycznie wybrał odpowiednią wysokość w stosunku do podanej szerokości, aby zachować proporcje obrazu. -1 może być również użyte dla szerokości, jeśli podasz wysokość.


Jedną wadą skalowania przy użyciu libx264 jest to, że ten koder wymaga parzystych wartości i skalowanie może automatycznie wybrać nieparzystą wartość, co spowoduje błąd: width or height not divisible by 2. Możesz powiedzieć scale by wybrał wartość parzystą dla danej wysokości (720 w tym przykładzie):

scale="trunc(oh*a/2)*2:720"

…lub danej szerokości (1280 w tym przykładzie):

scale="1280:trunc(ow/a/2)*2"

Zauważ, że twój kompilator ffmpeg może narzekać, że nie rozpoznaje opcji -c lub -filter. Może też nie obsługiwać scale. W takim przypadku powinieneś użyć nowszego ffmpeg, który możesz pobrać jako statyczny build, lub skompilować samodzielnie .

21
21
21
2018-02-24 06:57:24 +0000

Używam następujących komend do zmiany rozmiaru dla filmów i obrazów. Dla stałej szerokości i wysokości -

ffmpeg -i input.avi -vf scale="720:480" output.avi

i jeśli chcesz zachować proporcje po prostu podaj wysokość jako -1 i będzie to automatycznie zmieniać rozmiar w oparciu o szerokość -

ffmpeg -i input.avi -vf scale="720:-1" output.avi

Jeśli chcesz skalować w oparciu o rozmiar wejściowy np. powiedzmy zmniejszyć szerokość/wysokość o połowę możesz to zrobić -

ffmpeg -i input.avi -vf scale="iw/1:ih/2" output.avi

UWAGA :

iw : input width
ih : input height

Statyczny build można pobrać z - https://johnvansickle.com/ffmpeg/

Dokumentacja : https://ffmpeg.org/ffmpeg.html#filter_005foption