UNPKG

yl-vjs-player-sdk

Version:

云粒 videojs 视频播放器 SDK

156 lines (95 loc) 4.2 kB
## 云粒 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