将RTSP流式传输到HTML网站

时间:2017-03-04 16:39:09

标签: html5-video rtsp

我想将在RTSP中流式传输的IP摄像机显示到网页中。

我尝试了许多解决方案,例如使用VLC对流进行转码,但它们似乎都不足以创建真正的Web服务。 我正在考虑使用像flussonic或Red5这样的媒体服务器。但我不知道它是否会奏效。

这就是为什么我想知道在网页上显示RTSP流的最佳(和简单)解决方案。

3 个答案:

答案 0 :(得分:4)

<块引用>

...创建一个真正的网络服务。

过去两三天我一直在寻找答案(我需要尽可能多的浏览器支持,并且延迟尽可能低,所以 WebRTC 是要走的路(有什么更好的吗?) ),我终于找到了。

查看 this 存储库。

来自 repo 的自述文件 + 我必须采取的额外步骤(在 Ubuntu 18.04 上)才能完成这项工作:

  1. 安装 go

    $ sudo snap install go --classic

  2. 在您的本地设备上获取代码(有人能告诉我导出的目的是什么吗?)。

    $ export GO111MODULE=on

    $ go get github.com/deepch/RTSPtoWebRTC

  3. 这一步对我不起作用,所以我只是下载了 .zip 文件中的代码并将其解压缩到给定的目录中并继续。 (我错过了什么?在我创建之前 src 目录不存在)

    $ cd ~/go/src/github.com/deepch/RTSPtoWebRTC

  4. 从当前目录运行。

    $ go run .

  5. 然后我在网络浏览器下方打开了链接(我在 Chrome、iOS Safari 上进行了测试,但它也适用于 Firefox)。

    http://127.0.0.1:8083

这花了我很少的时间来实现。非常感谢制作这个的家伙。我发现的所有其他东西要么是 5 到 7 年的老东西,要么不能用,要么是非 WebRTC,要么是一种要求不合理金额的营销付费服务。

希望我回答了你的问题。

答案 1 :(得分:0)

尝试过&#34;插件&#34;

中建议的方式

How can I display an RTSP video stream in a web page?

&#34;转换&#34;

中建议的方式

https://www.npmjs.com/package/html5_rtsp_player

我终于找到了一个使用此插件的非常简单的解决方案,仅适用于Chrome,这对我的项目来说是好的。

https://www.videoexpertsgroup.com/vxg-chrome-plugin/

这就是html代码的样子

    <!DOCTYPE html>
    <html>
      <head>
      <title></title>
      <meta charset="utf-8" />
      <script type="text/javascript" src="/assets/vxgplayer-1.8.31/vxgplayer-1.8.31.min.js"></script>
      <link href="/assets/vxgplayer-1.8.31/vxgplayer-1.8.31.min.css" rel="stylesheet" />
    </head>
     <body>
       <div  class="vxgplayer"
       id="vxg_media_player1"
       width="640"
       height="480"
       url="rtsp://admin:admin@192.168.1.117/defaultPrimary0?streamtype=u"
       nmf-src="/assets/vxgplayer-1.8.31/pnacl/Release/media_player.nmf"
       nmf-path="media_player.nmf"
       useragent-prefix="MMP/3.0"
       latency="10000"
       autohide="2"
       volume="0.7"
       avsync
       autostart
       controls
       mute
       aspect-ratio
       aspect-ratio-mode="1"
       auto-reconnect
       connection-timeout="5000"
       connection-udp="0"
       custom-digital-zoom></div>
    </body>
    </html>

答案 2 :(得分:0)

You can integrate VLC library into your website and VLC will take care of everything you need for playing RTSP stream: https://wiki.videolan.org/index.php?title=HowTo_Integrate_VLC_plugin_in_your_webpage&action=edit&oldid=19150