0

我正在尝试从 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 界面中看到时间标签,但是当图像保存时,它们不会显示此选取框。

有什么建议吗?

提前致谢

4

1 回答 1

1

可能为时已晚,但我花了很长时间才找到解决方案:

这是加载模块 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

您还需要添加模块进行转码:

#transcode{vcodec=h264,vb=2000,acodec=mpga,ab=128,channels=2,samplerate=44100, sfilter=marq }:duplicate{dst=http{dst=:8080/stream.wmv},dst=文件{dst=stream.mp4,no-overwrite}}'

这是我的完整代码:

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

Vlc 通过 http 流式传输并使用时间戳覆盖录制视频 fo 文件。

希望它对正在寻找获取它的方法的其他人有所帮助。

于 2015-07-13T11:59:14.573 回答