/ / ffmpeg kodowanie z VP8 produkujące źle wyglądające wideo - wideo, ffmpeg

Kodowanie ffmpeg z VP8 produkujące źle wyglądające wideo - wideo, ffmpeg

Pracuję nad programem czasu, który się powołujeffmpeg via system () do kodowania wideo z sekwencji JPG. Użytkownik może wybrać kilka opcji, w tym kodeka kompresji. Otrzymuję bardzo dobre wyniki, gdy używam libx264 i enkodera mjpeg. Dostaję to i tak się dzieje z VP9, ​​i dostaję jakieś okropne wyniki z VP8.

Wzywam ffmpeg w następujący sposób: ffmpeg.exe -framerate 12 -i "./output/img_%05d.jpg" -dst_range 1 -color_range 2 -c: v libvpx -b: v 0 -threads 8 -speed 2 -crf 8 "./output/video.webm"

Przesłałem próbkę do youtube: https://www.youtube.com/watch?v=eG2jxzR3Uxs (widzisz naprawdę złe klatki po znaku 9 sekund.

Każdy pomysł, co robię źle?

Odpowiedzi:

3 dla odpowiedzi № 1

Nawet z CRF (zobacz także libvpx wiki), nadal zaleca się stosowanie 2-przebiegkodowanie w celu uzyskania najlepszych wyników. The 1-pass (którego używasz tutaj) zazwyczaj daje całkiem słabe wyniki z libvpx. Wiem, że to nie jest typowe, CRF nie powinien być dotknięty przez multi-pass, ale niestety libvpx jest trochę "inny" w tym względzie. Inne kodery będą działały dobrze z 1-przebiegowym CRF.

Zauważ też, że chociaż indeksy CRF totak samo, niekoniecznie wybierasz ten sam efektywny kwantyzator lub uzyskujesz w przybliżeniu taki sam przepływność, więc fakt, że jeden koder lub kod daje lepsze wyniki niż inne bez uwzględnienia efektywnej przepływności, nie jest bardzo użyteczny w "zazwyczaj analizuje jakość jako funkcję przepływności.

Można to nieco poprawić za pomocą VBR, alenawet wtedy rzeczywista szybkość transmisji może być dość daleka od docelowej przepływności, jeśli sterowanie prędkością / celowanie jest słabe, więc nadal musisz przyjrzeć się faktycznej przepływności, a nie tylko docelowej przepływności.