网页在线视频下载教程(m3u8格式介绍及下载教程)「建议收藏」

简介:m3u8文件是苹果公司使用的HTTPLiveStreaming(HLS)协议格式的基础。HLS是新一代流媒体传输协议,其基本实现原理为将一个大的媒体文件进行分片,将该分片文件资源路径记录与m3u8文件(即playlist)内,其中附带一些额外描述(比如该资源的多带宽信息等…)用于提供给客户端。客户端依据该m3u8文件可获取对应的媒体资源,进行播放。因此,客户端获取HLS流文件,主…

大家好,又见面了,我是你们的朋友全栈君。

简介:

m3u8文件是苹果公司使用的HTTP Live Streaming(HLS)协议格式的基础。HLS是新一代流媒体传输协议,其基本实现原理为将一个大的媒体文件进行分片,将该分片文件资源路径记录与m3u8文件(即playlist)内,其中附带一些额外描述(比如该资源的多带宽信息等…)用于提供给客户端。客户端依据该m3u8文件可获取对应的媒体资源,进行播放。因此,客户端获取HLS流文件,主要是对m3u8文件进行解析操作。

m3u8文件实质是一个播放列表(playlist),其可能是一个媒体播放列表(Media Playlist),或者是一个主列表(Master Playlist)。但无论是哪种播放列表,其内部文字使用的都是utf-8编码。

(1)当m3u8文件作为媒体播放列表(Media Playlist)时,其内部信息记录的是一系列媒体片段资源,顺序播放该片段资源,即可完整展示多媒体资源。其格式如下所示:

#EXTM3U
#EXT-X-TARGETDURATION:10

#EXTINF:9.009,
http://media.example.com/first.ts
#EXTINF:9.009,
http://media.example.com/second.ts
#EXTINF:3.003,
http://media.example.com/third.ts

对于点播来说,客户端只需要顺序下载上述片段资源,依次进行播放即可。而对于直播来说,客户端需要定时重新请求该m3u8文件,看下是否有新的片段数据需要进行下载并播放。

(2)当m3u8作为主播放列表(Master Playlist)时,其内部提供的是同一份媒体资源的多份流列表资源(Variant Stream)。其格式如下所示:

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=150000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"
http://example.com/low/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=240000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"
http://example.com/lo_mid/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=440000,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"
http://example.com/hi_mid/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=640000,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"
http://example.com/high/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=64000,CODECS="mp4a.40.5"
http://example.com/audio/index.m3u8

该备用流资源制定了多种不同的码率,不同格式的媒体播放列表,并且,该备用流资源也可同时提供不同版本的资源内容,比如不同语言的音频文件,不同角度拍摄的视频文件等等。客户可以根据不同的网络状态选取合适码率的资源,并且最好根据用户喜好选择合适的资源码率。

教程:

我们在用网页观看在线视频时,很多视频是不提供下载接口的,并且使用google强大的插件都无济于事,这里提供使用m3u8格式来破解并下载视频的教程。

目标:下载某在线网页的电视剧《风筝》第五集,视频链接为:https://www.wandouys.com/video/play/35616-4-5.html

网页在线视频下载教程(m3u8格式介绍及下载教程)「建议收藏」

步骤一:目前使用Google浏览器,按F12进入开发者模式,打开Network,并刷新,找到这个视频的m3u8文件,双击即可下载。如图所示:

网页在线视频下载教程(m3u8格式介绍及下载教程)「建议收藏」

用记事本打开下载好的playlist.m3u8文件,这里面保存着把各个被分段之后的视频的排序,此处媒体片段的路径采用了相对路径表示。如图所示:

网页在线视频下载教程(m3u8格式介绍及下载教程)「建议收藏」

为了后续下载方便,需要把相对路径转化为绝对路径。这里我们选取其中的一个媒体片段,点击媒体片段out001.ts,右侧Headers栏会显示出当前选取的媒体片段的绝对路径。如图所示:

