Skip to content

Latest commit

 

History

History
105 lines (64 loc) · 2.51 KB

Readme_Chinese.md

File metadata and controls

105 lines (64 loc) · 2.51 KB

HJPlayer

English | 中文

目前支持浏览器环境下, 播放H264视频编码, AAC音频编码的FLV流和HLS流(不支持解密), 项目需要浏览器支持video标签和Media Source Extensions才能正常运行;

为什么做这个?

本项目开发目的出发点是要解决综艺项目和PC官网播放页需要同时支持FLV直播流和HLS回放流的问题, 一个javascript文件中同时集合2个库, 而其中的功能又重合, 所以尝试对这2个库进行合并, 进过一番学习后尝试采用flv.js为基础, 加入hls.js中的解析文档功能, 加载功能, 解码和转码功能, 响应flvjs的各种功能控制, 使之能在播放FLV流的基础上正常播放HLS直播流和点播流, 文件体积较两者之和小了很多, 当然, 代码并不完美, 仍旧有许多需要修改和优化的地方, 但实现了相似的功能, 在此感谢 flv.jshls.js;

播放器工作原理

HJPlayer的工作原理是将FLV文件流和HLS的TS文件流经过解码和转码, 转换为Fragmented MP4, 然后通过 Media Source Extensions API, 将mp4片段填充到到 HTML5

Feature

  1. 播放H264视频编码和AAC音频编码的FLV直播流和点播流
  2. 播放H264视频编码和AAC音频编码的HLS直播流和点播流

Installation

npm install hjplayer --save

打包

npm install

npm run build

引用方法

本库可采用 ES6 Moudule 引用 或者 直接在 script src 方式引用

import HJPlayer from 'hjplayer'

或者

<script src="./dist/hjplayer.min.js">

使用方法

FLV直播流

if (HJPlayer.isSupported()) {
    player = new HJPlayer({
        type: 'flv',
        url: 'http://xxx.xxx.com/xxxx.flv',
    }, {
        ...用户设置
    });
}

HLS直播流

if (HJPlayer.isSupported()) {
    player = new HJPlayer({
        type: 'm3u8',
        url: 'http://xxx.xxx.com/xxxx.m3u8',
    }, {
        ...用户设置
    });
}

demo

demo

设置参数

设置参数;

func

主要功能;

Licence

Licence;

继承

此播放器整合自 flv.js and hls.js;

它是怎么工作的

HJPlayer的框架