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

相关推荐
智能直播7 小时前
网络RTMP拉流不卡顿、声音不同步,一文讲透缓冲区、时间戳
开发语言·ffmpeg·php·音视频·视频编解码
晨间晓10 小时前
单目视频测速不准?我给 YOLO + ByteTrack 加了透视标定和鸟瞰图测速
yolo·音视频
码农小旋风14 小时前
Claude Opus 5.5把视频制作变成Agent工作流
音视频
lank_M14 小时前
WebCodecs解码竖拍视频变横的?四个浏览器实测
图像处理·人工智能·计算机视觉·音视频
小幂同学14 小时前
图片、视频和PDF太大,电脑上怎么压缩更合适?
pdf·音视频·zip·解压缩软件·zip解压缩
cuijiecheng201814 小时前
音频降混是什么?从5.1声道到双声道,一篇讲清楚
音视频
码流子15 小时前
高速场景视频接入:GB/T 28181 级联与 RTSP 取流,一条链路讲清楚
大数据·数据库·人工智能·物联网·音视频
海水冷却15 小时前
WebRTC 视频通话:从裸写信令到 30 分钟上线
音视频·webrtc
hz5678915 小时前
数据本地化音视频系统设计:数据存储、传输路径与访问权限管理
网络·安全·音视频·实时音视频·信息与通信
闭包不眠16 小时前
竖拍视频宽高显示1920×1080?两种存法怎么分辨
图像处理·人工智能·计算机视觉·音视频