ffv1:FFmpeg 视频编解码器 #1

ffv1:FFmpeg 视频编解码器 #1

假设我有一系列 PNG 图像文件,这些文件可能包含也可能不包含 Alpha 通道(假设那些包含 Alpha 通道的文件实际上会利用它)。虽然 PNG 文件本身具有自己的无损压缩,但我通常可以通过使用无损视频编解码器(例如 x264)来获得更小的文件大小。例如:

ffmpeg -framerate 60 -i out%04d.png -c:v libx264rgb -qp 0 out.mp4

与单独存储原始 PNG 文件相比,它为我节省了大量文件(视频文件 1.92GB vs 单独存储 4.51GB)。但是,我不认为它支持 alpha 通道,所以我不能总是使用这个编解码器。理想情况下,我可以找到一个在两种情况下(alpha 和无 alpha)都适用的编解码器。

您是否知道我可以使用的其他无损编解码器,它可以节省类似的空间,同时仍支持 alpha 通道?如果您这样做了但它不是完全无损的,我也愿意考虑近乎无损的替代方案。

答案1

ffv1:FFmpeg 视频编解码器 #1

这种格式正在成为档案界的标准。无损并支持 RGB 和变体 + alpha:

ffmpeg -h encoder=ffv1
[...]
Supported pixel formats: yuv420p yuva420p yuva422p yuv444p yuva444p yuv440p yuv422p yuv411p yuv410p bgr0 *bgra* yuv420p16le yuv422p16le yuv444p16le yuv444p9le yuv422p9le yuv420p9le yuv420p10le yuv422p10le yuv444p10le yuv420p12le yuv422p12le yuv444p12le yuva444p16le yuva422p16le yuva420p16le yuva444p10le yuva422p10le yuva420p10le yuva444p9le yuva422p9le yuva420p9le gray16le gray gbrp9le gbrp10le gbrp12le gbrp14le gbrap10le gbrap12le ya8 gray10le gray12le gbrp16le rgb48le gbrap16le rgba64le gray9le yuv420p14le yuv422p14le yuv444p14le yuv440p10le yuv440p12le

基本示例命令:

ffmpeg -framerate 60 -i out%04d.png -c:v ffv1 out.mkv

无需手动选择像素格式:它会自动选择最合适的格式。

FFmpeg 维基: FFv1了解更多信息。

qtrle:QuickTime 动画 (RLE) 视频

比 FFv1 更简单且更老,但可能受您的编辑软件支持。无损且支持 RGB + alpha:

ffmpeg -h encoder=qtrle
[...]
Supported pixel formats: rgb24 rgb555be *argb* gray

基本示例命令:

ffmpeg -framerate 60 -i out%04d.png -c:v qtrle out.mov

其他的

  • 优特视频
  • 哈夫尤夫

相关内容