1. 程式人生 > >hls.js播放hls直播源

hls.js播放hls直播源

用了video.js來做播放器播放hls和rtmp直播源之後,這次用hls.js來播放Hls直播源

video.js和hls.js的區別和優缺點
video.js:

  1. 優點:功能比較強大,有很多功能封裝好了,而且有自己的一套UI,在不同瀏覽器下顯示比較一致
  2. 缺點:包比較大,實現hls直播的時候其實是內嵌了hls.js的程式碼,實際上是運用了hls.js,而且由於封裝的ui和功能,使其不夠純淨,不夠靈活,修改ui的時候要用到其他的外掛,有點畫蛇添足的感覺

hls.js:

  1. 優點:包比較小,很純淨,UI可以根據自己的業務自擴充套件,自己封裝功能和UI,比較切合自己開發的直播播放器,而且專業直播HLS
  2. 缺點:沒有封裝好的UI,功能上也需要自己去實現

hls.js播放hls直播源 (要放在伺服器上)

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>hls.js</title>
    <link rel="stylesheet" href="./index.css">
    <script src="https://cdn.jsdelivr.net/npm/[email protected]
"></script> </head> <body> <video id="video" controls></video> <script src="./index.js" charset="utf-8"></script> </body> </html>

index.js:

var Hls = window.Hls
var url = 'http://localhost:8765/hls/movie.m3u8'
if (Hls.isSupported()) {
  var hls = new Hls()
  hls.loadSource(url)
  hls.attachMedia(video)
  hls.on(Hls.Events.MANIFEST_PARSED, function () {
    // video.play()
  })
} else if (video.canPlayType('application/vnd.apple.mpegurl')) {
  video.src = url
  video.addEventListener('canplay', function () {
    // video.play()
  })
}

至於播放自己的樣式和功能,可以根據自己的需要和興趣自己去新增