下载 blob 的视频

2020-09-29
1分钟阅读时长

下载 blob 的加密视频

一般 F12 搜索 m3u8 可以得到两个结果,从中可以获得 iv,key 加密方式和视频分片地址

# 下载视频为 video_1.ts 到 video_90.ts
for i in $(seq 1 90); do
        openssl aes-128-cbc -d -in "video_${i}.ts" -out dvideo_${i}.ts -nosalt -iv c4eb1e72546a38bdfd2c5178573b5548 -K 6c456399c30ae4c931e3c8f5f2970789
done
# 这里生成了 dvideo_1.ts 到 dvideo_90.ts 的视频,可以直接播放

# 可以用 ffmpeg 合并这些视频
video_list=""
for i in $(seq 1 89); do
        video_list+="video_${i}|"
#ffmpeg -i "concat:video_1.ts|video_2.ts|...|video_90.ts" -c copy output.mp4
ffmpeg -i "concat:${video_list}video_90.ts" -c copy output.mp4

使用 wget 下载 m3u8 文件中的 ts 列表

for i in $(seq 1 89); do
        wget "https://urls/${i}.ts?token="
done

从 Chrome 断点得到的 key 和 iv

iv = [196, 235, 30, 114, 84, 106, 56, 189, 253, 44, 81, 120, 87, 59, 85, 72]
key = [108, 69, 99, 153, 195, 10, 228, 201, 49, 227, 200, 245, 242, 151, 7, 137]

result_iv = ''
result_key = ''
for i in iv:
        result_iv += f'{i:02x}'

for i in key:
        result_key += f'{i:02x}'

result_iv # c4eb1e72546a38bdfd2c5178573b5548
result_key # 6c456399c30ae4c931e3c8f5f2970789

openssl aes-128-cbc -d -in evideo1.ts -out dvideo1.ts -nosalt -iv c4eb1e72546a38bdfd2c5178573b5548 -K 6c456399c30ae4c931e3c8f5f2970789

Note

play?id= L111
Ctrl+F AES-128