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 "[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

相关推荐
iWZXQxBO1 小时前
运动控制卡 倒R角程序 G代码 halcon联合运动控制卡联合相机 运动控制卡内容
音视频
woshikejiaih7 小时前
**播客听书与有声书区别解析2026指南,适配不同场景的音频
大数据·人工智能·python·音视频
浩瀚之水_csdn7 小时前
av_packet_alloc详解
ffmpeg
Mr数据杨7 小时前
【ComfyUI】AV-FunASR 音频转文本
音视频
凉辰11 小时前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
AI资源库11 小时前
Remotion 一个用 React 程序化制作视频的框架
人工智能·语言模型·音视频
永远都不秃头的程序员(互关)12 小时前
基于CANN的ops-signal仓库实现AIGC音频生成中的动态窗函数融合优化——从STFT预处理到端到端低延迟合成
aigc·音视频
薛定谔的猫喵喵12 小时前
基于PyQt5的视频答题竞赛系统设计与实现
开发语言·qt·音视频
byte轻骑兵13 小时前
从HCI报文透视LE Audio重连流程(3):音频流建立、同步与终止
音视频·蓝牙·le audio·cig/cis·广播音频
三十_A13 小时前
零基础通过 Vue 3 实现前端视频录制 —— 从原理到实战
前端·vue.js·音视频