Python的m3u8模块根据给定的url解析出ts分片地址

Python的m3u8模块是一个用于解析m3u8文件的模块,可以方便地获取m3u8文件中的各种信息,如播放列表、媒体文件地址等。m3u8文件是一种基于文本的媒体播放列表格式,常用于流媒体传输协议(如HLS)中。

m3u8模块提供了load()和loads()两个方法来加载m3u8文件,分别对应从文件和字符串中加载m3u8文件。加载后,可以通过m3u8对象的属性和方法来获取m3u8文件中的各种信息。常用的属性和方法包括:

m3u8_obj.playlists:获取播放列表对象列表。
m3u8_obj.segments:获取媒体文件段对象列表。
m3u8_obj.is_variant:判断是否为变体流。
m3u8_obj.is_endlist:判断是否为最后一个媒体文件。
m3u8_obj.target_duration:获取目标持续时间。
m3u8_obj.media_sequence:获取媒体文件序列号。

import m3u8
from urllib.parse import urljoin

index_url = 'http://xx/index.m3u8'
# 使用m3u8.load()方法加载m3u8文件
playlist = m3u8.load(index_url)
# 获取m3u8文件中的所有ts地址
for uri in playlist.segments.uri:
    # ts分片绝对地址
    url = urljoin(index_url, uri)
    print(url)

通过m3u8模块,可以方便地解析m3u8文件中的各种信息,实现m3u8文件的自动化处理和播放。

猜你喜欢

转载自blog.csdn.net/lilongsy/article/details/131120269
今日推荐