前端播放m3u8格式視頻

需求:在系統(tǒng)上實時查看攝像頭監(jiān)控畫面,但我拿到的視頻地址是m3u8格式,不能直接播放,這里我們用到了 hls.js,實現(xiàn)此功能。

  • 開始前我們先了解一下m3u8。

m3u8是蘋果公司推出的視頻播放標準,是m3u的一種,只是編碼格式采用的是UTF-8。m3u8準確來說是一種索引文件,使用m3u8文件實際上是通過它來解析對應的放在服務器上的視頻網絡地址,從而實現(xiàn)在線播放。

m3u8視頻播放時是通過不停的下載視頻文件,我們在控制臺的network里可以看到。如下圖:


network.png

本文以angular為例,如需在vue等前端框架中使用,只需把對應的生命周期、事件綁定、變量聲明等改為vue語法即可!

  • 好了,接下來我們就開始開發(fā)!

1、使用npm安裝hls.js;

npm install --save hls.js

2、在HTML文件中添加對應標簽;

<div class="page">
    <video controls id="video" autoplay="autoplay">
        <source type="video/mp4">
    </video>
    <button (click)="start()">播放</button>
</div>

3、在ts文件中使用

//引用
import HLS from 'hls.js'

//聲明兩個變量
hls:any;
video:any;

//頁面加載時,初始化hls;
ngOnInit() {
    this.hls = new HLS();
}

//點擊播放
start(){
    if (HLS.isSupported()) {
      var video = <HTMLVideoElement>document.getElementById('video');
      this.hls.attachMedia(video);
      hls.loadSource('你的m3u8視頻地址');
    }
  }
  • 最終效果如下圖:


    image.png

至此,功能實現(xiàn),特此記錄!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容