ts 協議解析

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  打包的元流

存放的是幀信息內容 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章