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. ...
随机推荐
- 浏览器Xbox 云游戏教程
我这里使用的是韩国的地方因为延迟和网速会比较快 Xbox 云游戏韩国网站 Xbox.com에서 Xbox Cloud Gaming(베타) 首先插件商店下载一个油猴插件 在系统语言和时区改为韩国 在 ...
- 【JMeter】使用BeanShell写入内容到文件
使用BeanShell写入内容到文件 目录 使用BeanShell写入内容到文件 一.前言 二.提取 三.写入 一.前言 在我们日常工作中,可能会遇到需要将请求返回的数据写入到文件中.在我们使用J ...
- iOS视图控件的内容显示和离屏渲染流程
iOS中UI控件内容显示流程 UIKit界面组成 iOS中组成页面的各个元素基本来自UIKit,我们可以修改布局或自定义绘制来修改UIKit元素的默认展示. UIView的页面显示内容有CALayer ...
- subDomainBrute源码分析
SubDomainsBrute简介 SubDomainsBrute是一款目标域名收集工具 ,用小字典递归地发现三级域名.四级域名.五级域名等不容易被探测到的域名.字典较为全面,小字典就包括3万多条 ...
- Record - Nov. 28st, 2020 - Exam. REC
Prob. 1 Desc. & Link. 暴力为 \(\Theta(NK)\). 正解(也许): 把每一个全为正整数的子段找出来. 然后判断一下中间连接的情况即可. 但是这样决策情况太多了. ...
- VMware Work Station使用ubuntu20.04挂载共享文件夹写入文件时出现输入/输出错误
原因是默认的max_write为0x00020000即128k,超过此大小会报错,另外big_writes,umask等选项也要加上, sudo /usr/bin/vmhgfs-fuse .host: ...
- 洛谷题解 | P1046 陶陶摘苹果
目录 题目描述 输入格式 输出格式 输入输出样例 说明/提示 题目思路 AC代码 题目描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶 ...
- 圆柱坐标系(Cylindrical Coordinate System)
参考:维基百科 圆柱坐标系(英语:cylindrical coordinate system)是一种三维坐标系统.它是二维极坐标系往 z-轴的延伸.添加的第三个坐标 \(z\) 专门用来表示 P 点离 ...
- 解密Prompt系列16. LLM对齐经验之数据越少越好?LTD & LIMA & AlpaGasus
LLM Agent中间插个队,总结下指令微调.对齐数据相关的方案,已经凑够7篇论文可以召唤神龙啦!论文都是以优化指令样本为核心,Data-Centric的观点比较一致:指令微调也就是对齐阶段的数据质量 ...
- Vue2系列(lqz)——Vue基础
文章目录 Vue介绍 一 模板语法 1.1 插值 1.1.1 概述 1.1.2 案例 二 指令 2.1 文本相关指令 2.2 事件指令 2.3 属性指令 三 class与style 3.1 class ...