我想将 RTSP 中的 IP 摄像机流显示到网页中。
我尝试了很多解决方案,比如使用 VLC 对流进行转码,但它们似乎都不够可靠,无法创建真正的 Web 服务。我正在考虑使用一些媒体服务器,如 flussonic 或 Red5。但我不知道它是否会奏效。
这就是为什么我想知道在网页上显示 RTSP 流的最佳(和简单)解决方案是什么。
小智 7
...创建真正的网络服务。
在过去的两三天里我一直在寻找答案(我需要尽可能多的浏览器的支持,并且延迟尽可能低,所以WebRTC是可行的方法(有更好的吗?))并且我终于找到了。
查看这个仓库。
从存储库的自述文件 + 我必须采取的附加步骤(在 Ubuntu 18.04 上)才能完成这项工作:
安装去
$ sudo snap install go --classic
在本地设备上获取代码(有人可以告诉我导出的用途吗?)。
$ export GO111MODULE=on
$ go get github.com/deepch/RTSPtoWebRTC
此步骤对我来说不起作用,因此我只是下载了 .zip 文件中的代码并将其解压到给定目录中并继续。(我错过了什么?在我制作之前 src 目录不存在)
$ cd ~/go/src/github.com/deepch/RTSPtoWebRTC
从当前目录运行。
$ go run .
然后我在网络浏览器下打开了链接(我在 Chrome、iOS Safari 上进行了测试,但它也适用于 Firefox)。
http://127.0.0.1:8083
这花了我很少的时间来实现。非常感谢制作这个的人。我发现的所有其他东西要么已经有 5-7 年历史并且无法工作,要么不是 WebRTC,要么是索要不合理金额的营销付费服务。
我希望我回答了你的问题。
小智 0
尝试了中建议的“插件”方式后
以及中建议的“转换”方式
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)
| 归档时间: |
|
| 查看次数: |
41108 次 |
| 最近记录: |