DPlayer m3u8 视频禁止下载

1. 介绍

正常的 m3u8 格式视频通过控制台是无法下载的,但是可以通过插件下载,下面介绍如何规避这个问题。

思路:后端生成一个一次性的密钥,前端放在请求头中,可以防止大部分插件下载。这里只说前端。

2. 实现

集成 DPlayer 播放器这里就不说了,网上一大推。

javascript 复制代码
  // 接口封装
  disposable() {
    return new Promise((resolve, reject) => {
      axios.get('file/disposable').then(res => {
        resolve(res);
      }).catch(err => {
        reject(err);
      });
    });
  },
javascript 复制代码
 // m3u8
 let that = this;
 this.dplayer = new DPlayer({
    container: document.getElementById('page-content-view-video'),
    autoplay: true,
    hotkey: true,
    video: {
      url: 'http:xxxx.m3u8',
      type: 'customHls',
      customType: {
        customHls: function(video, player) {
          let config = {
            xhrSetup: async function(xhr, url) {
              // 这里是为了每个请求携带不同的一次性密钥
              if(url.endsWith('.m3u8')) {
                xhr.setRequestHeader('disposable', await that.$api.disposable());
              }else if(url.endsWith('.ts')) {
                xhr.setRequestHeader('disposable', await that.$api.disposable());
              }
            },
          };
          const hls = new window.Hls(config);
          hls.loadSource(video.src);
          hls.attachMedia(video);
        },
      }
    },
  });
相关推荐
技术钱3 小时前
uniapp使用音频录音功能
chrome·uni-app·音视频
2401_865854884 小时前
腾讯音视频功能有哪些
音视频
卓码软件测评7 小时前
第三方软件质量检测:RTSP协议和HLS协议哪个更好用来做视频站?
网络·网络协议·http·音视频·web
Likeadust11 小时前
新版视频直播点播平台EasyDSS用视频能力破局!
音视频
梦里小白龙11 小时前
前端视频课程添加水印,全屏不消失解决方法
前端·音视频
Mr数据杨11 小时前
【ComfyUI】Animate单人物角色视频替换
人工智能·计算机视觉·音视频
Xxtaoaooo12 小时前
Sora文生视频技术拆解:Diffusion Transformer架构与时空建模原理
人工智能·架构·音视频·transformer·sora
P P PHP16 小时前
Html播放m3u8视频
音视频
小影译片16 小时前
zmaify 职场成长平台宣传视频脚本(视频计划谁能做的更好?)
音视频
superxxd20 小时前
跨平台音频IO处理库libsoundio实践
开发语言·qt·音视频