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

相关推荐
简鹿视频2 小时前
mp4视频转换成avi格式攻略
ffmpeg·音视频·视频编解码·格式工厂
IT·小灰灰3 小时前
当AI开口说话:可灵视频2.6如何终结“默片时代“重塑视听共生
大数据·人工智能·python·深度学习·数据挖掘·开源·音视频
小尧嵌入式3 小时前
深入理解C/C++指针
java·c语言·开发语言·c++·qt·音视频
呆萌小新@渊洁3 小时前
Linux离线环境安装ffmpeg
linux·ffmpeg·php
番茄啊4 小时前
FFmpeg 使用RTSP服务器录屏并推流
ffmpeg
IT·小灰灰4 小时前
AI成为精确的执行导演:Runway Gen-4.5如何用控制美学重塑社媒视频工业
大数据·图像处理·人工智能·python·数据分析·音视频
xingqing87y4 小时前
视频后面声音慢慢变小怎么调
音视频
音视频牛哥4 小时前
具身智能时代的音视频架构重构:从延迟到多模态的技术挑战
人工智能·计算机视觉·音视频·具身智能·具身智能低延迟方案·智能机器人rtsp rtmp·rtsp、rtmp低延迟播放器
yong999017 小时前
基于MATLAB的帧间差分法视频目标检测实现
目标检测·matlab·音视频