mpeg2 ts協議分析

2021-07-27 04:03:58 字數 681 閱讀 1947

一段es流=n幀(就是第2行中的資料)

1幀 = 1 pes_payload

1pes = 1pes包頭 + 1 pes_payload

第四行解釋

從pes方面理解:

1pes 切成n段,每段組成乙個ts包的負載。

從ts方面理解:

最開始的ts包由 ts包頭(圖中有t標誌的) + pes 包頭(草綠色) + pes_payload(白色) 組成

最末尾的ts包由 ts包頭(圖中有t標誌的) + 自適應字段(橙色)+ pes_payload(白色) 組成

以上兩種ts包很簡單,在中間的ts包有點複雜,經過血的教訓,發現其由3種包組成,出現位置隨機,每種出現的概率不相同,如下:

第一種 ts包頭(圖中有t標誌的) + 自適應字段(橙色)+ pes_payload(白色),出現概率 1%

第二種 ts包頭(圖中有t標誌的) + 自適應字段(橙色)出現概率 0.1%

第三種 ts包頭(圖中有t標誌的) + pes_payload(白色)出現概率 98.9%

psi(節目特定資訊) 分為pat(節目相關表)和pmt(節目對映表)

1個pat表中包含n個pmt表的索引資訊

各關係如下圖:

MPEG2 TS 包結構簡述

ts 包由以下3部分組成 包頭 4位元組,同步,識別,檢錯和加密用 自適配域 可選 包資料 最大184位元組 不存在自適配域 4位元組 184位元組 包頭自適配域 包資料4位元組包頭結構 1位元組1位元1位元 1位元13位元 2位元2位元 4位元同步位元組 傳輸錯誤描述符 載荷起始描述符 傳輸優先 ...

MPEG2 TS獲取PCR PID方法

乙個簡單的從指定mpeg2 ts檔案中獲取pcr pid的函式,pmt的頭結構中有pcr pid,我們首先得到pmt pid,然後分析pmt包,就可以得到pcr pid了。getpmtpid函式的實現見 make pid define make pid p p 0 8 p 1 0x1fff html...

MPEG2 TS 一 結構 復用器

mpeg2 ts 一 結構 復用器 一 原理 二 流程 1 開啟檔案,將要做復用的檔案開啟,開啟兩個執行緒做讀取檔案,傳入要做復用的函式中做處理。3 將傳入的一幀資料填寫成乙個pes 後面做解釋 5 後續處理,釋放記憶體,關閉檔案等等。三 結構 1 h264,nal頭結構 2 幀型別列舉 3 頭結構...