如何使用VLC流媒体服务器在HTML5中获取MJPG帧?

时间:2014-01-09 09:46:00

标签: javascript html5 vlc mjpeg

我有VLC streming服务器,我开始使用两个流:

vlc -vvv -d http://*camera_adress* --sout '#transcode{vcodec=theo,vb=800,acodec=vorb,ab=128}:standard{access=http,mux=ogg,dst=*server_name*:20000}'
vlc -vvv -d http://*camera_adress* --sout '#standard{access=http,mux=mpjpeg,dst=*server_name*:21000}'

1)带有HTML5的Ogg工作正常,我从视频标签接收流。

2)Mjpg在手机上工作正常,但我不知道如何在html5中获取MJPG帧。我尝试使用http://wiki.ros.org/mjpegcanvasjs/Tutorials/CreatingASingleStreamCanvas中的JavaScript,但它不起作用。 VLC Media Player接收流,因此这不是服务器或流问题。

任何帮助?

2 个答案:

答案 0 :(得分:3)

好的,我明白了。最好像这样开始流:

vlc -d -vvv http://camera_ip/mjpg/video.mjpg --no-audio --sout '#transcode{vcodec=MJPG,venc=ffmpeg{strict=1}}:standard{access=http{mime=multipart/x-mixed-replace;boundary=--7b3cc56e5f51db803f790dad720ed50a},mux=mpjpeg,dst=server_name:port}' &

然后你可以使用简单的标签

将此流作为HTML5中的普通jpg
<img src>

答案 1 :(得分:0)

可接受的答案仍然可以,但是今天,如果输出文件名的扩展名为mpjpeg,则不再需要手动进行MIME类型规范:

vlc -I dummy "file.mp4" --no-audio --sout=#transcode{vcodec=MJPG,height=720,fps=4,vb=800}:http{mux=mpjpeg,dst=:8080/video.mpjpeg}