AES解码TS文件

KEY文件有时是可读的16位字符串,有时是16进制字节

首先需要安装
pip install pycryptodome
执行如下方法,直接调用
def ts_dec():
    ts_file = open("input.ts", "rb")
    data = ts_file.read()
    ts_file.close()

    key_filename = "E:/2/abc.key"
    key_fp = open(key_filename,"rb")
    key = key_fp.read()

    #key = b'\xEF\x46\xC9\xB4\x80\x62\x41\x2E\x72\xF7\xA0\x8E\x15\x2D\x90\x58'
    iv = b'\x00'*16
    
    decrypt_data = decrypt(data, key, iv)
    ts_out = "out.ts"
    out_file = open(ts_out, "wb")
    out_file.write(decrypt_data)
    out_file.close()

 

### TS(Transport Stream)在流媒体或数据传输中的含义及用途 TS(Transport Stream)是一种用于音视频传输的容器格式,最初应用于数字电视领域。它由多个层次组成,包括**传输层(TS层)**、**分组基本流层(PES层)**和**基本流层(ES层)**。其中,ES层承载原始的音视频数据;PES层在音视频数据上添加时间戳等元信息,以支持同步与解码TS层则进一步封装这些数据,加入用于识别不同流的数据标识符和传输控制信息,从而实现多路复用与高效传输[^1]。 在流媒体中,苹果公司开发的 HLS(HTTP Live Streaming)协议使用了简化版的 TS 格式作为其核心传输机制。HLS 中的 TS 流仅需两个关键配置表:PAT(Program Association Table)和 PMT(Program Map Table),它们用于描述节目结构并关联音视频流信息。这种设计使得 TS 在直播和点播场景中具备良好的兼容性和稳定性,尤其适用于网络环境复杂、需要容错能力的应用场景[^1]。 ```python # 示例:使用 ffmpeg 将本地视频转换为 HLS 格式,并生成 ts 文件 import subprocess input_file = "input.mp4" output_playlist = "output.m3u8" # 使用 ffmpeg 转换为 HLS 格式,自动切片生成 .ts 文件 subprocess.run([ "ffmpeg", "-i", input_file, "-codec:v", "h264", "-codec:a", "aac", "-start_number", "0", "-hls_time", "10", "-hls_list_size", "0", "-f", "hls", output_playlist ]) ``` ### VES(Video Elementary Stream)在流媒体或数据传输中的含义及用途 VES(Video Elementary Stream)指的是未经封装的原始视频流数据,属于 ES 层的一部分。它是编码器输出的最基础形式,通常采用 MPEG-2、H.264 或 HEVC 等编码标准。VES 本身不包含时间戳或封装信息,因此无法独立用于网络传输,必须嵌入到更高层级的容器结构(如 PES 或 TS)中才能被正确解析与播放[^1]。 在实际应用中,VES 常用于内部处理阶段,例如在编码器与封装器之间传递未封装的视频数据。它也常见于专业广播系统中,用于确保视频内容的高质量传输与同步处理。 ### AES(Audio Elementary Stream)在流媒体或数据传输中的含义及用途 AES(Audio Elementary Stream)是与 VES 对应的概念,表示原始音频流数据。它通常基于 AAC、MP3 或 AC-3 等编码格式,同样缺乏时间戳和封装信息,需通过 PES 和 TS 结构进行封装后才能在网络上传输[^1]。 在流媒体系统中,AES 与 VES 一同被封装进 PES 包中,再被打包成 TS 分组,以便实现音视频同步与多路复用。这一过程确保了接收端能够准确地分离出音频和视频内容,并按照时间戳信息进行同步播放。 ### TS、VES、AES 的作用与区别 | 特性 | TS(Transport Stream) | VES(Video Elementary Stream) | AES(Audio Elementary Stream) | |--------------|------------------------------------------|----------------------------------------|----------------------------------------| | **层级** | 第三层(最高层) | 第一层(最低层) | 第一层(最低层) | | **作用** | 多路复用音视频流,提供传输控制与纠错功能 | 存储原始视频编码数据 | 存储原始音频编码数据 | | **是否可传输** | 是 | 否 | 否 | | **是否包含时间戳** | 是(通过 PES 层) | 否 | 否 | | **应用场景** | 数字电视、HLS、DVB、IPTV | 编码器输出、内部处理 | 编码器输出、内部处理 | 综上所述,TS 是一个完整的传输容器,负责将 VES 和 AES 封装并传输;VES 与 AES 则分别代表原始的视频和音频编码数据,不具备直接传输的能力,需依赖更高级别的封装结构来完成实际的传输任务。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值