Pythonのm3u8モジュールはm3u8ファイルを解析するためのモジュールで、プレイリストやメディアファイルアドレスなどm3u8ファイル内の様々な情報を簡単に取得できます。m3u8 ファイルはテキストベースのメディア プレイリスト形式で、ストリーミング メディア送信プロトコル (HLS など) でよく使用されます。
m3u8 モジュールには、m3u8 ファイルをロードするための 2 つのメソッド、load() とloads() が用意されており、それぞれファイルと文字列からの 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 ファイルの自動処理と再生を実現できます。