小编apd*_*dnu的帖子

使用 ffmpeg 将 png 序列转换为 x264

我正在尝试将一系列 png 转换为 mp4 视频。我正在使用 ffmpeg,并希望使用 H.264 编解码器对视频进行编码。使用命令

ffmpeg -y -r 30 -b 1800k -i _tmp%04d.png -vcodec libx264 out.mp4
Run Code Online (Sandbox Code Playgroud)

我收到以下警告消息

Incompatible pixel format 'bgra' for codec 'libx264', auto-selecting format 'yuv420p'
Run Code Online (Sandbox Code Playgroud)

我的理解是 png 中有一个 alpha 通道,x264 编码器无法处理。有没有办法解决这个问题?例如,有没有办法让编码器忽略 alpha 通道(我的 png 实际上没有任何透明元素)?

我知道我可以预先批量转换 png 以去除 alpha 通道,但是图像序列是由另一个程序生成的,并且每次制作视频时都必须预处理图像将不是最佳选择。

编辑:使用命令从每一帧中剥离 alpha 通道后

convert in.png -background white -flatten +matte out.png
Run Code Online (Sandbox Code Playgroud)

ffmpeg 给出警告信息

Incompatible pixel format 'pal8' for codec 'libx264', auto-selecting format 'yuv420p'
Run Code Online (Sandbox Code Playgroud)

所以仍然没有骰子。

png ffmpeg x264

6
推荐指数
1
解决办法
2699
查看次数

标签 统计

ffmpeg ×1

png ×1

x264 ×1