使用 ffmpeg 减少视频生成的 png 的位深度

使用 ffmpeg 减少视频生成的 png 的位深度

我正在使用 ffmpeg 从视频中提取 png 图像帧:

> ffmpeg -i video.mp4 frames%05d.png

生成的 png 图像深度为 24 位,对于我的目的来说太大了。我想使用 16 位或 8 位彩色图像,不带 alpha 通道。我检查了:

> ffmpeg -h encoder=png

返回:

(...)

Supported pixel formats: rgb24 rgba rgb48be rgba64be pal8 gray ya8 gray16be monob

(...)

我不熟悉 ya8,灰色 16be 不会是彩色。那么是否可以从 ffmpeg 转换中获取 8 位或 16 位 png?

答案1

使用 256 色调色板将会使您的输出更小。

ffmpeg -i video.mp4 -pix_fmt pal8 frames%05d.png

首先通过 256 色调色板的 24 位输出几乎同样小。

ffmpeg -i video.mp4 -vf format=pal8 -pix_fmt rgb24 frames%05d.png

相关内容