1. Ts 包工具
用UltraEdit 打开ts文件,如果打开的时候发现是一堆乱码,按Ctrl +H,以16进制形式打开。
2.1分析第一个ts包
先取第一个188个数据:
47 60 00 10 00 00 B0 0D 00 00 C1 00 00 00 01 E081 0C 8C BE 32 FF FF ……………………………..
………………………………………………………………………………………………………………
………………………………….FF
2.2包头
Ts包头只有四个字节,47 以及其他3个 60 00 10
重新分为 6 000 10
6: 第一个是 6或者4或者0 else 扔掉
000:不是直接扔掉 pid : packet ID
1:负载类型 1— 负载中只有有效载荷 2—负载中只有自适应字段 3—现有自适应字段,再有有效载荷。 0—pass
0:
其余负载
2.3 负载: (只适用于pid为 000的)
下个188数据第二个数据段 47 60 81 10
第一个数据包中 0c 8c be 32 前面二个数据 e 081
2.4 第二个Ts包:PMT
47 60 81 1000 02 B0 17 00 01 C1 00 00 E8 10 F0 00 1B E8 10
F0 00 03 E8 14 F0 00 66 74 A4 2D FF FF FF FF FF............................FF.
081既第一个包中的 E081 pid不为081 直接pass 知道找到为081的为止
FF前四个字节 66 74 A4 2D 再前五个字节 03 E8 14 F0 00
03:表示这个流为MP3,既声音
E8 14 : 814 表示 PID,814的包用来装MP3
再前五个字节: 1B E8 10 F0 00
1B; 表示这个流为H264格式的,
E8 10 :810 表示PID 是810的ts包用来装h264数据
3.第三个 TS包:
00000170h: 47 48 14 10 00 00 01 C0
00000180h: 01 88 80 80 05 21 00 01 96 07 FF FD 85 00 33 22
00000190h: 22 11 22 11 11 11 11 11 11 24 82 41 00 90 40 00
000001a0h: 00 00 00 00 40 00 .................................................
...............................................................................
................................................................................
00000220h: 70 34 5B CE 64 B7 D2 F5 4E 07 50 8E 11 1E 60 61
00000230h: 21 32 11 59
包头: 47 4 814 1 0
4 :01 00
0 : 0000 第二位为有效载荷单元起始符
有效载荷单元起始符为1: 一帧数据的开始
0:一次安装上剩下的数据帧
把pid是 814 的有效载荷单元起始符分别为 100...0的TS包,一帧音频数据
810 视频
PES : packetized Elementary Stream 打包的元流
存放的是帧信息内容