首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >filter_complex列表太长了

filter_complex列表太长了
EN

Stack Overflow用户
提问于 2016-02-29 19:47:52
回答 1查看 724关注 0票数 2

假设我想在视频中覆盖一个时钟,使用特殊的字体、颜色等对30分钟长的视频进行叠加。我以指挥结束:

代码语言:javascript
运行
复制
ffmpeg -y -i in.mp4 -filter_complex "
[0:v]drawtext=fontfile=/var/www/sites/manage/elements/digital-7.ttf:text='00\:00':fontcolor=white@1.0:fontsize=26:x=100:y=65:enable='between(t,0,7)'[tmp];
[tmp]drawtext=fontfile=/var/www/sites/manage/elements/digital-7.ttf:text='00\:01':fontcolor=white@1.0:fontsize=26:x=100:y=65:enable='between(t,7,8)'[tmp]; 
[tmp]drawtext=fontfile=/var/www/sites/manage/elements/digital-7.ttf:text='00\:02':fontcolor=white@1.0:fontsize=26:x=100:y=65:enable='between(t,8,9)'[tmp]; 
[tmp]drawtext=fontfile=/var/www/sites/manage/elements/digital-7.ttf:text='00\:03':fontcolor=white@1.0:fontsize=26:x=100:y=65:enable='between(t,9,10)'[tmp]; 
[tmp]drawtext=fontfile=/var/www/sites/manage/elements/digital-7.ttf:text='00\:04':fontcolor=white@1.0:fontsize=26:x=100:y=65:enable='between(t,10,11)'[tmp];
......." 
-map "[tmp]" -map 0:a -acodec copy -c:v h264 out.mp4

这个时钟不是我唯一的覆盖,所以最后我有命令216 of长,但是由于参数列表太长,我甚至不能在bash中运行。

我只想对视频重新编码一次。我还有别的办法可以做到吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-01 14:07:41

使用

代码语言:javascript
运行
复制
ffmpeg -y -i in.mp4
-vf "drawtext=fontfile=/var/www/sites/manage/elements/digital-7.ttf: \
text='%{eif\:trunc((t-7)/60)\:d\:2}\:%{eif\:trunc(mod(t-7\,60))\:d\:2}': \
fontcolor=white@1.0:fontsize=26:x=100:y=65:enable='gte(t,7)'" \
-map "[tmp]" -map 0:a -acodec copy -c:v h264 out.mp4

其中t是seconds.milliseconds中过滤帧的时间戳,

7是TC显示器的理想start time

2是输出字段的宽度,即零填充。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35708308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档