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 .