flv.js源码分析,flvjs教程

本文目录一览:

vue中播放flv格式视频(b站flv.js的使用)

flv.js 就是由 bilibili 网站开源的 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发(ECMAScript 6 编写) ,没有用到 Flash。它的工作原理是 Flv.js 在 JavaScript 中流式解析 flv 文件流,并实时转封装为 fmp4 ,通过 Media Source Extensions 喂给浏览器,实现了 FLV 格式视频的播放。

具有H.264 + AAC / MP3编解码器播放功能的FLV容器

多段分段视频播放

HTTP FLV低延迟实时流播放

通过WebSocket进行FLV实时流播放

与Chrome,FireFox,Safari 10,IE11和Edge兼容

极低的开销,浏览器可以加速硬件!

1、准备一个flv格式的视频

我的文件,关于分片上传可参考 vue中使用Plupload分片上传

flv.js 1.0 源码学习(三)

整个库的核心部分之一。

参考:

肯定有个什么mp4-demuxer

parseValue 是入口

解析十二选七种二进制数据,将他们序列化格式化:

二进制-对象描述信息

移植自c++的一个库:

可以将一个 TypeArray 二进制数组的内容转成 Unicode 码

flv.js的技术到底是什么水平

Flv.js的几个意义:

1,h5上实现直播的目前已知的最优解决方案,性能不弱于原生app直播:直播延迟控制到1秒内。带宽、存储其实比原生app普遍采用的mp4更优。

2,h5上用js实现高质量音视频解码、并支持h5富媒体标准mse使其得到应用、重视,从而促进h5具备原生应用多媒体能力得以大大提升。

3,这是中国程序员在h5音视频领域的一项杰出成果!考虑到类似成果之前还基本出自非中国程序员,这个价值特别值得一说。

flv.js 中文文档

article class="_2rhmJa"

本文档使用类似TypeScript的定义来描述接口。

flv.js将所有接口都以flvjs对象暴露在全局上下文window中.

flvjs 还可以通过require或ES6导入来访问对象。

方法:

类:

枚举:

根据中指定的type字段创建一个播放器实例mediaDataSource(可选)config。

如果segments存在字段,则transmuxer会将其MediaDataSource视为多部分源。

在多部分模式下,结构中的duration filesize url字段MediaDataSource将被忽略。

如果基本上可以再您的浏览器上播放则返回true

返回FeatureList具有以下详细信息的对象:

实现Player接口的FLV播放器。可以通过new操作进行创建

Player wrapper for browser's native player (HTMLVideoElement) without MediaSource src, which implements the Player interface. Useful for singlepart MP4 file playback.

A global interface which include several static getter/setter to set flv.js logcat verbose level.

一个全局接口,其中包括几个用于设置flv.js logcat详细级别的静态getter / setter。

一系列可以和 Player.on() / Player.off() 一起使用的常数. 它们需要前缀 flvjs.Events .

播放期间可能出现的错误。它们需要前缀flvjs.ErrorTypes。

针对网络和媒体错误提供更详细的说明。它们需要前缀flvjs.ErrorDetails。

/article

4人点赞

日记本

本文链接:https://my.lmcjl.com/post/18733.html

展开阅读全文

4 评论

留下您的评论.