m3u8的ts文件的PES加解密分析以及示例

查看 172|回复 11
作者:billsmiless   
m3u8的ts文件的PES加解密分析以及示例                                                                                                                                                                                       
[color=]未经许可,禁止转载!!!
一、前言
最近有朋友问我,某个视频网站也是阿里ts加密方式。恰巧51假期,就拿来分析一番,一看代码与之前某视频网的加密方法几乎完全一样。唯一不同的是 AES解密时逻辑稍有不同。还有一些奇怪的问题,同时发现,自己写过的代码,自己都已经不理解了,之前吾爱发的解密文章,被xx了,综合种种吧,冒出了写此文,算是一个复习,同时把方法分享给大家。此外,前些日子有个朋友在帖子中提到了PES解密的问题,希望此文也可以帮助到他。@VOOV
二、TS文件结构概述
1、几个基本概念
ES流(Elementary Stream) 基本码流,不分段的音频、视频或其他信息的连续码流。
PES流 把基本流ES分割成段,并加上相应头文件打包成形的打包基本码流。PES是打包过的ES,已经插入PTS和DTS,一般一个PES是一帧图像。
TS流(Transport Stream) 传输流,将具有共同时间基准或独立时间基准的一个或多个PES组合(复合)而成的单一数据流(用于数据传输)。
其数据内容可包含视频、音频、字幕等数据。将一个视频切成多个ts文件,实现视频的分段传输。多用于电视媒体。
2、ts文件格式
ts文件由ts数据包组成,每个包大小为188字节(或204字节,在188个字节后加上16字节的CRC校验数据,其他格式一样),每个数据包存储的内容可能不同,可能是视频、音频、字幕,或索引表信息,索引表就类似于一本书的目录,通过目录,就可以找到需要的章节,章节就类似于视频或音频等数据。
[color=]注:本文所描述的ts包,均为188字节。
ts数据包 由 4字节包头、附加数据(一般用来填充,为了满足188字节)、负载数据(即PES的部分数据)如下图:


ts.jpg (116.35 KB, 下载次数: 0)
下载附件
2022-5-3 16:12 上传

一个完整的PES包数据,可能存在于多个ts数据包中,也就是说,一个ts包中,可能含有pes包的包头,也可能仅仅含有pes包的负载数据.
下图展示了,PES包是如何转为TS包的。


pes_ts.jpg (148.42 KB, 下载次数: 0)
下载附件
pests
2022-5-3 16:12 上传

下面来分析占4字节(32比特)ts包头的结构以及附加域(长度不定)的结构。先上图。


ts_header.jpg (171.03 KB, 下载次数: 0)
下载附件
tsheader
2022-5-3 16:12 上传

这里我们仅分析我们用到的字段,其中头中用到4个字段值,附加域只用到长度字段。如下表。
[table][tr][td]序号

数据, 字节

chubaijiang   

麻烦大佬给我看看这个是加密还是没加密哦,没有url,然后也播放不了
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-ALLOW-CACHE:YES
#EXT-SECRET-KEY-INDEX:28
#EXT-SECRET-KEY:hOq3Nh08NhB6TWU7sMvXmBj+vVPe/epoxmwcoRQH7EYLclLp/KgRVXoRV5swSPZkjmvWeiC3TPlkE0EpikF+aEiptmE0GAvw24BQa8xaloee2fIUa8bULfAh31YQn/HIMuK2YlkJbotIo+e7/v70nDk1wRfca5ym/NnEeZtI7oM=
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:1.000,
cainfish   


chubaijiang 发表于 2022-10-11 18:12
麻烦大佬给我看看这个是加密还是没加密哦,没有url,然后也播放不了
#EXTM3U

肯定是加密的啊,里面写了那么大个key,哈哈哈!
as4202   

js各种加密解密学习了
zhengsg5   

先收藏了慢慢学习!
xixicoco   

大佬牛逼,应该给秒精华的
jinzhu160   

这个干货多,感谢分享。
baswcss   

这是哪个网站的视频是pes,目前遇到一般是des
viply   

感谢大佬,已经学废了
tclin08   

感谢分享,得好好研究一下!
您需要登录后才可以回帖 登录 | 立即注册

返回顶部