流rtsp ip camera到网站

时间:2016-02-24 10:53:13

标签: javascript html video-streaming rtsp ip-camera

我的问题与在我的网站上使用rtsp流式传输ip cam有关。我所拥有的rtsp链接是这样的(出于显而易见的原因,我无法分享真实的链接)rtsp://test.ddns.net:4000 / profile2。

我尝试使用嵌入式代码在我的网站上显示它,但我找不到一个,或者没有在某些浏览器上工作或根本没有工作。所以我在这里询问是否有人遇到同样的问题以及如何让它在所有浏览器上运行,可能没有使用浏览器的插件。

P.S。我现在阅读了很多论坛,如果可能的话,我想在不使用wowza或其他服务的情况下实现这一目标。

我使用的一些代码示例:

<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
        codebase="http://www.apple.com/qtactivex/qtplugin.cab"
        width="640" height="496">
        <param name="src" value="sample-movie.qtl" />
        <param name="autoplay" value="true" />
        <param name="pluginspage" value="http://www.apple.com/quicktime/download/" />
        <param name="controller" value="true" />
        <!--[if !IE]> <-->
        <object data="sample-movie.qtl" width="640" height="496" type="video/quicktime">
            <param name="pluginurl" value="http://www.apple.com/quicktime/download/" />
            <param name="controller" value="true" />
        </object>
        <!--> <![endif]-->
    </object>

with sample-movie.qtl:

<?xml version="1.0"?>
<?quicktime type="application/x-quicktime-media-link"?>
<embed
autoplay="true"
fullscreen="full"
href="http://www.apple.com/quicktime/"
src="rtsp://test.ddns.net:4000/profile2"
/>

我也尝试过VLC代码:

<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>

但仍然没有适合所有浏览器的解决方案,vlc代码甚至不显示凸轮的图像。现在,部分工作的ony解决方案是quicktime,但只能在firefox上用于窗口和IE。

很抱歉很长的帖子,但我希望有人可以帮助我更好地了解流媒体和rtsp协议,希望能帮助我找到解决方案。

此致 亚历山大

2 个答案:

答案 0 :(得分:1)

2020更新-根据所需的延迟,您有两个主要选择:

  1. 10-30秒的延迟。使用一些接收RTSP流并将其转换为HLS的应用程序。 ffmpeg是一个明显的免费选择;大多数免费和商业媒体服务器也会这样做。

  2. 近实时:低于1秒的延迟:使用WebRTC,您有两种方法:

    • 安装将RTSP转换为WebRTC的本地媒体服务器软件: 免费和商业选择;尝试使用Ant Media Server,Unreal Media Server和Kurento。
    • 使用Millicast或Phenix等WebRTC云。

答案 1 :(得分:0)

您需要将服务器端转换为更多浏览器支持的内容,例如MSE。使用wowza或red5进行转换可能是最简单的方法。