基于DPlayer的原生flv和hls播放

Part1前言

著名的hls.js和flv.js可以分别支持hls协议和flv协议的播放。两个库地址如下 https://github.com/bilibili/flv.js
c41370d68b165932289ceaa7f222c257.png

https://github.com/video-dev/hls.js

b74ce0f46b10922e0a37fc19ac586fe2.png

但是我现在需要一个库同时支持hls和flv协议播放,这里推荐一个库DPlayer https://github.com/DIYgod/DPlayer

16404ac3042a77160104e5080e8431ee.png

本文主要研究如何在纯html环境下,实现对其的使用。

Part2下载js文件

官网提供了npm的安装方法,没有提供js文件的下载。我们采用npm进行安装,之后拷贝出js文件。

npm install dplayer --save

然后再node_modules\dplayer\dist下拷贝出DPlayer.min.js。

55773724d6c136962bf12d13d5771efe.png

由于其使用依赖于hls.js和flv.js。所以以同样的方法下载到其js文件。

e649a3bb0247b62bfe3367c9c91f16eb.png bae3361e2fab942b019586df954a0219.png

最后组装进同一个工程

0279567a5228a8669eb1553e6654c691.png

Part3播放视频

播放视频的html示例如下

<!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>
  </head>
  <body>
    <div id="dplayer" style="height: 400px; width: 800px"></div>
  </body>
</html>
<script src="flv.min.js"></script>
<script src="hls.min.js"></script>
<script src="DPlayer.min.js"></script>
<script>
  const dp = new DPlayer({
    container: document.getElementById('dplayer'),
    autoplay: true,
    volume: 0,
    video: {
      url: 'http://192.168.1.52:9002/live/3508.live.flv',
      type: 'flv',
    },
    // video: {
    //   url: 'http://192.168.1.52:9002/live/3508/hls.m3u8',
    //   type: 'customHls',
    //   customType: {
    //     customHls: function (video, player) {
    //       const hls = new Hls()
    //       hls.loadSource(video.src)
    //       hls.attachMedia(video)
    //       hls.on(Hls.Events.MANIFEST_PARSED, function () {
    //         video.play()
    //       })
    //     },
    //   },
    // },
  })
</script>

几点说明:1、由于我们需要设置自动播放,所以需要将音量设置为0才可以以及自动播放设置为true

autoplay: true,
    volume: 0,

另外,这种方法对flv协议可以有用,但是对hls协议不行,我们针对hls协议采用自定义方法进行播放,示例如下

customType: {
    customHls: function (video, player) {
    const hls = new Hls()
    hls.loadSource(video.src)
    hls.attachMedia(video)
    hls.on(Hls.Events.MANIFEST_PARSED, function () {
    video.play()
    })
    },
    },

Part4总结

本文主要介绍了基于Dplayer的原生html播放hls和flv协议的方法。示例demo下载地址:https://download.csdn.net/download/g0415shenw/86847487

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值