此问题显然是后者,视频被很多AES128加密的bin文件,属于缓存视频的一种,这种被分割的视频其实是被分成了很多在线内历配存引导链,属于M3U8格式视频。
M3U8格式视频解密由于我项⽬中最近⽤到了关于m3u8视频解析和在本地播放的需求,碰到了需要解密bin⽚段的场景,固记录下来分析M3U8⽂件当拿到⼀个m3u8格式的地址时,⾸先将m3u8格式的⽂件⽤\n隔开(或者将文件格式重命名改为txt格式用记事本打开)
遍历并检测有没有以EXT-X-KEY:开头或者包含的⽚段,这个⽚段就是m3u8格式的加密信息⼀般命名为:#EXT-X-KEY:METHOD=AES-128,URI="xx.key",IV=xxx这⾥只分析解密⽅法为aes-128解密的逻辑:aes128解密需要两个参数⼀个是key,⼀个是偏移量(iv)⾸先URI开头指向的通常是⼀个链接这个链接如果以http开头那么直接请求就可以,如果不是那⼤多数情况下都是以请求m3u8⽂件的地址去掉最后⼀个/前⾯的地址拼接起来的,当我们请求到的地址就是解密所需要的key⼤多数情况如果bin⽚段不是以http开头也可以通过这种⽅式拿到真实的地址⼀般EXT-X-KEY⾥⾯会包含iv参数,iv参数是⼀个32位的字符串,如果包含直接拿到iv参数就可以,如果不包含则是以bin地址所在m3u8⽂件中的序列号作为iv参数,⽐如第⼀个ts⽚段,那么他的iv值就是000...0001 (31个0和1),这样拿到了偏移量(iv)当我们拿到ts⽚段后直接⽤aes和刚刚拿到的key和偏移量去解密得到的⽚段就是新的bin⽚段播放该视频⽂件此时看到⽂件夹⾥的bin⽚段全部是可以播放的了,肢液指然后我们在把m3u8⽂件的ts⽚段地址指向对应的解密后的ts⽚段,即可实现本地播放m3u8视频因为已经是解密后的视频了所以需要把m3u8⽂件的#EXT-X-KEY部分去掉否则还是会不能播。
想在本地播放有两种方法,分为电脑和手机两种类型。
电脑的话可以下载安装 ffmpeg或者N_m3u8DL-CLI进行合并视频具体自行百度查询 *** 作,今天小伙伴们主要不会用手机 *** 作,下面我教大家!
手机的话可以在文件管理中找到该缓存文件,一般缓存的bin文件会打包在一个文件夹里,仔细观察不难发现其中不止有bin文件还有一个key文件和名为index.m3u8文件。
手机下载安卓版ffmpeg安装并打开
前面分析了m3u8文件内容和bin文件解密方法,我们在输入文件中找到index.m3u8文件,输出文件自定义,点击合并等待完成即可
也可以下载VLC Media Player播放器后,先在文件管理中找到index.m3u8文件按住后选择打开方式为vlc播放器即可埋漏!!!
1、按下快捷键“win+r”打开运行,输入cmd,点击确定。启野2、在d出的窗口输入:chkdskcf,点击确定。
3、此时会显示“是否计消握划在下次系统重新启动时检查这个卷”,之后输悄桥喊入“Y”。
4、重启电脑即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)