HTML5视频播放的一点儿小收获

非常好用的 HTML5 视频播放插件 MuiPlayer 是一款 HTML5 视频播放插件,其默认配置了精美可操作的的播放控件,涉及了常用的播放场景,例如全屏播放、播放快进、循环播放、音量调节、视频解码等功能。播放器的设计兼容了在 PC、Mobile 端运行,提供了 “移动端” 以及 “PC端” 两类扩展插件,因此你也可应用于在 Android、Ios 的 Webview 中使用。 阅读详情

 

事情的起因是因为本人最近在淘宝网上买了一套Photoshop的视频,但是有个问题就是,它只能在淘宝学习模块观看,但是淘宝学习做的不能用难用来形容(相比网易云课堂、慕课网),于是我萌生了把视频下载下来的想法。

开始准备工作,以为满心欢喜的打开了F12,准备把它抓取出来。然后就开始问题来了:

然后,发现它的URL是一个blob,由此,开始引入Blob类。

我才疏学浅,就不进行解释了,直接贴出MDN的地址 。

大概知道就是,这个东西被后台“加密”了一次(后面了解了这个技术以后,发现主流的iqiyi、bilibili都是这样的做法)。

这是个怎么样的过程呢,其实就是后台再向前台返回流的时候,前台以{ responseType: 'blob'}的形式进行接收。这样的话,我们的多媒体文件就没有直接暴露在浏览器中,就相对来说不会轻易的被爬虫获取。因为我是参考的网上的高人的博客,雷同的部分就不多追谁,在此,我仅仅贴出部分代码:

import Hls from 'hls.js';
import axios from 'axios';

export default {
  name: 'home',
  data () {
    return {
      videoSrc: "这是一个正确指向的url"
    }
  },
  mounted(){
    var video = this.$refs.hls;
    axios.get(this.videoSrc, { responseType: 'blob' }).then(response => {
      if(typeof Hls !== undefined && Hls.isSupported()) {
        var hls = new Hls();
        hls.loadSource(URL.createObjectURL(response.data));
        hls.attachMedia(video);
        hls.on(Hls.Events.MANIFEST_PARSED,() => { video.play(); });
    } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
      video.src = this.videoSrc;
      video.addEventListener('loadedmetadata',function() {
          video.play();
        });
      }
    });
  }
}

经过这样的折腾之后(请忽略代码中的Hls,稍后会提到),其实对于那种比较小的视频(当时我测试的),此时其实已经能够应付了,但是我比较好奇了,假如说我一个1G的视频文件也直接这样传输到前台,可能吗?我觉得是肯定不可能吧。

于是继续查资料,终于找到了目前主流的做法。跳转门,雷同的我就不多叙述,由此引入上面代码中的HLS(本文中我也仅仅只研究了HLS,RTMP尚未覆盖),因为HLS是Apple公司开发的技术,默认只有在Safari中支持,需要在Chrome等浏览器中支持需要引入hls.js(如果你用video.js那就另当别论了哟)。

最后,发现淘宝学习也是用的HLS,于是我想把视频下载下来的初衷似乎无法完成了,不过感谢这个机会让自己了解到这么多东西,提前祝大家新年快乐,希望能够帮到大家。

Html5组件实现视频播放 阅读详情

相关推荐

简易HTML5视频播放器实现教程

全屏API提供了一种标准的方式,允许开发者控制浏览器进入全屏模式,以便在用户的屏幕上最大化显示内容。通过全屏API,开发者可以实现网页内容(例如视频播放器)全屏显示,从而提供更加沉浸的用户体验。使用全屏API的基本步骤通常包括:检测当前环境是否支持全屏API。使用方法请求全屏模式。通过事件监听器处理全屏模式的进入和退出。这些功能通过属性、方法以及事件实现。当请求全屏时,浏览器会询问用户是否允许,一旦用户允许,相应的元素将会进入全屏模式。

weixin_33480380的博客 1736

HLS视频拉流播放

HLS视频拉流播放

m0_60259116的博客 1539

自定义HTML5视频播放器开发实战

本文还有配套的精品资源,点击获取 简介:随着移动设备的普及,构建个性化和高性能的HTML5视频播放器需求增长。本项目涉及HTML5视频元素、JavaScript事件处理、DOM操作、Video API交互等关键技术点,并注重响应式设计、跨浏览器兼容性以及性能优化。开发者将学习如何通过这些技术创建一个用户交互友好、具备丰富功能的自定义视频播放器。 1. HTML5视...

