【发布时间】:2016-03-24 19:17:56
【问题描述】:
我在转义“:”符号并以 hms(HH:MM:SS) 格式显示本地时间以覆盖实时输入 (MPEG-TS) 时遇到问题,然后将其作为实时输出推出 - 我已经我摸索着以某种格式显示“localtime”的方法可以达到我想要达到的一半,其代码示例是:
ffmpeg -re -hide_banner -i LIVE_INPUT -vf drawtext="fontsize=90:fontcolor=white:fontfile=/Windows/Fonts/arial.ttf:text='%{localtime\:%H %M %S}'" -f LIVE_OUTPUT
它实现的是以“HH MM SS”格式而不是“HH:MM:SS”格式显示本地时间...
我确实尝试过这样写来转义“:”:
ffmpeg -re -hide_banner -i LIVE_INPUT -vf drawtext="fontsize=90:fontcolor=white:fontfile=/Windows/Fonts/arial.ttf:text='%{localtime\:%H\\:%M\\:%S}'" -f LIVE_OUTPUT
还有这个:
ffmpeg -re -hide_banner -i LIVE_INPUT -vf drawtext="fontsize=90:fontcolor=white:fontfile=/Windows/Fonts/arial.ttf:text='%{localtime\:%H\:%M\:%S}'" -f LIVE_OUTPUT
还有这样的:
ffmpeg -re -hide_banner -i LIVE_INPUT -vf drawtext="fontsize=90:fontcolor=white:fontfile=/Windows/Fonts/arial.ttf:text='%{localtime\:%H \: %M \: %S}'" -f LIVE_OUTPUT
但是以上都没有帮助,因为它返回不同的错误,因为 ffmpeg 尝试将 '%H' '%M' 和 '%S' 解析为本地时间的多个单独参数(本地时间然后抱怨它只能接受 x1最多参数),或者ffmpeg抱怨“H”附近有松散的'%'字符......显然我没有正确转义它或者我的参数顺序不正确......
【问题讨论】:
-
任何人都在寻找有关如何显示时间码或经过时间的答案,这就是您正在寻找的答案:Display Timecode and/or Elapsed time in a overlay text
-
在这里找到了一些提示:stackoverflow.com/a/19810519/2855434 ... 当这样写时: ffmpeg -re -hide_banner -i LIVE_INPUT -vf drawtext="expansion=none:fontsize=90:fontcolor=white: fontfile=/Windows/Fonts/arial.ttf:text='%{localtime\:%H\:%M\:%S}'" -f LIVE_OUTPUT 我最终显示 '%{localtime:%H:%M: %S'
标签: ffmpeg