【视频格式】m3u8格式视频下载

  • Post author:
  • Post category:其他




1. m3u8是什么


M3U8

是 Unicode 版本的

M3U

,用 UTF-8 编码。“M3U” 和 “M3U8” 文件都是苹果公司使用的

HTTP Live Streaming(HLS)

协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。

它主要是存放整个视频的基本信息和分片(Segment)组成。不同于mp4大文件,m3u8是由一系列的ts文件组成,一般一个ts文件大概5-10秒,这些ts文件通过一个.m3u8文件做索引。用户播放视频时,可随意拖动视频进度,会读取相应进度的ts文件继续观看视频,不必等到下载完整的视频。因此在播放m3u8的时候很少有卡顿的现象。



1.1 m3u8应用场景

可以兼容PC、移动端。相比mp4等视频源,m3u8可以减轻服务器压力(按需加载)。可用于直播。对于点播来说,客户端只需按顺序下载上述片段资源,依次进行播放即可。而对于直播来说,客户端需要

定时重新请求

该 m3u8 文件,看下是否有新的片段数据需要进行下载并播放。



1.2 m3u8文件格式

m3u8 文件实质是一个播放列表(playlist),使用utf-8 编码。

其格式如下所示:

#EXTM3U
#EXT-X-TARGETDURATION:10  --> 共10个ts片
#EXT-X-KEY:METHOD=AES-128,URI="https://xxxx/cgi-bin/xxxx/get_dk",IV=0x00000000000000000000000000000000 --> METHOD 加密方式,URI 密钥路径,初始向量IV
#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



2. m3u8文件如何下载?


猫抓 – Chrome插件

使用猫爪插件获取m3u8。当然也可以自己在F12,filter一下XHR。

没有进行加密的m3u8文件,直接复制其链接使用相应的下载工具下载就行。

假如加密了,就需要看m3u8文件中的密钥路径,查找密钥,进行解密。



2.1

使用ffpegm进行m3u8文件的提取合并


ffpegm官网



2.2 使用N_m3u8DL工具对m3u8文件的下载合并解码 – 基于ffpegm上的封装,GUI工具


N_m3u8DL-CLI下载

摘录文章:


xx课堂m3u8加密视频下载 – 第七子007 – 博客园


m3u8 文件格式详解 – 简书

相关Link收藏:


HTML5点播m3u8(hls)格式视频 – 云+社区 – 腾讯云

m3u8文档附录:


苹果官方文档


HTTP Live Streaming – rfc8216


视频内容加密封装技术研究


N_m3u8DL-CLI



版权声明:本文为z767327552原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。