【问题标题】:Draw time of the current frame in seconds with just 2 digits after point当前帧的绘制时间(以秒为单位),点后仅 2 位
【发布时间】:2021-02-16 08:40:29
【问题描述】:

我找不到以秒为单位绘制当前帧时间的方法,点后只有 2 位数字。 我尝试了“drawtext”,它做得很好,但是它给出了或 int 秒,或者用许多数字浮动 =(

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    在drawtext中使用eif函数。这可用于计算表达式的值并将其打印为指定位数的整数。它在小时、分钟、秒和厘秒中分别使用一次。

    text='%{eif\:t/3600\:d\:2}\:%{eif\:mod(t/60\,60)\:d\:2}\:%{eif\:mod(t\,60)\:d\:2}\:%{eif\:100*mod(t\,1)\:d\:2}'

    【讨论】:

    • 谢谢,就像一个魅力:ffmpeg -i input.mp4 -vf drawtext="fontsize=60:fontcolor=yellow:text='%{eif\:mod(t\,60)\ :d\:2}\.%{eif\:100*mod(t\,1)\:d\:2}':x=(w-text_w):y=(h-text_h)" output.mp4
    猜你喜欢
    • 2020-01-12
    • 1970-01-01
    • 2010-10-02
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 2011-10-25
    相关资源
    最近更新 更多