在HTML网站上嵌入RTSP视频流

时间:2015-09-22 05:01:52

标签: html vlc rtsp

我想将来自IP摄像头的视频流嵌入到网站中。 此流的URL如下所示:

rtsp://my.camera.com/axis-media/media.amp

如果我在VLC中打开流,它工作正常。 我试过用这里的东西,但没有什么工作: https://wiki.videolan.org/Documentation:WebPlugin

1 个答案:

答案 0 :(得分:1)

可以使用VLC或Quicktime完成,但您最有可能遇到的实际问题是Web浏览器已停止支持VLC和Quicktime插件。在撰写此回复时,只有Firefox仍支持此插件。 这也意味着您需要在PC上安装VLC或Quicktime(我收集的是因为它在VLC中发挥作用)。

立即尝试使用Firefox查看您的信息流是否有效。 如果它要求激活VLC / Quicktime插件,请单击允许或允许并记住。

使用VLC时,您网站上的HTML代码应该类似于:

<div id="cctv-container">
  <object classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab" id="vlc" events="True" width="640" height="480">
    <param name="Src" value="rtsp://my.camera.com/axis-media/media.amp"/>
    <param name="ShowDisplay" value="True"/>
    <param name="AutoLoop" value="False"/>
    <param name="AutoPlay" value="True"/>
    <embed id="vlcEmb" type="application/x-google-vlc-plugin" version="VideoLAN.VLCPlugin.2" autoplay="yes" loop="no" target="rtsp://my.camera.com/axis-media/media.amp" width="640" height="480"/>
  </object>
</div>

目前在Chrome或IE中流式传输的唯一方法是让VLC将RSTP流转码为HTML5支持的流。

以下是一个示例VLC命令:

vlc rtsp://my.camera.com/axis-media/media.amp :network-caching=1000 :sout=#transcode{vcodec=theo,vb=1600,scale=1,acodec=none}:http{mux=ogg,dst=:8181/stream} :no-sout-rtp-sap :no-sout-standard-sap :sout-keep

然后可以将新输出流嵌入HTML5垫片中:

显然,您可以根据需要更改端口或编码类型,例如

:http{mux=flv,dst=:1234/stream}