gpt4 book ai didi

encoding - ffmpeg - filter_complex 列表太长

转载 作者:行者123 更新时间:2023-12-04 22:49:32 25 4
gpt4 key购买 nike

假设我想使用特殊字体、颜色等将视频中的时钟叠加到大约 30 分钟长的视频上。我最终得到命令:

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

这个时钟不是我唯一的覆盖,所以最后我得到了 216kB 长的命令,但是由于参数列表太长,我什至无法在 bash 中运行。

我只想重新编码视频一次。有没有其他方法可以做到这一点?

谢谢!

最佳答案

利用

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是过滤帧的时间戳,以秒为单位,毫秒,
7需要 start time TC显示,
2是输出字段宽度,即零填充。

关于encoding - ffmpeg - filter_complex 列表太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35708308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com