我想将在RTSP中流式传输的IP摄像机显示到网页中。
我尝试了许多解决方案,例如使用VLC对流进行转码,但它们似乎都不足以创建真正的Web服务。 我正在考虑使用像flussonic或Red5这样的媒体服务器。但我不知道它是否会奏效。
这就是为什么我想知道在网页上显示RTSP流的最佳(和简单)解决方案。
答案 0 :(得分:4)
...创建一个真正的网络服务。
过去两三天我一直在寻找答案(我需要尽可能多的浏览器支持,并且延迟尽可能低,所以 WebRTC 是要走的路(有什么更好的吗?) ),我终于找到了。
查看 this 存储库。
来自 repo 的自述文件 + 我必须采取的额外步骤(在 Ubuntu 18.04 上)才能完成这项工作:
安装 go
$ 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,要么是一种要求不合理金额的营销付费服务。
希望我回答了你的问题。
答案 1 :(得分:0)
尝试过"插件"
中建议的方式How can I display an RTSP video stream in a web page?
"转换"
中建议的方式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