Video src Blob加密路径
一种是Java 生成 Blob 二进制流 咱不会
另一种是前端 window.URL 生成的Blob的方式
----html-----
<video id="my-video" class="video-js" playsinline controls preload="auto" controlslist="nodownload" controlslist="nofullscreen">
</video>
----js----
var video = document.getElementById("my-video");
window.URL = window.URL || window.webkitURL; //用来判断电脑系统window.webkitURL和window.URL是一样的,window.URL标准定义,window.webkitURL是webkit内核的实现,一般手机上就是使用这个,还有火狐等浏览器的实现。
var xhr = new XMLHttpRequest(); // 实现数据请求 进行http协议的通信
var play_url = "test.mp4" //网上的视频地址
**注意,大部分视频地址都有跨域问题,在服务器上应设置好跨域的问题方便前端请求使用**
xhr.open("GET", play_url, true); //打开一个地址,请求类型 地址 异步或同步
xhr.responseType = "blob"; // 设置返回值 为blob对象
xhr.onload = function (e) { //请求后要执行的函数
if (this.status == 200) { //成功
var blob = this.response; // 请求成功获取的参数 赋值给 “blob”
console.log(blob);
video.src = window.URL.createObjectURL(blob); //创建一个对象 视频只需要获取一次, 获取一次后,就需要释放这个对象。
// video.onload = function () { //获取到video 后执行的函数 ?
// window.URL.revokeObjectURL(video.src); //释放这个对象
// };
}
}
xhr.send(); //发送请求
这样就可以进行src 路径加密了, 改方法来源于网络。
常见问题
视频路径请求跨域问题
视频加密会造成视频加载过慢,具体更具视频大小来。