如何解决将多个ffmpeg命令合并为一个
我正在尝试使工作中的某些步骤自动化。我的任务是在讲座视频的开头添加免责声明,在讲座视频的开头和结尾几秒钟(带有淡入和淡出)将其修剪几下,并在讲座视频的顶部添加徽标。我可以做到这一点,但不幸的是,只能在单独的步骤中进行。我要实现的是用一个命令完成所有步骤。
我能够组合一些命令,但不能将其中的一个与后面的命令合并。
我不知道我是否期望FFmpeg太多。
提前感谢您的任何建议。
这是我的代码:
创建带有淡入和淡出的免责声明
ffmpeg -i media/disclaimer.jpg -filter_complex "[0:v]fps=fps=30,loop=loop=450:size=30:start=0[v0];[v0]fade=t=in:st=0:d=1,fade=t=out:st=14:d=1" disclaimer.mp4
在免责声明中添加空的音轨
ffmpeg -i disclaimer.mp4 -f lavfi -i aevalsrc=0 -shortest -y disclaimer_final.mp4
在演讲视频中添加徽标
ffmpeg -i lecture.mp4 -i logo.png -filter_complex "overlay=0:0" lecture_logo.mp4
特里姆演讲视频
ffmpeg -ss 00:00:05 -i lecture_logo.mp4 -to 00:45:32 -async 1 lecture_out.mp4
为讲座视频添加淡入淡出
ffmpeg -i lecture_out.mp4 -filter_complex "[0:v]fade=t=in:st=0:d=2,fade=t=out:st=2730:d=2;[0:a]afade=t=in:st=0:d=2,afade=t=out:st=2730:d=2" lecture_final.mp4
最后连接免责声明和演讲视频
ffmpeg -i disclaimer_final.mp4 -i lecture_final.mp4 -filter_complex "[0:v][0:a][1:v][1:a] concat=n=2:v=1:a=1 [outv] [outa]" -map "[outv]" -map "[outa]" final.mp4
解决方法
我已经解决了,但不得不妥协。与其像前两步所示那样生成免责声明并添加虚拟音频轨道,我将使用其mp4输出。其余四个步骤已合并到以下命令:
db.test.find({},{'date':1}).sort({'_id': -1}).limit(1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。