Obecnie używam tego do próby skalowania wideo 720p do 480p, problem polega na tym, że automatyczna szerokość wybiera nieparzystą liczbę.
Obecnie używam -vf "scale=trunc(oh*a*2)/2:480
i nadal wybiera 853 dla szerokości. Jakieś wskazówki?
Obecnie używam tego do próby skalowania wideo 720p do 480p, problem polega na tym, że automatyczna szerokość wybiera nieparzystą liczbę.
Obecnie używam -vf "scale=trunc(oh*a*2)/2:480
i nadal wybiera 853 dla szerokości. Jakieś wskazówki?
Odpowiedzi:
Filtr skali ffmpeg
może mieć tylko jeden wymiar i może automatycznie obliczyć niezadeklarowany wymiar, jeśli użyjesz go -1
jako wartości, na przykład z -vf scale=640:-1
, ale może to być nieparzysta liczba.
ffmpeg
używa libx264 do kodowania wideo H.264. Ten koder wymaga mod2 dla szerokości i wysokości dla podpróbkowania barwy 4: 2: 0; co oznacza, że szerokość i wysokość muszą być podzielne przez 2.
Użyj -2
. To będzie:
Automatycznie oblicz prawidłową wartość w stosunku do zadeklarowanego wymiaru, zachowując proporcje.
Udostępnij wynik przez 2. W razie potrzeby dostosuje on wynik.
ffmpeg -i input.avi -vf scale=-2:480 output.mp4
-vf "scale=trunc(oh*a/2)*2:480"