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);
        },
      }
    },
  });
相关推荐
AI巨人2 小时前
“PR插件:轻松减少50%素材寻找时间,内置丰富素材,提升视频制作效率
人工智能·音视频·语音识别
Likeadust3 小时前
视频推流平台EasyDSS无人机推流直播技术赋能城市可视化管理
音视频·无人机
AI生成未来3 小时前
港科大等提出音频驱动多人视频生成新范式 AnyTalker,解锁任意数量角色间的自然互动!
aigc·音视频·视频生成·音频驱动视频
EasyDSS3 小时前
全场景视频推流利器:视频推流平台EasyDSS技术解析与行业落地实践
音视频
XHW___0015 小时前
音频调试时录制pcm数据
音视频·pcm
♛小小小让让5 小时前
FourCC、编解码器、 文件后缀、视频容器的关系
笔记·音视频
智联视频超融合平台5 小时前
智能互联新时代:视频联网平台与物联网的完美融合
人工智能·物联网·网络协议·系统安全·音视频
小c君tt6 小时前
ffmpeg-音-视频-基本概念
ffmpeg·音视频
Hello World,8 小时前
使用ffmpeg播放视频并添加当前时间水印
ffmpeg·音视频
EasyCVR8 小时前
视频融合平台EasyCVR赋能电梯监控智能化监管新格局
音视频