本文目錄一覽:
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人點贊
日記本