ffmpeg合并视频
2026/7/11 5:27:34 网站建设 项目流程

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 "[0][1]xfade=transition=slideleft:duration=1:offset=4,format=yuv420p[video]" -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 "[0][1]xfade=transition=slideleft:duration=1:offset=4[v1];[v1][2]xfade=transition=slideright:duration=1:offset=8,format=yuv420p[video]" -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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询