HLS動画のダウンロード

Javascript

インストール&インポート

pip install m3u8
import urllib.request
import m3u8
import subprocess
import os
import time

M3U8ファイルのパスを取得

(https://www.leawo.org/jp/tips/m3u8-mp4-%E5%A4%89%E6%8F%9B-1354.html)

url = input('m3u8ファイルのパスは: ')

tsファイルを格納するディレクトリの作成

path = 'C:/Users/xxxxx/OneDrive/デスクトップ/ts'

if not os.path.exists(path):
  os.makedirs(path)

tsファイルのダウンロード

plalist = m3u8.load(url)

for i, segment in enumerate(playlist.segments):
    urllib.request.urlretrieve(segment.absolute_uri, f"C:/Users/9mlor/OneDrive/デスクトップ/ts/{i}.ts")
    
time.sleep(5)

ts.txtの作成

text_file = open(path + '.txt', 'w+', encoding='utd-8')

files = os.listdir(path)
for file in files:
    basename = os.path.basename(file)
    text_file.write('file ' + path + '/' + basename + '\n')


time.sleep(5)

tsファイルの結合

tsファイルを結合し、mp4に変換する

ffpmeg_cmd = f'ffmpeg -f concat
                      -safe 0
                      -i C:/Users/xxxxx/OneDrive/デスクトップ/ts.txt
                      -c copy
                      C:/Users/xxxxx/OneDrive/デスクトップ/output.mp4 '

subprocess.run(ffmpeg_cmd, shell=True)
BACK