1. 介绍
正常的 m3u8 格式视频通过控制台是无法下载的,但是可以通过插件下载,下面介绍如何规避这个问题。
思路:后端生成一个一次性的密钥,前端放在请求头中,可以防止大部分插件下载。这里只说前端。文章来源:https://www.toymoban.com/news/detail-820418.html
2. 实现
集成 DPlayer 播放器这里就不说了,网上一大推。文章来源地址https://www.toymoban.com/news/detail-820418.html
// 接口封装
disposable() {
return new Promise((resolve, reject) => {
axios.get('file/disposable').then(res => {
resolve(res);
}).catch(err => {
reject(err);
});
});
},
// 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);
},
}
},
});
到了这里,关于DPlayer m3u8 视频禁止下载的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!