Skip to content
目录

SDK播放库glow.nodenvr.js

glow.nodenvr.js 是一个web前端的js库,通过这个js库,可以快速在web前端中集成实时预览通道和录像回放通道的视频播放。glow.nodenvr.js目前托管在npm上,可以通过命令 npm i @glowjs/nodenvr 进行安装。由于库文件较大,当您使用webpack等构建工具时,请勿将它打包到您的项目之中,否则可能引起性能问题,最佳的做法是通过外部模块的方式静态导入。以下是webpack需要添加的配置信息。

js
externals: {
    '@glowjs/nodenvr': 'nodenvr'
}

需要在html页面通过script标签手动导入脚本。

html
<script src="js/glow.nodenvr.js"></script>

在您的代码中,可以通过模块化方式导入。已添加typescript类型声明,支持代码智能提示。

js
//导入整个模块
import * as nodenvr from '@glowjs/nodenvr';
//按需导入
import { isSupported, realPlay, playBack, Player } from '@glowjs/nodenvr';

glow.nodenvr.js库顶层是一个命名空间nodenvr,命名空间内部包含若干方法和类,下面逐一进行描述。

方法nodenvr.isSupported()

无参数,返回值类型为boolean。该方法用于判断当前浏览器是否支持播放库,老旧的设备或者浏览器由于不支持html5,而无法使用此库。

方法nodenvr.realPlay()

使用实时预览参数构建一个播放器对象,其返回值类型为nodenvr.Player。参数描述如下:

名称类型描述
hoststring必须,域名或IP地址,不需要带“http://”前缀。
portnumber必须,端口号,必须为整数。
idnumber必须,通道号,必须为整数。
wssboolean非必须,是否通过wss协议,默认值false。

方法node.realPlayHLS()

使用实时预览参数构建一个播放器对象,无返回值。参数描述如下:

名称类型描述
hoststring必须,域名或IP地址,不需要带“http://”前缀。
portnumber必须,端口号,必须为整数。
idnumber必须,通道号,必须为整数。
httpsboolean非必须,是否通过https协议,默认值false。
callbackfunction非必须,回调函数,用来接收结果,函数签名为
(result:{error?:string,player?:nodenvr.Player})=>void
注意:接收到结果后,应先判断error属性是否为空。

方法nodenvr.realPlayHK()

使用海康视频监控点参数构建一个播放器对象,其返回值类型为nodenvr.Player。参数描述如下:

名称类型描述
hoststring必须,流媒体域名或IP地址,不需要带“http://”前缀。
portnumber必须,流媒体端口号,必须为整数。
cameraIndexCodestring必须,视频监控点唯一标识。
wssboolean非必须,是否通过wss协议,默认值false。

方法nodenvr.realPlayGB()

使用国标GB28181设备通道的参数构建一个播放器对象,其返回值类型为nodenvr.Player。参数描述如下:

名称类型描述
hoststring必须,流媒体域名或IP地址,不需要带“http://”前缀。
portnumber必须,流媒体端口号,必须为整数。
sipIdstring必须,国标GB28181设备的信道ID。
channelIdboolean必须,国标GB28181设备的通道的信道ID。
wssboolean非必须,是否通过wss协议,默认值false。

方法nodenvr.playBack()

使用录像回放参数构建一个播放器对象,其返回值类型为nodenvr.Player。参数描述如下:

名称类型描述
hoststring必须,域名或IP地址,不需要带“http://”前缀。
portnumber必须,端口号,必须为整数。
idnumber必须,通道号,必须为整数。
startTimestring必须,录像回放开始时间,格式yyyyMMddHHmmss,示例20201029180310,必须比endTime小。
endTimestring必须,录像回放结束时间,格式yyyyMMddHHmmss,示例20201029180410,必须比startTime大。
wssboolean非必须,是否通过wss协议,默认值false。

方法nodenvr.playBackHLS()

使用录像回放参数构建一个播放器对象,无返回值。参数描述如下:

名称类型描述
hoststring必须,域名或IP地址,不需要带“http://”前缀。
portnumber必须,端口号,必须为整数。
idnumber必须,通道号,必须为整数。
startTimestring必须,录像回放开始时间,格式yyyyMMddHHmmss,示例20201029180310,必须比endTime小。
endTimestring必须,录像回放结束时间,格式yyyyMMddHHmmss,示例20201029180410,必须比startTime大。
httpsboolean非必须,是否通过https协议,默认值false。
callbackfunction非必须,回调函数,用来接收结果,函数签名为
(result:{error?:string,player?:nodenvr.Player})=>void
注意:接收到结果后,应先判断error属性是否为空。

