我有问题逃避':'符号并以hms(HH:MM:SS)格式显示本地时间,用于覆盖实时输入(MPEG-TS),然后将其作为实时输出推出 - 我已经摸索着显示' { {3}}'以一种达到我试图达到目标的一半的格式,其代码示例如下:
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'%作为localtime的多个独立参数(localtime然后抱怨它最多只能接受x1参数),或者ffmpeg抱怨松散的'%'附近的字符" H" ......显然我没有正确地逃避它或我的论点顺序不正确......
答案 0 :(得分:4)
您显示HH:MM:SS的原始要求可以如下实现
ffmpeg -re -hide_banner -i LIVE_INPUT \
-vf drawtext="fontsize=90:fontcolor=white: \
fontfile=/Windows/Fonts/arial.ttf:text='%{localtime\:%X}'" \
-f LIVE_OUTPUT