1.0.0 • Published 10 months ago

lm-player v1.0.0

Weekly downloads
8
License
-
Repository
-
Last release
10 months ago

说明

基于mpegts.jshls.js封装React视频组件,基于canvas模拟逐帧播放

import { Player, HistoryPlayer } from 'lm-player';
Component/Factorydescription
Player视频组件,适用于 React
HistoryPlayer历史视频组件,适用于 React

安装

yarn add lm-player
//or
npm i lm-player

例子

//React simple demo
import { Player } from 'lm-player';
ReactDOM.render(<Player fpsDelay={800} oneFpsPlay={true} type={state.type} url="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" isLive={false} />, document.getElementById('root'));

Props

Player通用

export interface ISinglePlayerProps {
  /**
   * 视频播放地址
   */
  url?: string;

  /**
   * 容器类名
   */
  className?: string;
  children?: React.ReactNode;

  /**
   * 同html video muted  静音
   * @default true
   */
  muted?: boolean;
  /**
   * 同html video autoplay  自动播放
   * @default true
   */
  autoPlay?: boolean;

  /**
   * 同html video playsinline  自动播放
   * @default false
   */
  playsInline?: boolean;
  /**
   *同html video preload  预加载
   */
  preload?: string;
  /**
   * 视频封面
   */
  poster?: string;

  /**
   * 同html video loop  循环
   * @default false
   */
  loop?: boolean;

  /**
   * 视频格式
   * @default 'native'
   */
  type?: 'flv' | 'hls' | 'native';

  /**
   * 隐藏工具栏
   * @default false
   */
  hideContrallerBar?: boolean;

  /**
   * 直播模式
   * @default true
   */
  isLive?: boolean;

  /**
   * 工具栏右外侧拓展
   */
  rightExtContents?: React.ReactNode;
  /**
   * 工具栏右内侧拓展
   */
  rightMidExtContents?: React.ReactNode;
  /**
   * 工具栏左外侧拓展
   */
  leftExtContents?: React.ReactNode;
  /**
   * 工具栏左内侧拓展
   */
  leftMidExtContents?: React.ReactNode;

  /**
   * 自定义时间轴
   */
  customTimeLine?: React.ReactNode;

  /**
   * 错误重试次数
   * @default 5
   */
  errorReloadTimer?: number;

  /**
   * 自定义flv参数配置
   * @type FlvPlayerConfig
   */
  flvConfig?: FlvPlayerConfig;

  /**
   * 自定义hls参数配置
   * @type HlsConfig
   */
  hlsConfig?: HlsConfig;

  /**
   * 自定义reload函数
   */
  reload?: () => void;

  /**
   * extaction
   */
  extActions?: { [key: string]: (...args: any) => void };

  /**
   * 视频可播放时执行钩子
   */
  onCanPlayerInit?: () => void;

  /**
   * 自定义video事件
   */
  videoEvents?: CustomEvent[];

  /**
   * 自定义播放器的事件
   */
  playerEvents?: CustomEvent[];

  /**
   * 开启单帧播放
   */
  oneFpsPlay?: boolean;

  /**
   * 获取视频针的频次 (ms)
   */
  fpsDelay?: number;

  /**
   * 视频每秒多少帧,用于控制逐帧播放
   */
  fps?: number;
}

HistoryPlayer 独有

export interface ISegmentPlayerProps extends Omit<ISinglePlayerProps, 'url'> {
  /**
   * 云录像片段信息
   */
  segments?: ISegmentType[];

  /**
   * 云录像开始时间
   */
  begin?: number;

  forwordRef?: React.MutableRefObject<ExportPlayerType>;

  defaultIndex?: number;
}

ISegmentType

export interface ISegmentType {
  id?: string;
  /**
   * 视频片段地址
   */
  url?: string;

  /**
   * 片段开始时间
   */
  beginTime: number;

  /**
   * 片段结束时间
   */
  endTime: number;
}

event

支持事件

export default {
  RELOAD: 'reload', //手动视频重载
  RELOAD_FAIL: 'reloadFail', // 视频出错,重连失败
  RELOAD_SUCCESS: 'reloadSuccess', //视频出错,重连成功
  ERROR: 'error', //视频出错
  ERROR_RELOAD: 'errorRload', //视频出错,自动重连
  HISTORY_PLAY_END: 'historyPlayEnd', //历史视频列表播放结束
  PLAY_ENDED: 'play_ended', //单个片断播放完毕
  SEEK: 'seek', //跳跃播放时间
  TRANSFORM: 'transform', //视频容器缩放
  CHANGE_PLAY_INDEX: 'changePlayIndex', //历史视频列表播放索引改变
  HIDE_CONTRALLER: 'hideContraller',
  SHOW_CONTRALLER: 'showContraller',
  CLEAR_ERROR_TIMER: 'clearErrorTimer',
  CANVAS_PAUSE: 'canvasPause', // 逐帧暂停
  CANVAS_PLAY: 'canvasPlay', //逐帧播放
};
1.0.0

10 months ago

0.2.21

3 years ago

0.2.20

3 years ago

0.2.19

3 years ago

0.2.18

3 years ago

0.2.17

4 years ago

0.2.16

4 years ago

0.2.15

4 years ago

0.2.14

4 years ago

0.2.13

4 years ago

0.2.12

4 years ago

0.2.11

4 years ago

0.2.10

4 years ago

0.2.9

4 years ago

0.2.8

4 years ago

0.2.7

4 years ago

0.2.6

4 years ago

0.2.5

4 years ago

0.2.4

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.1

4 years ago

0.1.30

4 years ago

0.1.29

4 years ago

0.1.28

4 years ago

0.1.27

4 years ago

0.1.26

4 years ago

0.1.25

4 years ago

0.1.24

4 years ago

0.1.23

4 years ago

0.1.22

4 years ago

0.1.21

4 years ago

0.1.20

4 years ago

0.1.15

4 years ago

0.1.14

4 years ago

0.1.13

4 years ago

0.1.12

4 years ago

0.1.11

4 years ago

0.1.10

4 years ago

0.1.9

4 years ago

0.1.8

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.0.36

5 years ago

0.0.35

5 years ago

0.0.34

5 years ago

0.0.33

5 years ago

0.0.32

5 years ago

0.0.31

5 years ago

0.0.30

5 years ago

0.0.29

5 years ago

0.0.28

5 years ago

0.0.27

5 years ago

0.0.26

5 years ago

0.0.25

5 years ago

0.0.24

5 years ago

0.0.23

5 years ago

0.0.22

5 years ago

0.0.21

5 years ago

0.0.20

5 years ago

0.0.19

5 years ago

0.0.18

5 years ago

0.0.17

5 years ago

0.0.16

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago