FFMPEG使用alpha通道将.avi / .mov编码为.3g2(保留alpha)

时间:2016-10-31 02:07:23

标签: ffmpeg converter alpha

我想用FFMPEG将我的32位视频(.avi或.mov)RGB + A转换为.3g2格式,并保留Alpha通道。

它应该是那样的

ffmpeg -i C:\Users\naldo\Desktop\test.avi  -vcodec libx264 -acodec libfaac -ab 48k -ar 22050 -ac 2 C:\Users\naldo\Desktop\test.alpha.3g2

但它不起作用。 有任何想法吗 ? 谢谢!

2 个答案:

答案 0 :(得分:1)

H.264,您选择的编解码器,不支持alpha。 H.263也不是3GP的默认编解码器。

修改:根据支持论坛上的更多信息given和参考file,这里是alpha堆叠方法的答案。

参考视频中没有Alpha通道。在那里做了什么,alpha流与颜色通道形成的图像堆叠在一起,处理应用程序使用图像的后半部分作为合成密钥。

为此,请使用:

ffmpeg -i in.mov -filter_complex "[0]transpose=2,split[v][va];[va]alphaextract[a];[v][a]hstack" -c:v libx264 out.3g2

根据参考文件,视频首先以90度CCW旋转。请注意,该引用使用H.263,而ffmpeg的编码器仅支持某些预设大小。对于H.264没有这样的限制,这在我的命令中使用。

要根据评论中命令的设置进行编码,请使用

ffmpeg -i in.mov -filter_complex "[0]transpose=2,split[v][va];[va]alphaextract[a];[v][a]hstack,scale=640x360,setdar=18/16" -c:v mpeg4 -vb 400k -r 20 -c:a aac -ar 22050 out.alpha.3g2

答案 1 :(得分:0)

QuickTime支持alpha和WebM。

ffmpeg -i image%04d.png output.webm