ffmpeg合并视频

1.查看ffmpeg支持那些过滤器

ffmpeg -filters

要查看是否支持转场的过滤器的命令

ffmpeg -filters | grep xfade

xfade命令是ffmpeg5版本才有的功能

2.合并视频并在视频之间添加转场效果

a.合并两个视频

ffmpeg -i https://qiniu.heyincloud.cn/creator/mix_cut/coffee/ba1h9c002.mp4 -i https://qiniu.heyincloud.cn/creator/mix_cut/coffee/ba1h9c002.mp4 -filter_complex "01xfade=transition=slideleft:duration=1:offset=4,format=yuv420pvideo" -map "video" -preset faster -y hello3.mp4

b.合并三个视频

ffmpeg -i https://qiniu.heyincloud.cn/creator/mix_cut/coffee/ba1h9c002.mp4 -i https://qiniu.heyincloud.cn/creator/mix_cut/coffee/ba1h9c002.mp4 -i https://qiniu.heyincloud.cn/creator/mix_cut/coffee/ba1h9c003.mp4 -filter_complex "01xfade=transition=slideleft:duration=1:offset=4v1;v12xfade=transition=slideright:duration=1:offset=8,format=yuv420pvideo" -map "video" -preset faster -y hello4.mp4

centos默认的ffmpeg版本比较旧,不支持xfade转场效果,要升级到版本5以上才行

最后发现源码编译太麻烦,不是缺少哪个库,就是缺少依赖,踩了好几个坑。最后还是用docker简单粗暴。

最终部署docker容器的命令

先拉取docker pull jrottenberg/ffmpeg:5.1-alpine

然后运行容器

docker run -itd --name app_ffmpeg -p 8066:8080 -v /usr/share/fonts:/usr/share/fonts --entrypoint='/bin/ash' jrottenberg/ffmpeg:5.1-alpine

进行容器更新字体缓存

docker exec -it app_ffmpeg /bin/ash

fc-cache -f -v

然后退出容器

测试命令

docker exec app_ffmpeg ffmpeg -version

相关推荐
5G微创业17 分钟前
Python / Node.js 调用短视频去水印 API 完整示例(含 SDK)
python·node.js·音视频·api·sdk·短视频
Yeauty31 分钟前
用 Whisper 转录前,你不用再离开 Rust
开发语言·rust·ffmpeg·音视频·视频
墨染天姬11 小时前
[V2X]音频数据流图
音视频
byte轻骑兵21 小时前
【AVDTP】规范精讲[6]: 打通全流程,蓝牙音频连接背后的12步信令博弈
人工智能·音视频·avrcp·蓝牙耳机·蓝牙车机
qq3621967051 天前
# 视频转文字准确率如何提升?影响识别质量的 6 个关键因素与优化技巧
音视频
不爱记笔记1 天前
音视频转笔记工具横评2026,通义听悟、Ai好记、NotebookLM 实测对比
人工智能·笔记·ai·音视频·飞书·obsidian
中微极客1 天前
Seedance 2.5深度解析:字节跳动30秒4K视频生成模型架构与API实战
音视频
SimpleLearingAI1 天前
生成图像/视频质量评估
音视频·多模态大模型
hz567891 天前
音视频技术SDK选型指南:企业实时互动场景的关键能力解析
网络·云计算·音视频·实时音视频·信息与通信
paokuflying1 天前
ffmpeg提取视频中的音频
ffmpeg·音视频