使用ffplay时,如何从视频过滤器中的时间戳显示中消除毫秒
When using ffplay, how to eliminate milliseconds from timestamp display in the video-filter
因此,当指定视频过滤器在 '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' 会是后者,但它只是行不通。](叹息)
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
不被解释为可能的第 4 个或第 5 个参数。
Windows:
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
。它在文本周围添加了一个小边框并将文本很好地居中放置。
这当然是品味问题。不喜欢可以删除
因此,当指定视频过滤器在 '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' 会是后者,但它只是行不通。](叹息)
hms
stands for a formatted [-]HH:MM:SS.mmm timestamp with millisecond accuracy.
并且无法自定义此时间戳格式。至少不是 hms
格式。
相同的文档:
If the format is set to
localtime
orgmtime
, 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
不被解释为可能的第 4 个或第 5 个参数。
Windows:
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
。它在文本周围添加了一个小边框并将文本很好地居中放置。
这当然是品味问题。不喜欢可以删除