weixin_33256096的博客 1756

前端使用hls插件播放监控视频流

hls

qq_54413072的博客 1164

HTML5视频播放器的构建与JavaScript控制

播放

weixin_42504649的博客 3万+

保姆级教程:用STM32CubeMX HAL库搞定ESP8266连接,附串口printf调试全流程

本文提供了一份详细的STM32CubeMX HAL库教程,指导开发者如何实现ESP8266无线模块的连接与调试。从开发环境搭建、串口配置到AT指令通信解析,涵盖了物联网开发中的关键步骤和常见问题解决方案,帮助开发者快速掌握STM32与ESP8266的集成技术。

weixin_28273593的博客 504

video标签播放m3u8格式视频流完整代码

只需替换播放地址即可播放,完整代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script><!-- hls.js必须引入,

冉冉胜起博客 7703

WinDbg调试工具安装全攻略:从下载到配置的保姆级教程(Windows 10/11适用)

本文提供了一份详细的WinDbg调试工具安装与配置指南,适用于Windows 10/11用户。文章对比了WinDbg Preview独立版与SDK内置经典版的区别,并手把手指导从Microsoft Store或Windows SDK完成安装。核心部分重点讲解了如何配置符号文件路径与源代码路径,这是让WinDbg发挥强大调试功能的关键步骤,并针对常见安装问题提供了实用的排错方法。

hp777的博客 389

前端播放hls视频

m3u81.m3u8是苹果公司推出的视频播放标准。2.该标准由一个m3u8文件和指向的若干ts传输流文件组成m3u8ts。

过客如期的博客 2783

如何利用CN3791实现太阳能电池板对锂电池的高效充电管理

本文详细介绍了如何利用CN3791芯片实现太阳能电池板对锂电池的高效充电管理。CN3791集成了MPPT(最大功率点跟踪)功能,能智能调节太阳能板的输出,确保在不同光照条件下获得最大功率。文章涵盖芯片工作原理、外围电路设计、充电全过程管理及实际应用经验,帮助开发者优化太阳能充电系统效率。

weixin_33709219的博客 499

Arduino for ESP32-----ESP-NOW介绍及使用

ESP-NOWESP-NOW介绍ESP-NOW支持以下特性ESP-NOW技术也存在以下局限性获取ESP32的MAC地址ESP-NOW单向通信(One-way communication)ESP32单板间的双向通信一对多通信(一发多收)一对多通信(多发一收) ESP-NOW介绍 ESP-NOW是一种由Espressif开发的协议,可以让多个设备在不使用Wi-Fi的情况下相互通信。该协议类似于低功耗的2.4GHz无线连接。设备之间的配对需要在通信之前完成。配对完成后,连接是安全的、点对点的,不需要握手。这意味着

Better_man1的博客 2万+

HLS.js:使用全解析

HLS.js是一个轻量级的JavaScript库,旨在为不支持原生HLS的浏览器提供兼容性。它通过解析MPEG-TS流并在客户端进行解码,使HTML5元素能够播放HLS内容。HLS.js利用了现代浏览器中的Media Source Extensions (MSE) 和 Encrypted Media Extensions (EME) API来实现这一目标。

球球不吃虾WHR2349博客 1万+

基于Opencv+Mediapipe的头部姿态检测

在学生课堂专注度检测项目中,可以通过学生头部姿态来确定学生注意力方向,从而判断其是否专注于课堂。

weixin_67879842的博客 2338

【HTML】讲讲HTML5视频播放的方式

上节讲了HTML5的音频播放,和音频播放一样,需要借助flash才能在网页上使用视频。随着HTML5出来以后,就不需要借助flash了,本身可以通过video标签支持。

归子莫的博客 1万+

Fritzing0.9.10下载安装和简单使用

Fritzing 作为一款电子设计自动化软件,其画图用于导入到论文和文档,清晰好看,能解决用相机拍实物照片杜邦线很乱的痛点。

李同学Lino的博客 3万+

微信h5 支付,已经获得weixin://wap/pay?prepayid,但是无法调起微信客户端支付

结果几个接口,最终获得到到一直包含调起微信客户端的支付链接 但是直接打开这个页面,却不能调起微信客户端支付,原因是,在打开新页面的时候,需要设置a.rel = "noreferrer"; <body> <a href="javascript:void(0)" onclick="openNewWindowNoreferrer(this)">点击支付</a&...

qq_31683775的博客 4万+

使用html5进行视频播放

