H5頁面直播hls視頻

#PC、手機web頁面直播hls視頻

概述
一轉眼就到了11月,很多工作中遇到的坑都在一一解決,仔細想了想值得分享的應該是web頁面直播hls格式的視頻了,當時我們的項目是需要在手機嵌入的頁面來播放攝像頭的視頻,視頻格式是hls直播流,HTML5的video標籤並不能直接播放hls直播流,需要藉助插件來實現。
關於插件的話網上也搜了一大堆用來測試,發現免費還好用的應該算是video.js了,video.js也是專門針對hls直播流做了一個依賴video.js的插件videojs-contrib-hls.js。前端頁面同時引入這兩個js插件就可以播放hls直播流。
###注意
當然播放也是有需要注意的地方:

後端傳過來的播放文件地址是以 *.m3u8爲後綴,關於hls轉換m3u8這裏就不介紹了,因爲我只是做前端的,對這個不瞭解
前端進行hls直播需要啓動server纔可以,不然直接播放會報錯,我用的是eclipse
hls直播有延遲,我們的是大約15秒,然後每次地址可以播放30s,我就用定時器調用接口來實現不間斷直播
代碼塊
好了,廢話不多說,直接上例子,例子也是video.js官網的:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link href="https://cdn.bootcss.com/video.js/6.3.3/video-js.min.css" rel="stylesheet">
    <script src="https://cdn.bootcss.com/video.js/6.3.3/video.min.js"></script>
    <script src="https://cdn.bootcss.com/videojs-contrib-hls/5.11.0/videojs-contrib-hls.js"></script>

</head>
<body>
<video id="example-video" width=960 height=540 class="video-js vjs-default-skin" controls poster="http://i.onionstatic.com/onionstudios/3819/16x9/800.jpg">
    <!--<source src="http://7xjr0i.com2.z0.glb.qiniucdn.com/test-vedio-hls.m3u8" type="application/x-mpegURL">-->
    <!--<source src="API/hls_test/hls_test/output.m3u8" type="application/x-mpegURL">-->
    <source src="https://d2zihajmogu5jn.cloudfront.net/bipbop-advanced/bipbop_16x9_variant.m3u8" type="application/x-mpegURL">
</video>

<script type="text/javascript">
    var player = videojs('example-video');
    //player.play();
</script>
</body>
</html>

鏈接
gitgub地址:
video-hls

也有在線測試的地址:
http://jsbin.com/meqeqipaye/edit?html,output

video.js裏有很多格式的視頻播放解決方案,需要的可以看一下:
https://github.com/videojs翻博客看到boonya寫的一個視頻直播項目流程比較詳細,推薦下(2017-11-22更新):
http://blog.csdn.net/boonya/article/details/52210576

發佈了224 篇原創文章 · 獲贊 127 · 訪問量 84萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章