M3U8 格式视频解密

M3U8 格式视频解密,第1张

当拿到一个m3u8格式的地址时,首先将m3u8格式的文件用\n隔开,并遍历,并检测有没有以 EXT-X-KEY: 开头或者包含的片段,这个片段就是m3u8格式的加密信息一般命名为:

#EXT-X-KEY:METHOD=AES-128,URI="xx.key",IV=xxx

这里只分析解密方法为aes-128解密的逻辑:

aes128解密需要两个参数一个是key,一个是偏移量(iv)

首先URI开头指向的通常是一个链接这个链接如果以http开头那么直接请求就可以,如果不是那大多数情况下都是以请求m3u8文件的地址去掉最后一个/前面的地址拼接起来的,当我们请求到的地址就是解密所需要的 key

一般EXT-X-KEY里面会包含iv参数,iv参数是一个32位的字符串,如果包含直接拿到iv参数就可以,如果不包含则是以ts地址所在m3u8文件中的序列号作为iv参数,比如第一个ts片段,那么他的iv值就是

000...0001 (31个0和1),这样拿到了 偏移量 (iv)

当我们拿到ts片段后直接用aes和刚刚拿到的key和偏移量去解密得到的片段就是新的ts片段

此时看到文件夹里的ts片段全部是可以播放的了,然后我们在把m3u8文件的ts片段地址指向对应的解密后的ts片段,即可实现本地播放m3u8视频

用格式工厂软件可以把m3u8格式文件转换为avi格式文件。

m3u8格式是缓存视频,QQ浏览器缓存视频时经常会出现这个格式,不信可以试试,这个视频是断点续传格式。在本地文件夹里显示只有几百KB,如果把这个视频转移或者上传到网盘里观看,是无法打开的,想想也知道几百KB也放不了几分钟,肯定不是实体视频啦。

所以,看到的视频相当于快捷方式。但是在浏览器已下载文件里可以看到这个视频第真实大小,这个视频相当于几十个或者几百个短视频组成的,把手机连接电脑,就可以找到缓存视频的路径。

扩展资料:

m3u8文件是苹果及安卓设备的浏览器播放文件,包含m3u8播放列表和对应视频片段文件夹,用电脑可以用VLC播放器播放。

路径更改方法:

m3u8文件里写的路径为绝对路径或html路径,更改为本地路径如下:file:/storage/emulated/0/UCDownloads/VideoData/1466217672111/0,该路径指的是m3u8文件对应视频片段在1466217672111文件夹里,0代表片段序号。

vlc播放器打开时会定义路径为所打开文件的文件夹所在的路径,因此如果m3u8文件和1466217672111文件夹在同一个文件夹里,需要将绝对路径修改成1466217672111/0,就可以打开了。

转换格式:

vlc转换视频为mp4格式里,显示输出指的是在转换时可用看到视频内容,反交错指的是将视频帧中隔行扫描的场组合起来,从而使视频帧的各行在播放时按顺序显示。(显像管是交错隔行扫描,显示器是按序扫描),转换时不显示输出,勾选反交错。

下载到本地,包括ts视频流/key文件/m3u8配置文件,通过ffmpeg解密获取视频。命令:ffmpeg.exe -allowed_extensions ALL -i xx.m3u8 -c copy -bsf:a aac_adtstoasc filename.mp4 即可获得解密视频


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/9013859.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存