我正在使用 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