web js 播放rtsp视频流方案
场景
需要在web端预览海康无线摄像头视频流,所以采用海康自身提供的web sdk无法使用
方案1
rtsp流推送到应用服务器,应用服务器再通过ffmpeg 推送到nginx, js再去拉流
缺点: 多了一层转发,造成了一定的延迟
方案2
通过webRTC方案,使用现有开源插件 webrtc-streamer
https://github.com/mpromonet/webrtc-streamer
实施
- 采用docker安装
docker run --net=host -itd --name webrtc-streamer mpromonet/webrtc-streamer:v0.6.5 -- 注意 0.6.5 之后的版本会导致api/getIceServers 无法访问,问题还没找到
- 代码示例
- 去github上下载前端包 https://github.com/mpromonet/webrtc-streamer/releases
- 解压后,将html文件夹拷贝到项目里面
- 具体代码
<html> <head> <script src="html/libs/adapter.min.js" ></script> <script src="html/webrtcstreamer.js" ></script> <script> var webRtcServer = null; window.onload = function() { webRtcServer = new WebRtcStreamer("video", "http://192.168.31.160:8000"); webRtcServer.connect("rtsp://192.168.31.199:554/openUrl/Tsca7jq"); } window.onbeforeunload = function() { webRtcServer.disconnect(); } </script> </head> <body> <video id="video"></video> </body> </html>
- 注意
视频流一定要设置成h264格式的,可以在海康摄像头管理界面去设置
- 效果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库