m3u8文件说明 Python爬虫
什么是m3u8文件? M3U8文件是指UTF-8编码格式的M3U文件。
M3U文件是记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放。
原视频数据分割为很多个TS流,每个TS流的地址记录在m3u8文件列表中
比如我这里有一个m3u8文件,文件内容如下:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-ALLOW-CACHE:YES #EXT-X-TARGETDURATION:15 #EXTINF:6.916667, out000.ts #EXTINF:10.416667, out001.ts #EXTINF:10.416667, out002.ts #EXTINF:1.375000, out003.ts #EXTINF:1.541667,
#EXTM3U 每个M3U文件第一行必须是这个tag,请标示作用 #EXT-X-VERSION:3 该属性可以没有 #EXT-X-MEDIA-SEQUENCE:140651513 每一个media URI在PlayList中只有唯一的序号,相邻之间序号+1, 一个media URI并不是必须要包含的,如果没有,默认为0 #EXT-X-TARGETDURATION 指定最大的媒体段时间长(秒)。所以#EXTINF中指定的时间长度必须小于或是等于这 个最大值。这个tag在整个PlayList文件中只能出现一 次(在嵌套的情况下,一般有 真正ts url的m3u8才会出现该tag) #EXT-X-PLAYLIST-TYPE 提供关于PlayList的可变性的信息,这个对整个PlayList文件有效,是可选的,格式 如下:#EXT-X-PLAYLIST-TYPE::如果是VOD,则服务器不能改变PlayList 文件; 如果是EVENT,则服务器不能改变或是删除PlayList文件中的任何部分,但是可以向该 文件中增加新的一行内容。 #EXTINF duration指定每个媒体段(ts)的持续时间(秒),仅对其后面的URI有效,title是 下载资源的url #EXT-X-KEY 表示怎么对media segments进行解码。其作用范围是下次该tag出现前的所有media URI,属性为NONE 或者 AES-128。NONE表示 URI以及IV(Initialization Vector)属性必须不存在, AES-128(Advanced EncryptionStandard)表示URI 必须存在,IV可以不存在。 #EXT-X-PROGRAM-DATE-TIME 将一个绝对时间或是日期和一个媒体段中的第一个sample相关联,只对下一个meida URI有效,格式如#EXT-X-PROGRAM-DATE-TIME: For example: #EXT-X-PROGRAM-DATETIME:2010-02-19T14:54:23.031+08:00 #EXT-X-ALLOW-CACHE 是否允许做cache,这个可以在PlayList文件中任意地方出现,并且最多出现一次,作 用效果是所有的媒体段。格式如下:#EXT-X-ALLOW-CACHE: #EXT-X-ENDLIST 表示PlayList的末尾了,它可以在PlayList中任意位置出现,但是只能出现一个,格 式如下:#EXT-X-ENDLIST
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2022-10-11 eclipse 创建自己的Maven项目(超详细)