网页在线视频下载教程(m3u8格式介绍及下载教程)「建议收藏」

复制该绝对地址,并对刚刚下载好的m3u8文件中的相对路径进行替换。如图所示:

网页在线视频下载教程(m3u8格式介绍及下载教程)「建议收藏」

至此,替换m3u8文件完成,接下在的任务就是下载这些媒体文件了。

步骤二:下载并安装IDM软件,这里使用Internet Download Manager(IDM) v6.25.24 绿色汉化特别破解注册版.zip,解压即可,稍后将上传该压缩包。软件效果如图所示:

网页在线视频下载教程(m3u8格式介绍及下载教程)「建议收藏」

使用记事本打开修改好的m3u8文件,全选替换好的m3u8文件,在IDM中,选择“任务”——->“”从剪切板中添加批量下载”,即可弹出需要下载的视频列表,如图所示:

网页在线视频下载教程(m3u8格式介绍及下载教程)「建议收藏」

选择文件保存目录,并点击“确定”,即可开始下载。如图所示:

网页在线视频下载教程(m3u8格式介绍及下载教程)「建议收藏」

步骤三:使用格式工厂,将下载好的ts文件合并,并转码为mp4格式。即可得到该网页视频文件。如图所示:

网页在线视频下载教程(m3u8格式介绍及下载教程)「建议收藏」

 

 

 

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/124883.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 将JS嵌入C++ ————Spidermonkey引擎的使用「建议收藏」

    将JS嵌入C++ ————Spidermonkey引擎的使用「建议收藏」Spidermonkey是火狐的js引擎。我曾经仔细比较过C++嵌入Spidermonkey和v8,最终因为对多线程并行比较执着,于是最终选择了Spidermonkey。网上流传的关于Spidermonkey引擎的用法大多还停留在1.8.5版本。随着更新迭代,高版本的js引擎更快更符合js标准也更好用,但相关资料比较少,官网文档更是惨不忍睹几乎和没有文档一样。最近我接触到了…

    2022年10月16日
    5
  • Java 审计之xss审计要点

    Java审计之xss审计要点0x00前言上篇文章讲了xss的一个简单审计,这篇文章可以来复盘一下上篇文章内容在上篇文章基础上做一个详细说明,以及其他的一些审计姿势。首发:Java审计之XSS

    2021年12月12日
    265
  • android之database disk image is malformed (code 11)

    做来电显示归属地和查询归属地功能的时候,需要从服务器下载数据库,但是下载之后,查询总是报错database disk image is malformed (code 11)开始以为是查询语句不对,后来意识到,跟之前解析包时出现错误是一样的问题,下载过程中格式损坏了。于是解决方法跟http://blog.csdn.net/jason0539/article/details/2174

    2022年3月11日
    43
  • c语言中实型标准,在C语言中的实型变量分为两种类型.docx

    c语言中实型标准,在C语言中的实型变量分为两种类型.docxPAGEPAGE PAGEPAGE 第二章练习题 填空题 1 在 C 语言中的实型变量分为两种类型 它们是 float1 2 若有定义 charc 010 则变量 c 中包含的字符个数为 3 已知字母 a 的 ASCII 码为十进制数 97 且设 ch 为整型变量 则表达式 ch a 8 3 的值为 4 在 C 语言中 以 16 位 PC 机为例 一

    2025年12月8日
    7
  • Tableau Desktop 10.4.2 的安装和激活

    Tableau Desktop 10.4.2 的安装和激活

    2022年3月12日
    321
  • CA-CFAR代码实现

    CA-CFAR代码实现clearall clc closeall 仿真数据 T 0 25 M 100 tc T M fc 1 tc 一个扫频周期 T 为 250ms M 为每个周期采样点 100 fc 采样频率 N 256 n 1 N 一个相关积累时间 64 fw 10 雷达工作频率 10MHzfb 0 102 sqrt fw bragg 频率

    2025年9月21日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号