使用ffmpeg将png帧无损编码为webm

Losslessly encode png frames to webm with ffmpeg

我需要将框架目录转换为 webm,完全没有图像压缩,只是原始图像到框架。使用 ffmpeg 版本 N-82889-g54931fd,这就是我现在的情况。

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

crf 0 标志被告知是答案,但输出仍然充满压缩和瑕疵。是否可以选择使每个帧与其对应的 png 图像帧尽可能接近相同?

VP8,WebM 的默认编码器,没有无损模式。使用 VP9.

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

请注意,由于像素格式转换(RGB -> YUV),输出不会完全无损,因为解码回 RGB 时会出现一些舍入误差。