/ / Bezstratnie koduj ramki png na webm z ffmpeg - encoding, ffmpeg, png, webm

Bezstratnie koduj ramki png na webm z ffmpeg - encoding, ffmpeg, png, webm

Muszę przekonwertować katalog klatek na webm bez absolutnie żadnej kompresji obrazu, tylko surowe obrazy do klatek. Korzystając z wersji ffmpeg N-82889-g54931fd, właśnie na tym teraz jestem.

ffmpeg -framerate 30 -f image2 -i frames/%02d.png -pix_fmt yuva420p -crf 0 output.webm

Flaga crf 0 miała być odpowiedzią, alewyjście jest nadal pełne kompresji i artefaktów. Czy istnieje możliwość, aby każda klatka była tak blisko jak to możliwe identyczna z ramką obrazu png?

Odpowiedzi:

2 dla odpowiedzi № 1

VP8, domyślny koder dla WebM, nie ma trybu bezstratnego. Użyj VP9.

ffmpeg -framerate 30 -i frames/%02d.png -c:v libvpx-vp9 -pix_fmt yuva420p -lossless 1 out.webm

Zauważ, że ze względu na konwersję formatu pikseli (RGB -> YUV), wynik nie będzie idealnie bezstratny, ponieważ przy dekodowaniu z powrotem do RGB wystąpią pewne błędy zaokrąglania.