通过HTTP协议获取VLC视频帧

4

有没有办法通过HTTP以jpeg/png格式访问VLC正在播放的电影。

你看,我想要的是,在我的本地VLC播放器中播放一部电影,并通过类似于http://localhost:9999/current.jpg的方式访问当前正在播放的帧。

有这样的方法吗?或者还有其他工具可以提供它吗?

非常感谢

2个回答

5

您需要使用vlc的mjpg输出模块。

这个命令对我有效:

vlc.exe --sout="#transcode{acodec=none,vcodec=mjpg,vb=512}:duplicate{dst=std{access=http{mime=multipart/x-mixed-replace;boundary=--7b3cc56e5f51db803f790dad720ed50a},mux=mpjpeg,dst=0.0.0.0:8080/image.jpg},dst=display}" movie.avi

然后,在任何网页上(适用于Chrome/Firefox)。
<img src="http://127.0.0.1:8080/image.jpg" width="320" height="240"/>

或者直接使用 VLC 播放器 http://127.0.0.1:8080/image.jpg

希望这能帮到你。


非常感谢,这是一个很好的提示。它与我最初想要的有点不同。你看,我需要返回单个帧,带有jpeg的mimetype,而不是motion jpeg。结果我希望能够通过vlc返回单个jpeg图像,并手动按刷新按钮获取当前帧。再次感谢您的帮助。 - tzador
也许调整这些设置会起作用。您还可以在指定的时间间隔内生成一些快照。请参阅http://wiki.videolan.org/How_to_create_thumbnails - jujule

0

如果在mjpg流中遇到延迟,您可以按以下方式取消实时查看:

:sout=#transcode{vcodec=MJPG,vb=512}:std{access=http{mime=multipart/x-mixed-replace;boundary=--7b3cc56e5f51db803f790dad720ed50a},mux=mpjpeg,dst=0.0.0.0:8080/image.jpg,delay=0}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接