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 小时前
音视频图片压缩
音视频
日取其半万世不竭2 小时前
PeerTube 部署指南:自建视频托管平台
云原生·eureka·音视频
luoqice3 小时前
FLV文件解析
音视频
byte轻骑兵5 小时前
【AVRCP】规范精讲[10]:链路管理器LM互操作规则与场景落地
人工智能·音视频·蓝牙·avrcp·音视频控制
luoqice5 小时前
RTMP视频流的帧格式分析
网络·ffmpeg
JK Chen5 小时前
faster_whisper,视频转文字,并生成字幕文件
python·whisper·音视频
老姚---老姚1 天前
编译支持HEVC/H.265 over RTMP / Enhanced RTMP 的 ffmpeg
ffmpeg·h.265·hevc·rtmp·enhanced
Prannt1 天前
星朗智能语音——语音合成——上传文件配音
ai·音视频·语音识别
byte轻骑兵1 天前
【AVRCP】规范精讲[7]: 打通AVCTP互操作底层,吃透事务标签与分片规则
人工智能·音视频·avrcp·音视频控制
EasyGBS1 天前
国标GB28181视频平台EasyGBS即将重磅新增WHIP推流功能!低延迟直播体验再升级
音视频