方法nodenvr.playBackHK()

使用海康综合安防管理平台回放参数构建一个播放器对象,其返回值类型为nodenvr.Player。参数描述如下:

名称类型描述
hoststring必须,域名或IP地址,不需要带“http://”前缀。
portnumber必须,端口号,必须为整数。
cameraIndexCodestring必须,视频监控点唯一标识。
startTimestring必须,录像回放开始时间,格式yyyyMMddHHmmss,示例20201029180310,必须比endTime小。时间间隔不超过3天。
endTimestring必须,录像回放结束时间,格式yyyyMMddHHmmss,示例20201029180410,必须比startTime大。时间间隔不超过3天。
wssboolean非必须,是否通过wss协议,默认值false。

方法nodenvr.playBackGB()

使用国标GB28181设备通道的录像回放参数构建一个播放器对象,其返回值类型为nodenvr.Player。参数描述如下:

名称类型描述
hoststring必须,域名或IP地址,不需要带“http://”前缀。
portnumber必须,端口号,必须为整数。
sipIdstring必须,国标GB28181设备的信道ID。
channelIdboolean必须,国标GB28181设备的通道的信道ID。
startTimestring必须,录像回放开始时间,格式yyyyMMddHHmmss,示例20201029180310,必须比endTime小。时间间隔不超过3天。
endTimestring必须,录像回放结束时间,格式yyyyMMddHHmmss,示例20201029180410,必须比startTime大。时间间隔不超过3天。
wssboolean非必须,是否通过wss协议,默认值false。

类nodenvr.Player

播放器类,类型成员如下所述。

构造函数constructor

实例化一个播放器对象,参数描述如下:

名称类型描述
urlstring必须,视频通道的播放地址,支持ws://、wss://、http://、https:// 协议。更详细的通道播放地址格式见 【关于通道地址】

属性rootElement

播放器的DOM根元素,类型为HTMLDivElement,必须手动添加到页面的DOM容器中。

注意:rootElement通过设置CSS属性为“width:100%;height:100%”来自填充DOM容器,请确保你的DOM容器的子元素能够通过该CSS属性来充满容器。

属性videoElement

播放器的video标签元素,类型为HTMLVideoElement。

属性fill

video元素的填充方式,类型为boolean,true=充满,false=等比缩放。注意:v1.x版本的默认值false,v2.x版本的默认值true。

方法play()

无参数,无返回值。启动播放。

方法pause()

无参数,无返回值。暂停播放,暂停后仍会从视频源获取视频流。

方法stop()

无参数,无返回值。停止播放,停止后不会从视频源获取视频流。

方法screenShot()

截图,无返回值,参数描述如下:

名称类型描述
callbackfunction非必须,回调函数,用来接收结果,函数签名为
(result:{error?:string,data?:Blob})=>void
注意:接收到结果后,应先判断error属性是否为空。data属性为图片的二进制对象,图片格式为.png。

注意:v2.x版本建议直接使用播放器工具条上的截图功能。

方法capture()

录制视频,无返回值。注意:只有websocket协议的视频流才支持该方法。参数描述如下:

名称类型描述
timenumber必须,录制视频的时长,单位为秒,取值范围[1,60]
callbackfunction非必须,回调函数,用来接收结果,函数签名为
(result:{error?:string,data?:Blob})=>void
注意:接收到结果后,应先判断error属性是否为空。data属性为视频文件的二进制对象,视频格式为.flv,可以通过nodenvr.Player类播放flv视频文件

注意:v2.x版本未实现该方法,将打印警告信息,建议直接使用播放器工具条上的录制功能。

方法destroy()

无参数,无返回值。销毁播放器实例。销毁后,rootElement会自动从它的DOM容器中移除,无需再手动移除。播放器实例不再使用时,请务必调用该方法进行销毁,避免造成内存泄漏。比如,如果是在vue框架中使用本库,则可以在vue组件的destroy()生命周期函数中调用该方法。

技术支持:13352865103(柯工,微信同号);18688783852(柯工)