下载 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