ffmpeg学习日记619-指令-透明通道视频相关指令
将单张png图片序列转换为透明视频
ffmpeg -i %d.png -vcodec qtrle movie_with_alpha.mov
ffmpeg -i %d.png -vcodec ffvhuff movie_with_alpha.avi
ffmpeg -i %d.png -vcodec huffyuv movie_with_alpha.avi
带alpha透明层的视频编码
png编码
可以封装为 mp4、mov等
ffmpeg -f image2 -r 25 -i input_%d.png -vf fps=25 -vcodec png output.mov -y
qtrle 编码
只能封装为mov,不可以封装为mp4
ffmpeg -i input.mov -vcodec qtrle output.mov
输入流编码信息:
Stream #0:0(eng): Video: qtrle (rle / 0x20656C72), bgra(progressive)
输出流编码信息:
Stream #0:0(eng): Video: qtrle (rle / 0x20656C72), argb
vp9 编码
只能封装为webm,argb数据转yuva420后编码
ffmpeg -i input.mov -vcodec vp9 output.webm -y
overlay带有透明通道的视频合成
ffmpeg -i in.mp4 -i x.mov -filter_complex "[0][1]overlay=alpha=1" -y output.mp4
新手学习FFmpeg - 通过API完成filter-complex功能
https://cloud.tencent.com/developer/article/1505973
FFmpeg filter的原理
使用ffmepg实现多路视频流合并
将带透明通道png文件和mp4文件合成,在指定时间显示
ffmpeg.exe -i 1672321032041-1.mp4 -i 20230317111818.png -filter_complex "[1:v]scale=600:800[logo];[0:v][logo]overlay=x=0:y=0:enable='between(t,5.04,10.08)'" output.mp4 -y