如何解决在Python中获取Aes 128 cbc的解密密钥,而无需密码获取m3u8视频流
我有一个video.ts文件,该文件是通过将m3u8格式的视频流加在一起而编译的。我正在尝试使用以下语句解密视频。
subprocess.run(['openssl','aes-128-cbc','-K','[KEY]','-iv','[IV]','-nosalt','-in','video.ts','-
out','video_name.mp4'])
尽管,我有[IV]的值,但没有[KEY]。我确实有以下格式的“ uri”链接,但是使用浏览器打开该链接时会出错。
'key': {'method': 'AES-128','uri': 'https://...','iv': '.....'}
是否有某种方法可以使用此信息来提取要解密的密钥。
解决方法
您似乎在HLS流上使用AES-128加密。
您可以通过查看M3U8文件本身来进行检查-您应该看到一些信息,包括以下设置:
EXT-X-KEY:
- 方法:AES-128
- URI:密钥服务器的URL
- KEYFORMAT:身份(或未指定KEYFORMAT)
下面的示例(来自https://docs.unified-streaming.com/documentation/drm/hls.html-您也可以从其他包装商那里看到示例):
#EXTM3U
#EXT-X-VERSION:1
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="https://license-server/video.key"
#EXTINF:4,no desc
video-audio=65000-video=236000-0.ts
从上面显示的内容看来,您只需要简单地从示例中的“ uri”:“ https:// ...” URI中获取密钥,然后在解密中使用它。 / p>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。