LiveServer RTSP 部署包使用说明书
本文介绍了LiveServer RTSP 部署包的使用方法。
简介
本章节对 LiveServer RTSP 部署包的功能、前端兼容性及延时情况进行了说明。
功能
LiveServer RTSP 部署包提供 RTSP 协议视频流转 H5 视频流功能,能够使 RTSP 视频流在浏览器(Chrome)上顺利播放。
LiveServer RTSP 以下简称 LiveServer。
前端兼容性
平台 | 浏览器 | 是否支持 |
---|---|---|
Windows | Chrome | 支持 |
Windows | Firefox | 支持 |
Windows | IE | 不支持 |
MAC | Safari | 支持 |
MAC | Chrome | 支持 |
Android | Chrome | 支持 |
Android | WebView (微信、QQ) | 支持 |
iOS | Chrome | 不支持 |
iOS | Safari | 不支持 |
延时
- 对于 H.264 编码流,系统延时控制在 1s 左右。
- 对于 H.265 编码流,由于要将其转码成 H.264,所以延时控制在 2-3s 左右。
配置方法
本章节中,将详细说明 LiveServer 的配置方法。
前提条件
在配置 LiveServer 服务之前,需要您首先:
具备支持 RTSP 协议的设备,如摄像头、NVR、管理平台等。
在所需监控的位置,安装监控摄像头。
将 LiveServer 部署包安装在您的服务器上。关于服务器硬件配置的相关信息,参阅服务器要求。
服务器要求
一般来说,安装 LiveServer 部署包所需服务器的配置要求如下:
类型 | 配置 | 备注 |
---|---|---|
CPU | 4 核 CPU | |
内存 | 8G | |
系统 | Windows 或 Linux | |
网卡 | 千兆网卡 | 或千兆以上配置 |
注意事项
服务器的性能直接影响 LiveServer 同时处理视频流的路数。
如果视频流是 H.264 的,则 LiveServer 主要负责转发,支持的路数主要受带宽 限制。并发数理论上能达到几百路。
如果视频流是 H.265 的,则 LiveServer 要对视频流进行转码,转码对服务器性 能要求较高,所以主要受机器性能限制。理论上能同时处理视频流二三十路。 前端并发几百路。
所以,建议使用 H.264 视频流,且使用子码流。
工作原理
概括地说,就是通过 LiveServer 将支持 RTSP 协议的设备的视频流转换为 HTML5 的视频流,使视频能够在浏览器上顺利播放。
下图所示为 LiveServer 的基本工作原理图。
配置文件
用记事本打开config.json文件,即可编辑相关参数。下图所示为 config.json 文件。可配置通道的 ID、名称、uri和传输协议。
启动 LiveServer
在 Windows 系统中,双击 LiveServerRTSP.exe 可执行文件,即可启动 LiveServer。
在 Linux 系统中,执行 ./start.sh,即可启动 LiveServer。
启动成功后,就可以通过 Chrome 浏览器进行访问了。
通过 Web 进行访问
在Chrome浏览器中,输入下面的地址,就可以看到设备列表的界面了。
http://<ip>:<http_port>/?id=<channel_id>
其中,ip
为服务器的 ip 地址,端口 http_port
和通道号channel_id
与 config.json 中通道的配置相对应。例如,http://10.100.42.246:4000/index.html?id=1。
下图所示为查看到的摄像机实时视频。
实际使用过程中,有时需要使用动态的 RTSP 地址,这个时候可以通过下面的地址来访问。
http://<ip>:<http_port>/index.html?uri=<rtsp uri>&id=<channel_id>
uri::传入动态的rtsp地址。
id:用户自定义该通道的 id。
其中,uri
为传入动态的 rtsp 地址。id
为用户自定义该通道的 id。
注意事项
该功能默认不开启,授权后可开启此功能,请在申请授权中备注开通此功能。
授权方法
运行程序后,程序根目录下会生成一个 machine_code.txt 文件,将我们提供给您的 livertsp.license 文件存放到machine_code.txt 文件的同级目录下,等待五分钟,或者重新启动服务,即可完成授权。
注意事项
在不授权的情况下,只能访问第一个RTSP地址,并且会在15分钟后断开。
下图所示为授权成功的窗口画面。
常见问题
Q1. 为什么没有声音?
LiveServer 暂时不提供对音频流的转发支持。
Q2. 是否支持 RTMP?
支持,可以修改通道的 rtsp_uri 或者 uri 字段,填入 RTMP 地址即可。
Q3. nginx 需要代理哪些端口?
默认端口 4000,代理 HTTP 和 WebSocket 协议,如下所示。
server {
listen 14000;
location /media/ {
proxy\_pass http://localhost:4000/;
proxy\_http\_version 1.1;
proxy\_set\_header Upgrade $http\_upgrade;
proxy\_set\_header Connection "Upgrade";
proxy\_read\_timeout 600000s;
}
}
代理后可通过 http://localhost:14000/media/devs.html 访问。
Q4. 为什么看不到画面,一直转圈?
可以优先通过 VLC 播放 RTSP 地址进行排查和错误诊断,保证 VLC 中视频能够播放。
Q5. 通过 iframe 嵌入,两侧为什么会有白边?
因为视频是按原有比例播放的,受限于摄像机原始视频比例,所以会显示白边,如果接受拉伸,可以修改 ./public/index.html 文件,给 video 标签加上 object-fit:fill
样式。
Q6. Linux 下不想使用 root 权限启动,应如何操作?
Linux 下使用管理员权限的原因是要设置开机启动,如果不需要开机启动,可以直接执行以下命令,在后台运行程序:
nohup ./LiveServerRTSP.exe > log.txt 2>&1 &;