部分浏览器,如qq浏览器会禁锢video标签获得到播放一语气,当用户鼠标移如播放器时会出现下载字样,为了惩办这一问题,咱们采选blob视频流的容貌进行加密;
当今市面上采选这种方式的相比多:比如哔哩哔哩,西瓜视频等,如图:
BLOB :二进制大对象,是一个不错存储二进制文献的容器。Video 使用 blob 二进制流需要前后端同期撑执。
拿到blob对象后,再通过URL.createObjectURL生成临时地址,赋值给video标签的src属性,这么就不错了。但其实不错平直从办事端采纳二进制对象,即是办事端把视频文献休养成二进制对象,通过接口给到前端,前端再生成dom string。
其中,在浏览器端也提供了BLOB有关的API,通过new Blog(…)生成blog对象。
前端获得这个blob对象后,的操作如下;
jq写法:
js原生写法:
5,视频切片加密:淌若是加载一个大视频的话,这就会花消大皆的流量,况且加载历程会执续占用带宽。
这个工夫咱们会用到视频分片处理。
试思一下,淌若咱们把视频切成一段一段的,每次只加载一段,看收场再加载一段,这么能有用的从简资源。
如故以B站的一个视频为例,在F12中的Network里不错看到,网站一直在一段一段的央求视频流的数据。(PS:这个m4s是HTML的一种花式)
切片加密旨趣:将视频从MP4文献切片成多个ts文献,并使用AES-128对每一派视频进行加密,临了生成m3u8文献。这里咱们需要用到ffmpeg。
补充:
惩办video标签视频不容下载步履1、屏蔽鼠标右键:<body oncontextmenu = "return false">
2、屏蔽视频播放器右下角三个点的下载按钮(chrome会表露):
video是需要提供一个视频地址,是以这两种方式并不是透顶屏蔽下载一语气(也可能有其他方式)。
是以,淌若不需要被坏心转载不祥分享的视频sex5 com,不提议使用video标签。