我正在尝试从RTP流中捕获多个图像,以便制作延时视频,我希望这些图像在屏幕上显示时间标签。我一直在使用这个命令:
vlc.exe rtsp://192.168.1.49/live/main --video-filter=scene --marq-marquee=Time:%H:%M:%S --marq-position=9 --sub-filter=marq --scene-prefix=Timelapse- --scene-format=jpg --scene-path="c:Timelapse" --scene-ratio 200 --sout-x264-lookahead=10 --sout-x264-tune=stillimage --run-time 43200
我可以在VLC界面中看到时间标签,但当图像被保存时,它们不会显示这个字幕。
有什么建议吗?
提前感谢
可能为时已晚,但我花了很长时间才找到解决方案:
这是加载模块marq并随时间添加叠加的一部分:
--sub-filter=marq --marq-marquee='%Y-%m-%d %H:%M:%S' --marq-color=32768 --marq-position=20 --marq-opacity=25 --marq-refresh=-1 --marq-size=15
您还需要添加模块来进行代码转换:
#转码{vcodec=h264,vb=2000,acodec=mpga,ab=128,通道=2,采样率=44100,sfilter=marq}:重复{dst=http{dst=:8080/stream.wmv},dst=file{dst=current.mp4,无覆盖}}'
这是我的完整代码:
cvlc v4l2:///dev/video0 --quiet-synchro --no-osd --sub-filter=marq --marq-marquee='%Y-%m-%d %H:%M:%S' --marq-color=32768 --marq-position=20 --marq-opacity=25 --marq-refresh=-1 --marq-size=15 :v4l2-standard= :input-slave=alsa://hw:0,0 :live-caching=200 :sout='#transcode{vcodec=h264,vb=2000,acodec=mpga,ab=128,channels=2,samplerate=44100,sfilter=marq}:duplicate{dst=http{dst=:8080/stream.wmv},dst=file{dst=stream.mp4,no-overwrite}}' :sout-keep
通过http的Vlc流,并录制带有时间戳覆盖的视频fo文件。
希望它能帮助其他正在寻找方法的人。