网页在线视频下载教程(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)
上一篇 2022年4月4日 下午1:00
下一篇 2022年4月4日 下午1:35


相关推荐

  • PLSQL使用教程

    PLSQL使用教程plsql基本使用教程一、登录1、在这里配置好数据库服务,之后就可以登录了2、输入用户名和密码,并选择之前配置好的数据库服务。我这服务名取为localhost。(这个名字随意起。)二、创建表空间1、在SQL窗口中执行以下SQL代码。CREATETABLESPACEFJFEDWLOGGINGDATAFILE’C:\app\Administrator\oradata\orcl…

    2022年5月2日
    64
  • 编译Hi3516DV300的SDK

    编译Hi3516DV300的SDK前言如果您之前编译过EV200的SDK,那么您会发现,编译DV300的过程很类似,软件包直接拷贝,无需重新下载,通常在1-2个小时内能搞定SDK的编译。DV300的入门会简洁介绍,如果遇到编译错误,请你阅读EV200的编译过程和相应目录下的readme查询解决方法。欢迎访问海思开源平台:www.dopi.vip.环境ubuntu18.04amd64dopi@ubuntu:~$cat/proc/versionLinuxversion5.3.0-62-generic(buildd@

    2026年2月26日
    3
  • pubsub机制_实现一个单例模式

    pubsub机制_实现一个单例模式PubSub是一种设计模式,中文叫发布订阅模式,简单来说就是消息发布者不直接向订阅者发布消息,而是发布到中介,而中介根据不同主题对消息进行过滤,并通知对该主题感兴趣的订阅者。该模式在前端现在很火的组件化开发十分常用,因为该模式松耦合,易于扩展的优点正式组件化开发所需要的。一个PubSub模型主要方法有3个,订阅,退订,发布,下面尝试在前端实现一个最简单的PubSub模块。varPub

    2025年7月9日
    4
  • rpm 安装ElasticSearch

    rpm 安装ElasticSearch源码安装 https blog csdn net article details Java JDK 版本 11 0 8ElasticSear 版本 7 8 1ElasticSear 下载地址 https www elastic co cn downloads elasticsearc 创建文件夹 mkdir usr local elasticsearc usr

    2026年3月17日
    1
  • Python之字典添加元素

    Python之字典添加元素手动推荐知识点字典创建->创建字典(7种方式)删除元素->字典删除元素(6种方式)修改元素->字典修改元素(4种方式)遍历元素->字典遍历元素(4种方式)查找元素->字典查找元素(3种方式)本文使用代码book_dict={“price”:500,”bookName”:”Python设计”,”weight”:”250g”}第一种方式:使用[]book_dict[“owner”]=”tyson”说明:中.

    2022年6月17日
    47
  • PXE启动原理以及与普通Linux启动的对比

    PXE启动原理以及与普通Linux启动的对比关于PXE部署的详细配置的文章已经有不少了,这篇文章主要讲一下PXE启动的原理以及PXE启动和普通Linux启动的对比。

    2022年6月29日
    26

发表回复

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

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