javascript+php 实现blob加密视频(html video)
- 1、mp4地址加密为blob链接在html5的video标签展示
PHP:
1 $file_path = "...mp4"; //视频文件地址
2 ob_end_clean();
3 ob_start();
4 //打开文件
5 $handler = fopen($file_path, 'rb');
6 $file_size = filesize($file_path);
7 //声明头信息
8 Header("Content-type: application/octet-stream");
9 Header("Accept-Ranges: bytes");
10 Header("Accept-Length: ".$file_size);
11 Header("Content-Disposition: attachment; filename=" . basename( $file_path));
12 // 输出文件内容
13 $oct_data = fread($handler,$file_size);
14 fclose($handler);
15 ob_end_flush();
16
17 return $oct_data;
JS:
1 //创建XMLHttpRequest对象
2 var xhr = new XMLHttpRequest();
3 var url ="";//服务端地址
4 //配置请求方式、请求地址以及是否同步
5 xhr.open('POST', url, true);
6 //设置请求结果类型为blob
7 xhr.responseType = 'blob';
8 //请求成功回调函数
9 xhr.onload = function (e) {
10 if (this.status == 200) {//请求成功
11 var video = document.getElementById('video_player');
12 //获取blob对象地址,并把值赋给容器
13 video.onload = function(e) {
14 window.URL.revokeObjectURL(video.src);
15 };
16 video.src = window.URL.createObjectURL(this.response);
17 video.play();
18 }
19 };
20 xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
21 xhr.send('id='+id);//传递参数
- 2、用FFMpeg将视频转为m3u8格式
JS(调用hls.js):
1 var url ="...m3u8";//m3u8地址
2 var video = document.getElementById('video_player');
3 if(Hls.isSupported()) {
4 var hls = new Hls();
5 hls.loadSource(url);
6 hls.attachMedia(video);
7 hls.on(Hls.Events.MANIFEST_PARSED,function() {
8 video.play();
9 });
10 }
11 else if (video.canPlayType('application/vnd.apple.mpegurl')) {
12 video.src = url;
13 video.addEventListener('loadedmetadata',function() {
14 video.play();
15 });
16 }
- 3、m3u8地址加密为blob链接
。。。待更新
javascript+php 实现blob加密视频(html video)的更多相关文章
- javascript实现blob加密视频源地址
一.HTML代码: <video id="my-video" class="video-js" playsinline controls preload= ...
- Java通过流对MP4视频文件进行加密,H5 video播放流
加密目标文件 代码如下: 不建议进行二次加密,若二次加密必须要二次解密 package com.xgt.util; import java.io.*; public class VideoEncode ...
- JavaScript学习--(智能社视频)
JavaScript学习,这是智能社官网上的JS视频,讲解的挺不错的,就是没有视频的demo,在视频中附上自己编写的一些demo... 下载地址:http://pan.baidu.com/s/1cPz ...
- 传智 Python基础班+就业班+课件 【最新完整无加密视频课程】
点击了解更多Python课程>>> 传智 Python基础班+就业班+课件 [最新完整无加密视频课程] 直接课程目录 python基础 linux操作系统基础) 1-Linux以及命 ...
- 利用WinHEX,重构狂牛加密视频1.0.0.1【只适合RIFF(AVI)】
幸亏是视频部分没有进行加密 1.用 WinHEX 打开狂牛加密视频, 查找 [RIFF] 字符串 2.光标放在 RIFF的 [R]上面, 按 CTRL+SHIFT+END 3.把选择的块写入新文件 H ...
- 《JavaScript闯关记》视频版硬广
<JavaScript闯关记>视频版硬广 stone 在菜航工作时,兼任内部培训讲师,主要负责 JavaScript 基础培训,2016年整理的<JavaScript闯关记>课 ...
- 【转】视频H5 video最佳实践
原文地址:https://github.com/gnipbao/iblog/issues/11 随着 4G 的普遍以及 WiFi 的广泛使用,手机上的网速已经足够稳定和高速,以视频为主的 HTML5 ...
- .NET MVC对接POLYV——HTML5播放器播放加密视频
官方参考文档:http://dev.polyv.net/2017/videoproduct/v-playerapi/html5player/html5-docs/ 1.上传视频之前根据自己需要对所上传 ...
- 和菜鸟们一起攻克金盾2018SS加密视频
今天刚拿到金盾2018SS加密的视频,界面如下:<ignore_js_op> 机器码由源来的“00000-00000-00000-00000”变成了一串32位的字符串了:<ignor ...
- javascript采用Broadway实现安卓视频自动播放的方法(这种坑比较多 不建议使用)
javascript采用Broadway实现安卓视频自动播放的方法Broadway 是一个 H.264 解码器, 比jsmpge清晰度要高 使用 Emscripten 工具从 Android 的 H. ...
随机推荐
- 部分 Linux 换国内源
Centos 8 / Redhat 8 换国内源 操作步骤 先把原本的官方 yum 源 删除 或 备份 cd /etc/yum.repos.d/ 备份(Redhat 同理) rename repo r ...
- ZS Shuffles Cards 题解
ZS Shuffles Cards 题解 我们把每一次抽一些数字牌再抽到 joker 视作一局游戏. 每局期望轮数 首先考虑 \(f_i\) 表示每一局游戏抽出 \(i\) 张牌的概率. 那么就是先抽 ...
- 多重断言插件之pytest-assume的简单使用
背景: pytest-assume是Pytest框架的一个扩展,它允许在单个测试用例中多次断言.通常情况下,当一个断言失败时,测试会立即停止执行,而pytest-assume允许我 们继续执行剩余的断 ...
- LeetCode952三部曲之一:解题思路和初级解法(137ms,超39%)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 题目描述 难度:困难 编程语言:Java 给定一个由不 ...
- Solution -「洛谷 P5610」「YunoOI 2013」大学
Description Link. 区间查 \(x\) 的倍数并除掉,区间查和. Solution 平衡树. 首先有个基本的想法就是按 \(a_{i}\) 开平衡树,即对于每个 \(a_{i}\) 都 ...
- JAVA中三种I/O框架——BIO、NIO、AIO
一.BIO(Blocking I/O) BIO,同步阻塞IO模型,应用程序发起系统调用后会一直等待数据的请求,直至内核从磁盘获取到数据并拷贝到用户空间: 在一般的场景中,多线程模型下的BIO是成本较低 ...
- oracle-查看oracle当前连接数,会话数
查看当前系统允许的进程连接数:方法一: show parameter process; 查看processes一列 方法二: select name,value from v$parameter wh ...
- 痞子衡嵌入式:MCUBootUtility v5.3发布,利用XMCD轻松使能外部RAM
-- 痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v5.0.0)发布过去4个多月了,期间痞子衡也做过三个小版本更新,但不足以单独介绍.这一次痞子衡为大家带来了全新重要版本 ...
- RedisStack部署/持久化/安全/与C#项目集成
前言 Redis可好用了,速度快,支持的数据类型又多,最主要的是现在可以用来向量搜索了. 本文记录一下官方提供的 redis-stack 部署和配置过程. 关于 redis-stack redis-s ...
- CF339D
题目简化与分析: 题目翻译说的还是太复杂了,其实只是给你 $ n $ 个数,奇数位 \(\operatorname{or}\),偶数位 \(\operatorname{xor}\). 会修改某个元素 ...