将 RTSP 流式传输到 HTML 网站

Arn*_*ibu 7 rtsp html5-video

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

我尝试了很多解决方案,比如使用 VLC 对流进行转码,但它们似乎都不够可靠,无法创建真正的 Web 服务。我正在考虑使用一些媒体服务器,如 flussonic 或 Red5。但我不知道它是否会奏效。

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

小智 7

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

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

查看这个仓库。

从存储库的自述文件 + 我必须采取的附加步骤(在 Ubuntu 18.04 上)才能完成这项工作:

  1. 安装去

    $ 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,要么是索要不合理金额的营销付费服务。

我希望我回答了你的问题。


小智 0

尝试了中建议的“插件”方式后

如何在网页中显示 RTSP 视频流?

以及中建议的“转换”方式

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>
Run Code Online (Sandbox Code Playgroud)