一直以来网页大多是使用 flash 来播放视频。在目前唱衰 flash 的环境下,HTML5 为我们带来了一个网页内视频播放的解决方案—— <video>标签。 在HTML5 中,可以通过HTML标签“audio”和“video”来支持嵌入式的媒体,使开发者能够方便地将媒体嵌入到HTML文档中。 视频格式 当前,video 元素支持三种视频格式: Ogg = 带有 Theo...

weixin_30245867的博客 1746

为YOLOv11引入加权双向特征金字塔(BiFPN)

本文介绍了将BiFPN应用于YOLOv11模型以提升边缘设备上小目标检测精度的实践。针对传统FPN在特征融合时的信息丢失问题,采用带可学习权重的BiFPN结构进行改造,实现了不同层级特征的动态融合。重点阐述了WeightedFeatureFusion模块的实现细节、neck结构改造方法及训练部署注意事项。实验表明,该改进使小目标AP提升3.1%,参数量仅增加5%,在精度和效率间取得良好平衡。文章还分享了权重初始化、归一化处理等实用技巧,并强调需根据数据特性评估改进效果,重新计算anchor等关键点。

as1225120794的博客 351

HTML5视频播放控制

用HTML5中的video标签播放视频,用JS控制视频的播放。

fenglin247的博客 8595

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

HTML5 自定义视频播放器

HTML5 自定义视频播放器第一步:获取播放器第二步:实现播放与暂停第三步:实现全屏操作第四步:实现播放的逻辑第五步:实现播放过程的逻辑第六步:实现视频的跳播第七步:播放完毕后重置播放器的状态 在html5中播放 视频 和 音频 有单独的语义标签 //播放视频 &amp;amp;amp;lt;video src=&amp;amp;quot;&amp;amp;quot; controls autoplay loop&amp;amp;amp;gt;&amp;amp;amp

weixin_44159735的博客 9691

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

15个最佳HTML5视频播放器

随着YouTube最近的一项政策变化,即要求创作者在获得广告收入之前必须达到10,000次观看,因此我们看到了YouTube黄金时代的落日。 现在,比以往任何时候都更需要推动创意者开发自己的视频平台并出售自己的广告。 无论您是YouTube创作者还是有抱负的电影导演,这份15个最佳HTML5视频播放器列表都将帮助您开始开发以视频为中心的网站。 您最需要什么功能? 一个简单的球员? ...

代码教主 3万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

HTML5多媒体(音频、视频播放)

HTML5多媒体HTML5多媒体音频播放视频播放多文件播放音频播放器视频播放器 HTML5多媒体 音频播放 <!DOCTYPE html> <html> <head> <title>音频播放</title> </head> <body> <h2>音频播放</h2> <audio src="birds.mp3" contro

若有博文对您有帮助,欢迎点赞关注,收藏评论。 4669

HTML5 视频播放插件-MuiPlayer

HTML5 视频播放插件MuiPlayer介绍及使用

技术引领业务创新 9842

自己动手做一款HTML5视频播放器

自己动手做一款HTML5视频播放器 第一步:获取播放器 第二步:实现播放与暂停 第三步:实现全屏操作 第四步:实现播放的逻辑 第五步:实现播放过程的逻辑 第六步:实现视频的跳播 第七步:播放完毕后重置播放器的状态 在html5中播放 视频 和 音频 有单独的语义标签 //播放视...

专注企业级视频应用,企业视频直播、MR虚拟直播、教育培训连麦直播 7166

13款用于Web的流行HTML5视频播放器

播放器是最佳MPEG-DASH播放器之一,其声明的目标是:“dash.js是DASH行业论坛发起的,目的是使用W3C所定义的媒体源扩展API来实现产品级品质的框架,该框架用于创建播放MPEG-DASH内容的视频和音频播放器。这款播放器还拥有用于下载视频切片的自定义ABR算法,并且可以通过供应商(如NPAW、Conviva、MediaMelon、Mux Data、Agama等)出色地支持Multi-DRM、广告插入(CSAI和SSAI)、字幕、分析等功能。它免费、开源且由技术社区的开发者维护。

顺其自然~专栏 1万+

出色的社区网站_5个出色HTML5视频播放器

出色的社区网站There has been an increasing demand for creators to develop their own custom video platform which they can use to advance their own advertising, marketing or branding goals. Although YouTube an...

culi3182的博客 4481
上一篇: 对于JavaScript同样的正则表达式多次执行的结果不一致分析
下一篇: ElementUI解决自定义表头
遛狗的代码
博客等级 码龄11年 10粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值