我有一个提供实时RTSP视频流的IP摄像机。我可以使用VLC媒体播放器通过提供URL来查看画面。
rtsp://cameraipaddress
但我需要在一个网页上显示这个视频。摄像机供应商提供了一个ActiveX控件,我让它工作,但它真的有问题,导致浏览器经常挂起。
有谁知道我可以使用任何支持RTSP的替代视频插件吗?
摄像机可以被配置为H264或MPEG4格式的流媒体。
VLC还配有一个ActiveX插件,可以在网页中显示饲料。
http://wiki.videolan.org/ActiveX/HTML
<OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab"
width="640" height="480" id="vlc" events="True">
<param name="Src" value="rtsp://cameraipaddress" />
<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" width="640" height="480"
target="rtsp://cameraipaddress" ></embed>
</OBJECT>
大致上,你可以有3种选择来在网页上显示RTSP视频流。
1.Realplayer 2.Quicktime播放器 3.VLC播放器
你可以通过谷歌搜索找到嵌入ActiveX的代码。
据我所知,每个播放器都有一些限制。
1.Realplayer不支持H.264视频,你必须为Realplayer安装一个quicktime插件来实现H.264解码。 2.Quicktime播放器不支持RTP/AVP/TCP传输,而且它的RTP/AVP(UDP)传输不包括NAT打孔。因此,唯一可行的传输是广域网部署中的HTTP隧道。 3.VLC既不支持RTP/AVP传输的NAT打洞,但RTP/AVP/TCP传输是可用的。
试试QuickTime Player!这里是我的JavaScript,它在网页上生成嵌入式对象并播放流。
//SET THE RTSP STREAM ADDRESS HERE
var address = "rtsp://192.168.0.101/mpeg4/1/media.3gp";
var output = '<object width="640" height="480" id="qt" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab">';
output += '<param name="src" value="'+adsress+'">';
output += '<param name="autoplay" value="true">';
output += '<param name="controller" value="false">';
output += '<embed id="plejer" name="plejer" src="/poster.mov" bgcolor="000000" width="640" height="480" scale="ASPECT" qtsrc="'+address+'" kioskmode="true" showlogo=false" autoplay="true" controller="false" pluginspage="http://www.apple.com/quicktime/download/">';
output += '</embed></object>';
//SET THE DIV'S ID HERE
document.getElementById("the_div_that_will_hold_the_player_object").innerHTML = output;