• 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)的更多相关文章

  1. javascript实现blob加密视频源地址

    一.HTML代码: <video id="my-video" class="video-js" playsinline controls preload= ...

  2. Java通过流对MP4视频文件进行加密,H5 video播放流

    加密目标文件 代码如下: 不建议进行二次加密,若二次加密必须要二次解密 package com.xgt.util; import java.io.*; public class VideoEncode ...

  3. JavaScript学习--(智能社视频)

    JavaScript学习,这是智能社官网上的JS视频,讲解的挺不错的,就是没有视频的demo,在视频中附上自己编写的一些demo... 下载地址:http://pan.baidu.com/s/1cPz ...

  4. 传智 Python基础班+就业班+课件 【最新完整无加密视频课程】

    点击了解更多Python课程>>> 传智 Python基础班+就业班+课件 [最新完整无加密视频课程] 直接课程目录 python基础 linux操作系统基础) 1-Linux以及命 ...

  5. 利用WinHEX,重构狂牛加密视频1.0.0.1【只适合RIFF(AVI)】

    幸亏是视频部分没有进行加密 1.用 WinHEX 打开狂牛加密视频, 查找 [RIFF] 字符串 2.光标放在 RIFF的 [R]上面, 按 CTRL+SHIFT+END 3.把选择的块写入新文件 H ...

  6. 《JavaScript闯关记》视频版硬广

    <JavaScript闯关记>视频版硬广 stone 在菜航工作时,兼任内部培训讲师,主要负责 JavaScript 基础培训,2016年整理的<JavaScript闯关记>课 ...

  7. 【转】视频H5 video最佳实践

    原文地址:https://github.com/gnipbao/iblog/issues/11 随着 4G 的普遍以及 WiFi 的广泛使用,手机上的网速已经足够稳定和高速,以视频为主的 HTML5 ...

  8. .NET MVC对接POLYV——HTML5播放器播放加密视频

    官方参考文档:http://dev.polyv.net/2017/videoproduct/v-playerapi/html5player/html5-docs/ 1.上传视频之前根据自己需要对所上传 ...

  9. 和菜鸟们一起攻克金盾2018SS加密视频

    今天刚拿到金盾2018SS加密的视频,界面如下:<ignore_js_op> 机器码由源来的“00000-00000-00000-00000”变成了一串32位的字符串了:<ignor ...

  10. javascript采用Broadway实现安卓视频自动播放的方法(这种坑比较多 不建议使用)

    javascript采用Broadway实现安卓视频自动播放的方法Broadway 是一个 H.264 解码器, 比jsmpge清晰度要高 使用 Emscripten 工具从 Android 的 H. ...

随机推荐

  1. Python Web:Django、Flask和FastAPI框架对比

    Django.Flask和FastAPI是Python Web框架中的三个主要代表.这些框架都有着各自的优点和缺点,适合不同类型和规模的应用程序. Django: Django是一个全功能的Web框架 ...

  2. Java语言与其环境:常见问题解答

    Java语言与其环境:常见问题解答 在本博客文章中,将深入探讨Java编程语言的特点和环境,解释一些常见的关于Java的疑问. Java语言的特点是什么? Java是一种高级编程语言,它具有以下几个主 ...

  3. [初学C#] 第二习题 : 快递跟踪信息查询

    刚学C#, 折腾的一个小玩意. 熟悉和了解C#这门编程语言. 没有啥特殊意义 解锁技能 - System.Net 的 WebRequest等http请求 - Newtonsoft.Json 这个第三方 ...

  4. Windows 某些软件显示"口口"解决办法

    和乱码不同,文字变成"口口",一般是语言环境出错了. 解决办法 开始->控制面板->区域 (时钟.语言和区域)->区域:更改设置->管理->非 Uni ...

  5. Node.js 20 —— 几个令人大开眼界的特性

    前言:欢迎来到 Node.js 20 Node.js 20 已经发布,带来了创新和激动人心的新时代.这个开创性的版本于2023年4月18日首次亮相,并将在2023年10月发布长期支持(LTS)版本,并 ...

  6. 五分钟k8s入门到实战-应用配置

    背景 在前面三节中已经讲到如何将我们的应用部署到 k8s 集群并提供对外访问的能力,x现在可以满足基本的应用开发需求了. 现在我们需要更进一步,使用 k8s 提供的一些其他对象来标准化我的应用开发. ...

  7. 详解RecyclerView的预布局

    概述 RecyclerView 的预布局用于 Item 动画中,也叫做预测动画.其用于当 Item 项进行变化时执行的一次布局过程(如添加或删除 Item 项),使 ItemAnimator 体验更加 ...

  8. GPT-4 API waitlist

    Skip to main content Site Navigation GPT-4 API waitlist We're making GPT-4 available as an API for d ...

  9. 造轮子之EventBus

    前面基础管理的功能基本开发完了,接下来我们来优化一下开发功能,来添加EventBus功能.EventBus也是我们使用场景非常广的东西.这里我会实现一个本地的EventBus以及分布式的EventBu ...

  10. [ABC218F] Blocked Roads 题解

    Blocked Roads 题目大意 给定一张 \(n\) 个点,\(m\) 条边的无向图,每条边的边权均为 \(1\).对于每一个 \(i\in [1,m]\) 求出从点 \(1\) 到 \(n\) ...