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);
        },
      }
    },
  });
相关推荐
智慧的牛9 小时前
浏览器网页播放A律音频实时流方案
websocket·音视频·码流转换·web audio api
深圳市友昊天创科技有限公司10 小时前
ASM4242 雷电扩展坞 CV4242 PCIE扩展坞
音视频·实时音视频·视频编解码
IT陈图图11 小时前
Flutter × OpenHarmony 实战:从 0 构建视频播放器的分类导航模块
flutter·华为·音视频·openharmony
深圳市友昊天创科技有限公司13 小时前
友昊天创推出延长器方案GSV5600+HDBase VS010**/VS100**
音视频·实时音视频·视频编解码
线束线缆组件品替网13 小时前
Stewart Connector RJ45 以太网线缆高速接口设计解析
服务器·网络·人工智能·音视频·硬件工程·材料工程
IT陈图图13 小时前
构建跨端视频播放器中的“推荐视频”模块:Flutter × OpenHarmony 实战解析
flutter·音视频·鸿蒙·openharmony
IT陈图图13 小时前
Flutter × OpenHarmony 跨端视频播放器实战:自定义视频控制栏设计与实现
flutter·音视频·鸿蒙·openharmony
东华果汁哥14 小时前
【机器视觉 视频截帧算法】OpenCV 视频截帧算法教程
opencv·算法·音视频
美狐美颜sdk1 天前
人脸美型美颜SDK在直播平台中的实现方式与开发策略
人工智能·音视频·美颜sdk·视频美颜sdk·美狐美颜sdk
yun68539921 天前
音视频简单搭建livekit环境并初步认识
音视频·livekit