Flv.js
是 HTML5 Flash 視頻(FLV)播放器,純原生 JavaScript 開發,沒有用到 Flash。由 bilibili 網站開源。
概覽:
一個實現了在 HTML5 視頻中播放 FLV 格式視頻的 JavaScript 庫。它的工作原理是將 FLV 文件流轉碼復用成 ISO BMFF(MP4 碎片)片段,然后通過 Media Source Extensions 將 MP4 片段喂進瀏覽器。
flv.js 是使用 ECMAScript 6 編寫的,然后通過 Babel Compiler 編譯成 ECMAScript 5,使用 Browserify 打包。
功能:
FLV 容器,具有 H.264 + AAC 編解碼器播放功能
多部分分段視頻播放
HTTP FLV 低延遲實時流播放
FLV 通過 WebSocket 實時流播放
兼容 Chrome, FireFox, Safari 10, IE11 和 Edge
十分低開銷,并且通過你的瀏覽器進行硬件加速
以下是我整理的集成使用方案
一、部署方案
1、前提
首先這里要使用到nodejs和npm,如何安裝和部署在我之前的文章有寫過了,這里不再多說,需要可以看自行搜索。
2、下載代碼
github地址:https://github.com/Bilibili/flv.js
需要同步最新代碼的同學要使用git,沒有git的也可以下載zip文件
代碼下載下來后
我放在了D:\code\flv.js-master
3、構建代碼
因為代碼不能直接使用,我們需要用到nodejs的npm模塊進行構建
1)先打開cmd命令行窗口(這里記得用右鍵打開以管理員身份運行),不然可能運行會error
cd命令到放置代碼的地方,我是放在D:\code\flv.js-master上
2)執行npm構建,這里是進行安裝開發環境的操作
npminstall
等待執行完后,會出現下圖
D:\code\flv.js-master會多出了一個node_modules文件夾
3)安裝生成工具
npminstall-ggulp
4)包裝和最小化JS放在dist文件夾里
gulprelease
然后D:\code\flv.js-master\dist里就終于得到我們需要flv.js和flv.min.js代碼了
flv.js壓縮前代碼
flv.min.js壓縮后代碼
二、整合方案
代碼DEMO-html頁面
<!DOCTYPEhtml><html><head><metacontent="text/html;charset=utf-8"http-equiv="Content-Type"><title>flv.jsdemo</title><style>.mainContainer{display:block;width:1024px;margin-left:auto;margin-right:auto;}.urlInput{display:block;width:100%;margin-left:auto;margin-right:auto;margin-top:8px;margin-bottom:8px;}.centeredVideo{display:block;width:100%;height:576px;margin-left:auto;margin-right:auto;margin-bottom:auto;}.controls{display:block;width:100%;text-align:left;margin-left:auto;margin-right:auto;}</style></head><body><pclass="mainContainer"><inputname="urlinput"class="urlInput"type="text"value="http://localhost/Test/test1.mp4"/><videoname="videoElement"class="centeredVideo"controlsautoplaywidth="1024"height="576">Yourbrowseristoooldwhichdoesn'tsupportHTML5video.</video><br><pclass="controls"><buttononclick="flv_load()">Load</button><buttononclick="flv_start()">Start</button><buttononclick="flv_pause()">Pause</button><buttononclick="flv_destroy()">Destroy</button><inputstyle="width:100px"type="text"name="seekpoint"/><buttononclick="flv_seekto()">SeekTo</button></p></p><scriptsrc="flv.min.js?1.1.9"></script><script>functionflv_load(){console.log('isSupported:'+flvjs.isSupported());varurlinput=document.getElementsByName('urlinput')[0];varxhr=newXMLHttpRequest();xhr.open('GET',urlinput.value,true);xhr.onload=function(e){varplayer;varelement=document.getElementsByName('videoElement')[0];if(typeofplayer!=="undefined"){if(player!=null){player.unload();player.detachMediaElement();player.destroy();player=null;}}player=flvjs.createPlayer({type:'mp4',url:urlinput.value});player.attachMediaElement(element);player.load();}xhr.send();}functionflv_start(){player.play();}functionflv_pause(){player.pause();}functionflv_destroy(){player.pause();player.unload();player.detachMediaElement();player.destroy();player=null;}functionflv_seekto(){varinput=document.getElementsByName('seekpoint')[0];player.currentTime=parseFloat(input.value);}functiongetUrlParam(key,defaultValue){varpageUrl=window.location.search.substring(1);varpairs=pageUrl.split('&');for(vari=0;i<pairs.length;i++){varkeyAndValue=pairs[i].split('=');if(keyAndValue[0]===key){returnkeyAndValue[1];}}returndefaultValue;}varurlInputBox=document.getElementsByName('urlinput')[0];varurl=decodeURIComponent(getUrlParam('src',urlInputBox.value));urlInputBox.value=url;document.addEventListener('DOMContentLoaded',function(){flv_load();});</script></body></html>
結果
Ps:視頻要放在服務器上,這里我用的是Java Web項目,tomcat部署,視頻找個位置就可以了,主要是記住位置
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
中國十大外資銀行排名為:1. 匯豐銀行匯豐銀行以24.74%的高關注率,居于外資銀行排行榜榜首。匯豐集團是全球規模最大的銀行及金融機構之一。為約6,000萬客戶提供服務,服務網絡遍布歐洲、亞太地區、美洲、中東及非洲80多個國家和地區。2. 渣打銀行渣打是一家國際領先的銀行集團,在全球一些最有活力的市場上已經營超過150年,其90%以上的營運收入和利潤來自亞洲、非洲和中東市場。3. 東亞銀行東亞銀行...
大學生買基金怎么買?大學生可以買基金,并且購買非常方便,支付寶平臺、微信等平臺都可以直接購買基金,基金對于投資者年齡沒有限制。大學生購買基金建議選一些風險性比較低的,如貨幣基金、債券基金等,雖然收益不高但是勝在穩定,比較適合大學生投資。大學生買基金買多少合適?基金的門檻并不高,有的一元就可以購買,有的十元就可以購買,買多少都是可以的,但是要根據自身情況來考慮,比如說:某學生除去日常開銷的生活費,還...
人民幣是我們中國人每天使用的貨幣,因為不同的原因會出現貶值或者升值,不管貶值還是升值有好也有不好,那么人民幣貶值應該如何投資呢,下面給大家介紹怎么做。1、股票投資。人民幣貶值說明流通中的資金多,可以著重購買:資源類股票、黃金類股票、白銀類股票、醫療事業股票,農業股票、旅游股票等。2、購買不動產。首先房子和門面投資就是不錯的選擇,加上地皮越來越貴,因此不動產投資能增值保值。3、買黃金。黃金作為一種硬...