Mam wideo w formacie Apple ProRes 422, który planuję zakodować do Google VP9 w celu opublikowania w Internecie. Źródłem jest:
Stream #0:0(und): Video: prores (apcn / 0x6E637061), yuv422p10le(bt709), 1920x1080, 114644 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 24k tbn, 24k tbc (default)
Moim celem jest zakodowanie go do VP9 z najlepszą możliwą (rozsądną) jakością, prawie nie do odróżnienia od oryginału. Rozmiar pliku wynikowego nie ma znaczenia. Teraz używam następujących elementów, ale wideo w Chrome wygląda źle:
ffmpeg -i Source.mov -c:v libvpx-vp9 -b:v 4M -pix_fmt yuv420p -speed 4 -frame-parallel 0 -threads 2 -c:a libopus -b:a 320K Result.webm
Próbowałem się zwiększyć -b:v 4M
ustawienie, rozmiar wzrasta, ale jakość nie. Próbowałem też ten przewodnik , ale prawdopodobnie jest przestarzały i nie mogę uzyskać żadnego satysfakcjonującego wyniku. Przy okazji, mam najnowsze ffmpeg
skompilowany ze źródła.
Który ffmpeg
ustawień powinienem użyć?
google-chrome
video
ffmpeg
video-encoding
vp9
TranslucentCloud
źródło
źródło
libvpx-dev
jest z Testowanie Debiana repozytorium, które jest teraz w wersji 1.5.0-2.Odpowiedzi:
Wykonujesz kodowanie 1-pass w prędkości 4, które są szybkimi parametrami, ale dalekie od optymalnej jakości.
Przewodnik wydaje się dobry, wypróbowałeś jego 2-przebiegowe lub stałe / ograniczone ustawienia jakości? Oczywiście nie zachowuj przykładu 1000 bitrate.
źródło
Dobra, po kilku eksperymentach znalazłem, że przewodnik, o którym wspomniałem w pytaniu, jest całkiem przydatny. Odniosłem sukces z instrukcjami od Zalecane ustawienia stałej jakości sekcji, a co trzeba było dostroić, to
-crf
oprawa.Po wielu testach skończyłem z
-crf 23
ustawienie, z którym wynikwebm
plik jest bardzo dobrej jakości w porównaniu z oryginałem.Dokładny
ffmpeg
polecenia to:Pierwsze podanie:
Drugie podanie:
Z jakiegoś powodu pierwsze przejście nie wykorzystuje wszystkich rdzeni procesora (2 w moim przypadku), pomimo
-threads 2
opcja, jednak druga używa ich wszystkich.źródło