嗅探网站视频

news2024/11/25 13:15:22

前置知识

MP4是我们常见的视频格式,往往我们在播放服务器视频时直接就是请求的MP4视频源。但其实这样并不好,MP4头文件[ftyp+moov]较大,初始化的播放需要下载完整的头文件并进行解析,之后再下载一定长度的可播视频片段才能进行播放。另外随着视频尺寸的增大头文件也会不断变大,这个初始播放时间也会更长。针对这种情况需要一种能加快视频初始解析的方法,HLS就是苹果提出的用于解决这种问题的方案。

HLS为HTTP Live Streaming的缩写,是由苹果公司提出的基于HTTP的流媒体网络传输协议,它可以同时支持直播和点播,还支持多清晰度、音视频双轨、字幕等功能。它的原理是将一整条视频分成多段小的视频,完整的播放是由这一个个片段拼接而成的。

HLS在移动端使用很广泛,当前支持HLS协议的客户端有:

  • iOS 3.0及以上,AVPlayer原生支持HLS
  • Android 3.0及以上
  • Adobe Flash Player 11.0及以上

它的大致原理是这样的:
在这里插入图片描述
1、采集音视频
2、在服务器编码音视频
3、编码后以MPEG-2的传输串流形式交由切片器(Stream Segmenter)
4、切片器创建索引文件和ts播放列表,索引文件用于指示音视频位置,ts为真实的多媒体片段
5、将上一步资源放到HTTP服务器上
6、客户端请求该索引文件进行播放,可以通过索引文件找到播放内

实现HLS的一个关键步骤是上面的第四步,即索引文件和ts播放列表的组织。这里用到的就是M3U8格式。M3U8是Unicode版本的M3U,8代表使用的是UTF-8编码,M3U和M3U8都是多媒体列表的文件格式。

M3U8文件的具体内容就不介绍了,这里只需知道它是视频的索引文件。

实操方法

手机的X浏览器支持嗅探视频的链接,mp4文件的话当然直接下载该文件就可以了,但是大多数情况嗅探出来的链接都是m3u8文件,手机的IDM支持解析m3u8文件,基于它去下载视频

但是电脑的IDM没法解析m3u8文件。电脑也有一些插件支持嗅探出来链接,如Edge浏览器的FetchV。
在这里插入图片描述
它本身也支持对m3u8文件的解析,并基于它进行视频的下载,如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 但是这些浏览器上的插件都会有一个关键缺陷,它们都是使用浏览器的资源来工作的,这就导致它们直接把数据放到内存里面缓存!
    在这里插入图片描述
    如下图,下载几个G的视频,占用的内存也达到几个G了,这就很蛋疼了,一旦系统资源不够,选项卡随时就崩掉了。
    在这里插入图片描述

  • 而且,很多浏览器会有标签睡眠的功能,一旦一个选项卡太久没用就会进入睡眠状态,这个会释放该选项卡的部分内存

如下面是对Edge浏览器的选项卡睡眠功能的介绍。
https://blogs.windows.com/msedgedev/2021/03/04/edge-89-performance/
https://techcommunity.microsoft.com/t5/articles/sleeping-tabs-faq/m-p/1705434

虽然选项卡睡眠功能只会释放部分内存,从而实现瞬间唤醒选项卡的效果,而不是关闭选项卡,关闭选项卡是所有内存都释放掉,唤醒时就得重新加载所有内容了。
但是,睡眠功能到底会不会错误地释放插件的视频缓存数据还是一个未确定的问题。
在这里插入图片描述
当然,也可以配置一下,针对这些插件的tab不睡眠,它本身也有一些策略来避免对某些tab进行睡眠。
在这里插入图片描述
在这里插入图片描述

因此,很有必要找到一个好用的m3u8解析工具!下面就是一个很好的开源工具N_m3u8DL
https://github.com/nilaoda/N_m3u8DL-CLI
这个是使用文档
https://nilaoda.github.io/N_m3u8DL-CLI/

