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
相关推荐
世人万千丶18 小时前
Flutter 框架跨平台鸿蒙开发 - 恐惧清单应用
学习·flutter·华为·开源·harmonyos·鸿蒙
yuzhuanhei18 小时前
Visual Studio 配置C++opencv
c++·学习·visual studio
此刻觐神19 小时前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习
憧憬从前19 小时前
算法学习记录DAY2
学习
babe小鑫19 小时前
会计岗位学习数据分析的价值分析
学习·数据挖掘·数据分析
千枫s19 小时前
电脑vm虚拟机kali linux安装shannon
学习·网络安全
zjnlswd19 小时前
tkinter学习案例--笔记代码
笔记·学习
咬_咬19 小时前
go语言学习(基本数据类型)
开发语言·学习·golang·数据类型
山甫aa19 小时前
List 容器 -----C++的stl学习
开发语言·c++·学习
无聊大侠hello world20 小时前
Yu-AI-Agent 项目(AI 恋爱大师智能体) · 学习笔记
人工智能·笔记·学习