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
相关推荐
五味香15 分钟前
Java学习,List 元素替换
android·java·开发语言·python·学习·golang·kotlin
Clockwiseee2 小时前
docker学习
学习·docker·eureka
Everbrilliant892 小时前
GL C++显示相机YUV视频数据使用帧缓冲FBO后期处理,实现滤镜功能。
音视频·opengl图片水印·opengl文字水印·opengl帧缓冲·opengl离屏渲染(osr)·opengl fbo·opengl图像合成
lozhyf2 小时前
Go语言-学习一
开发语言·学习·golang
mascon2 小时前
U3D的.Net学习
学习
加德霍克3 小时前
【机器学习】使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测
人工智能·python·学习·机器学习·作业
漂亮_大男孩3 小时前
深度学习|表示学习|卷积神经网络|局部链接是什么?|06
深度学习·学习·cnn
l1x1n03 小时前
No.37 笔记 | Python面向对象编程学习笔记:探索代码世界的奇妙之旅
笔记·python·学习
骇客野人3 小时前
【人工智能】循环神经网络学习
人工智能·rnn·学习
Aurora Dream极光之梦3 小时前
CSRF漏洞学习总结
学习·安全·csrf