我想做一个jpg背景,把本地时间放在屏幕上,然后直播到udp上,这样其他应用程序就可以收到这个,下面的命令已经尝试过了:
ffmpeg -loop 1 -i background.jpg -vcodec libx264 -preset ultrafast -r 30 -vf drawtext="fontsize=120:fontfile=FreeSerif.ttf:rate=25:text=%{localtime\}:x=(w-text_w)/2:y=(h-text_h)/2:box=1: boxcolor=white@0.75" -f mpegts udp://127.0.0.1:20000
它看起来还可以,但当我通过mpv或vlc mpv udp://127.0.0.1:20000
尝试结果时
屏幕上的时间显示很慢,出什么问题了?
发布于 2020-08-25 14:47:19
FFmpeg的目标是尽可能快地处理媒体,因此打印的时间戳对应于应用drawtext过滤器的时间。
您可以使用实时过滤器来限制处理速度。
ffmpeg -loop 1 -i background.jpg -vcodec libx264 -preset ultrafast -r 30 -vf realtime,drawtext="fontsize=120:fontfile=FreeSerif.ttf:rate=25:text=%{localtime\}:x=(w-text_w)/2:y=(h-text_h)/2:box=1: boxcolor=white@0.75" -f mpegts udp://127.0.0.1:20000
https://stackoverflow.com/questions/63572523
复制相似问题