N_m3u8DL基于.NET Framework 4.6框架开发,调用系统类库进行HTTP下载。
在这里插入图片描述
依赖.NET Framework 4.6框架,但是貌似系统已经有了,就不用下载安装了,需要再从如下链接下载
https://dotnet.microsoft.com/download/thank-you/net46-chs

还需要ffmpeg,为了方便就下载这个文件,内置了ffmpeg,不用自己下载。
在这里插入图片描述

  • CLI是命令行的版本,打开后直接输入m3u8链接即可触发下载。
  • SimpleG是图形化版本,可以方便配置参数。
    在这里插入图片描述
    支持自定义下载线程的个数,前面的浏览器插件最大只支持4个线程,这里默认最小线程数就是16个了,不过可能部分站点会因为线程过多而将你的ip封禁。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/100955.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java 瑞吉外卖day4及补全功能 文件上传下载 菜品分页查询 Dto类 菜品状态修改 菜品停售以及菜品删除

文件上传下载 文件下载介绍 文件上传代码实现 服务端上传: RestController RequestMapping("/common") Slf4j public class CommonController {Value("${reggie.path}")private String basePath;//从配置文件读取设置好的basePathPostMapping…

【教程】5步免费白嫖使用Grammarly Premium高级版

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 1、使用Chrome或者Edge浏览器。 2、安装名为Cookie-Editor的谷歌Chrome扩展。 https://chrome.google.com/webstore/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm 2、打开Grammarly网站,…

DBCO-PEG-Cyanine5.5,CY5.5 PEG DBCO,二苯并环辛炔-聚乙二醇-Cyanine5.5

中文名:二苯并环辛炔-聚乙二醇-菁染料CY5.5,二苯并环辛炔-聚乙二醇-Cyanine5.5,菁染料CY5.5PEG环辛炔,花青素Cyanine5.5-聚乙二醇-二苯并环辛炔英文名:DBCO-PEG-CY5.5,DBCO-PEG-Cyanine5.5,Cyan…

位运算、递推与递归、前缀和、差分、二分

题目链接:位运算、递推与递归、前缀和、差分、二分 - Virtual Judge (vjudge.net) A.洛谷 - P2280 样例输入: 2 1 0 0 1 1 1 1样例输出: 1 分析:这道题先用二维前缀和处理一下地图,这样我们就可以在O(1)的复杂度内…

SIT-board 远程交互式白板的实现

来自上海应用技术大学的「SIT-board」团队,在七牛云校园黑客马拉松中勇夺冠军,以下是他们的参赛作品——SIT-board远程交互白板的实现过程。 需求分析 基本绘图功能 作为一个在线协作白板,离线的本地化的白板是一切功能的前提。本地白板中需…

Uniapp安卓apk原生云端打包完整过程

1.进入HbuliderX,找到菜单的发行 2.选择原生App-云打包,接着会弹出一个对话框,如图: 3.在对话框中勾选Andriod(apk包)、选择使用云端证书。 证书说明如下: (1)使用自有证书:开发者自己生成…

左偏树解决猴王问题

一 问题描述 在森林里住着 N 只好斗的猴子。开始时,猴子们彼此不认识,难免吵架,吵架只发生在互不认识的两只猴子之间。吵架发生时,两只猴子都会邀请它们中最强壮的朋友来决斗。决斗过后,两只猴子和它们的所有朋友都认…

screenviewer工具在树莓派3B+上的适配

目录 工具简介 适配初衷 第三方模块适配问题 源码代编译问题 最后完美运行如图 工具简介 屏幕截图web端展示功能、视频设备如摄像头、视频流等接入,并可web端展示。 适配初衷 这样的工具如果能完美运行在嵌入式linux上是极好的,目前仅适配了wind…

为什么你的程序跑不满CPU?——简单聊聊多核多线程

最近同事测试自己的程序,感觉处理耗时太长,一看CPU使用率,才25%。想要提高CPU使用率降低处理时长,于是向我询问。以此为契机写了这篇,聊聊多核多线程。水平有限,仅供参考。 1.单核单线程 一切开始的前提是…

CCProxy + Proxifier 通过另一台电脑访问网络

问题场景描述: 公司提供的 vpn 只提供了 windows 客户端;Mac没有客户端,而家里的 windows 电脑是多年前的旧电脑,配置不足,所以不能使用;这里整理了一种 搭建跳板机 作为中专的方式进行访问 搭建过程 1.…

OpenCV(7)-OpenCV中的滤波器

OpenCV中的滤波器 图像滤波 滤波的作用:一幅图像通过滤波器得到另一幅图像;其中滤波器又称为卷积核,滤波的过程被称为卷积 卷积的几个基本概念: 卷积核的大小: 卷积核一般为奇数,如3 * 3,5 * 5&#xf…

【DELM回归预测】基于matlab灰狼算法改进深度学习极限学习机GWO-DELM数据回归预测【含Matlab源码 1867期】

⛄一、基本极限学习机算法简介 1 核极限学习机 极限学习机(ELM)是一种含L个神经元的单隐藏层前馈神经网络(SLFN)算法,相比于其他神经网络(如BP)具有训练速度快和泛化能力强等特点。但是ELM算法是随机生成各个神经元连接权值和阈值,易造成算法的波动性和…

架构师必读 —— 逻辑模型(4)

解决问题的基本步骤 如果情绪急躁,过于钻牛角尖,坚持“这就是唯一结论”的态度,就会阻碍逻辑思考。情绪急躁、钻牛角尖的行为属短见薄识,只能导致主观臆断。一味地想“简短地传达观点”时,往往会跳过三角逻辑中的论据和…

VSCode下载和安装详细步骤

一、下载 点击 这里 到Visual Studio Code官网下载。 选择下载版本,大家按自己的电脑版本进行选择(这里我选的是Windows 64位的)。 二、安装 1. 下载好之后,双击进行安装; 2. 选择【我同意此协议】,再点…

如何快速上手react中的redux管理库

前言: 什么是redux?redux和vuex一样,都被统称为状态管理库,是核心数据存贮与分发、监听数据改变的核心所在。 可以简单说下redux和vuex的区别: 相同点 state 共享数据流程一致:定义全局state,…

【DELM回归预测】基于matlab粒子群算法改进深度学习极限学习机PSO-DELM数据回归预测【含Matlab源码 1884期】

⛄一、PSO-DELM简介 1 DELM的原理 在2004年,极限学习机(extreme learning machine,ELM)理论被南洋理工大学的黄广斌教授提出,ELM是一种单隐含层前馈神经网络(single-hidden layer feedforward neural network,SLFN&am…

静态HTML个人音乐网页 大学生网页设计作业 简单音乐娱乐网页制作 DW个人网站模板下载 大学生简单音乐网页作品代码

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

基于风驱动算法改进的DELM预测-附代码

风驱动算法改进的深度极限学习机DELM的回归预测 文章目录风驱动算法改进的深度极限学习机DELM的回归预测1.ELM原理2.深度极限学习机(DELM)原理3.风驱动算法4.风驱动算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理 ELM基础原理请参考&#xff1…

12月编程语言排行榜,java跌至低点,低代码发展迅猛

2022年12月编程语言排行榜:TIOBE Index for December 2022 TIOBE揭晓了12月全球编程语言排名,Python 以0.1%微弱优势领先C语言,成功夺冠。目前,这两种语言竞争焦灼,都是多次霸榜。 本次榜单,C作为一匹黑马…

chrome插件开发之发送网络请求v3版本

如果某个扩展希望访问自己所属域以外的资源,比如说来自http://www.google.com的资源(假设该扩展不是来自www.google.com), 浏览器不会允许这样的请求,除非该扩展获得了相应的跨域请求允许。 获取跨域请求允许 通过添加域名或者域名匹配到manifest文件的p…