gpt4 book ai didi

ffmpeg - 使用ffplay时,如何消除视频过滤器中时间戳显示的毫秒数

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

因此,当指定视频过滤器以在“hms”布局中显示当前视频时间时,过滤器会在秒字段之后附加一个毫秒值。
我想消除毫秒部分。
到目前为止,我调用的 cmd 看起来像:

ffplay myfile.mp4 -vf "drawtext=text='%{pts \: hms}':fontsize=20:fontcolor=white: box=1: boxcolor=black"
即,而不是: 00:00:01.001 我只想显示 00:00:01。
[有人可能认为前者会存在一个'hmsm',
'hms' 将是后者,但它只是不那样工作。](叹气)

最佳答案

根据the documentation :

hms stands for a formatted [-]HH:MM:SS.mmm timestamp with millisecond accuracy.


而且没有办法自定义这种时间戳格式。至少对于 hms 来说不是。格式。
相同的文档:

If the format is set to localtime or gmtime, a third argument may be supplied: a strftime() format string. By default, YYYY-MM-DD HH:MM:SS format will be used.


所以 text='%{pts\:gmtime}'没有任何额外的参数提出 1970-01-01 00:00:00 ( Unix epoch)。
把它放出来 00:00:00将第二个参数设置为 0第三个到 %H:%M:%S .
作为 pts函数最多可以使用 3 个参数,请确保在 Windows 上转义冒号两次,在 Unix 上转义三次以防止 %M%S从被解释为可能的第四或第五个论点。
window :
ffplay -vf "drawtext=text='%{pts\:gmtime\:0\:%H\\\:%M\\\:%S}':x=1:y=1:fontsize=20:fontcolor=white:box=1:boxcolor=black:boxborderw=2" myfile.mp4
Unix:
ffplay -vf "drawtext=text='%{pts\:gmtime\:0\:%H\\\\\:%M\\\\\:%S}':x=1:y=1:fontsize=20:fontcolor=white:box=1:boxcolor=black:boxborderw=2" myfile.mp4
与您的初始命令相比,我还添加了 :x=1:y=1:boxborderw=2 .它在文本周围添加了一个小边框,并将文本很好地居中。
这当然是口味问题。如果你不喜欢它,你可以删除它。

关于ffmpeg - 使用ffplay时,如何消除视频过滤器中时间戳显示的毫秒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67359117/

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