当我有密钥和IV时,如何将HLS流解密为.ts文件?

问题描述 投票:0回答:1

我可以访问所有.ts文件。我的.m3u8开头是这样的:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:13
#EXT-X-KEY:METHOD=AES-128,URI="https://localserver/get_key?title_id=144", IV=0x4d1acfe1962002a4abedb8b68c65fa93
#EXTINF:12.066667,
1500_144_00000.ts
#EXTINF:9.000000,
1500_144_00001.ts
EXTINF:9.000000,
1500_144_00002.ts
...

...并且.m3u8继续显示所有.ts文件。它给了我IV,我的Access键是f0d3321327cbaa1aa9ddba07801607442bebaad65b17ca75a15affd5

不,我一直在搜索我的大脑和网络上有关如何解密.ts文件(或连接文件)的答案,我已经看到使用openssl和ffmpeg的建议,但我似乎无法完全达到工具。

根据我的想法,我可以使用IV和Access_key使用openssl解密流。我使用过IV = 4d1acfe1962002a4abedb8b68c65fa93(删除了0x)。

我到目前为止尝试使用连接文件:

openssl aes-128-cbc -d -in concatenatedfile.ts -out decrypted_concatenatedfile.ts -nosalt -iv 4d1acfe1962002a4abedb8b68c65fa93 -K f0d3321327cbaa1aa9ddba07801607442bebaad65b17ca75a15affd5 

但这只是给了我

bad decrypt
139793444538016:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:539:

我见过使用.key文件并将其转换为可读格式的建议。但由于我没有.key文件,而是一个现成的字符串,我认为这是我失败的地方。

我试过按照this beautiful post@aergistal使用ffmpeg。

ffmpeg -i my.m3u8 -c copy output.ts

但在这里我似乎也失败了我的长串键。

有关如何继续使用openssl或ffmpeg的任何建议都是非常受欢迎的。

和蔼

encryption ffmpeg hls
1个回答
-1
投票

AES-128表示密钥为128位,16字节或32个十六进制字符。你的字符串要长得多,这意味着它不能成为正确的密钥。

© www.soinside.com 2019 - 2024. All rights reserved.