yl-vjs-player-sdk
Version:
云粒 videojs 视频播放器 SDK
156 lines (95 loc) • 4.2 kB
Markdown
## 云粒 videojs 视频播放器 SDK
### 依赖
```
video.js
flv.js
vjs-flvjs
```
### 资源下载
```
npm i yl-vjs-player-sdk
```
### 使用方法
```js
import YunliVjsPlayer from 'yl-vjs-player-sdk'
var player = new YunliVjsPlayer({
container: string | HtmlElement, //videojs容器,支持id和html元素
yunliMode: boolean | 'live' | 'history', // 是否跟云粒视频后台整合,false或者不写为通用播放器
duration: number, // yunliMode='history'时进度条的时长
})
```
## 云粒视频播放器 react 组件,封装了视频相关接口请求
## 通用配置项
#### yunliMode
`yunliMode?: boolean|'live'|'history' `
是否使用云粒模式,主要差别:回放为hls流,带倍速和进度条,跟duration属性配合使用
不传或者值为false就是通用的videojs播放器
#### duration
`duration?: number`
需要跟yunliMode配合使用,进度条的持续时间,单位秒,只有yunliMode=‘history'的时候有效
#### yunliApiRoot
`yunliApiRoot?: string`
云粒视频控制系统接口前缀,比如:’http://192.168.1.102:8060'
#### snap
截屏配置
|字段 | 类型 | 默认值 | 描述 |
| ----------- | -------- | ---------------------------------------- |
| `width?` | `number` | video元素的宽 | 截屏的宽度 |
| `height?` | `number` | video元素的高 | 截屏的高度 |
| `onSuccess?` | `(base64) => {}` | 无 | 截屏成功的回调函数,参数为图片的base64数据 |
| `onError?` | `(error) => {}` | 无 | 截屏失败的回调函数,参数为错误信息 |
| `autoSave?` | `boolean` | true | 是否自动保存截屏 |
#### sources
`sources?: {src: string, type: string}[ ]`
视频播放地址,多个的话会播放第一个可以播放的源
#### changePlayRate
`changePlayRate?: function(rate:number, player){}`
播放器切换播放速率的事件函数,如果在options中传入,将会替换默认的函数
#### jumpVideoTime
`jumpVideoTime?: function(time:number, player){}`
播放器跳播的事件函数,如果在options中传入,将会替换默认的函数
#### getSnapShot
`getSnapShot?: () => base64: string`
获取截屏的图片数据,格式为base64编码
#### beginTime
`beginTime?: string`
开始时间,格式"YYYY-MM-DDTHH:MM:SS" 年月日时分秒; 注意补全0
备注:beginTime和endTime只有在yunliMode=‘history’时,同时设置beginTime和endTime
并且没有设置duration的时候才会触发;也就是说如果设置了duration,优先使用duration
#### endTime
`endTime?: string`
结束时间,格式"YYYY-MM-DDTHH:MM:SS" 年月日时分秒; 注意补全0
#### errorTexts
播放器错误信息中的文字信息
|字段|类型|默认值|
| ----------- | -------- | ---------------------------------------- |
| `timeout` | `string` | 连接超时 |
| `offline` | `string` | 无网络 |
| `shutdown` | `string` | 视频中断 |
| `notfound` | `string` | 视频未找到 |
#### autoRetry
`autoRetry?: boolean`
是否一直重试并尝试重新播放{player.src(this.options_.sources)},适合监控场景使用
当值为true时,waitingInterval时间设置不要太短,否则会在系统资源有限的时候引发重复loading状态
#### maxRetryTime
`maxRetryTime:number默认值为3`
最多重试次数,仅当autoRetry=false时有效
#### waitingInterval
`waitingInterval:number默认值为5000毫秒`
重试等待时间,单位毫秒
#### keepAlive
`keepAlive:boolean 默认为true`
是否保持心跳。值为true时,仅当yunliMode=‘live’|’history’的时候,且播放源中传入sessionID时有效
#### keepAliveInterval
`keepAliveInterval: number 默认15000毫秒`
保活心跳的频率
#### record
`record: boolean 默认值false`
是否开启录制功能
#### currentTime
`currentTime: () => int`
获取播放器当前播放时间,单位是秒
#### fillScreen
`fillScreen: boolean, 默认false`
是否填充满画面,如需启用,需要设置height,width,并且flued: false
#### 其他配置项同videojs