UDP視頻流MP2T的分析方法


一、  MP2T視頻協議

視頻直播一般使用MP2T(ISO/IEC 13818-1,MPEG-TS)協議, 具體有如下幾種:

 

  常用的是MP2T/RTP/UDP和MP2T/ UDP,主要是直播視頻不需要重傳。

 每7個MP2T包打包為一個RTP,然后每個RTP再打包為一個UDP。或者每7個MP2T包也可以直接打包為一個UDP。(由信令決定TS所屬的UDP端口號)。

 如果視頻速率傳輸方式是CBR(const bit rate),如果實際視頻源壓縮比較高或者P幀,則填充無有效載荷的包。注: VBR(variable bit rate)

 MP2T包:PDU 188B(含頭),頭部4B,頭部字段如下:

sync_byte  同步字節,固定為0x47 ,表示后面的是一個TS分組,包中數據是不會出現0x47

transport_error_indicator傳輸錯誤標志位,一般傳輸錯誤的話就不會處理這個包了

payload_unit_start_indicator這個位功能有點復雜,字面意思是有效負載的開始標志,根據后面有效負載的內容不同功能也不同

transport_priority  傳輸優先級位,1表示高優先級,傳輸機制可能用到,解碼好像用不着。

PID指出了這個包的有效負載數據的類型,音頻 或 視頻 或者 播放目錄。

transport_scrambling_control加密標志位,表示TS分組有效負載的加密模式。TS分組首部(也就是前面這32bit)是不應被加密的,00表示未加密。

adaption_field_control  翻譯為“調整字段控制”,表示TS分組首部后面是否跟隨有調整字段和有效負載。01僅含有效負載,10僅含調整字段,11含有調整字段和有效負載。為00的話解碼器不進行處理。空分組沒有調整字段

continuity_counter   一個4bit的計數器,范圍0-15,具有相同的PID的TS分組傳輸時每次加1,到15后清0。不過,有些情況下是不計數的。如下:(1)TS分組無有效負載(2)復制的TS分組和原分組這個值一樣(3)標志discontinuity_indicator為1時

adaptation_field()調整字段的處理

 

 

 

  

二、  視頻丟幀分析

1、 如果UDP上面直接是mp2t包(ISO/IEC的包),過濾UDP視頻流

輸入過濾表達式 udp.stream==流號,保存(File->Export Specified Packets)。

 

  2、 如果是UDP上面是RTP,需要先把data解碼設置為RTP解碼

 

 3、 UDP視頻流丟幀分析

查看wireshark診斷信息(Analyze->Expert Info), Error中是否有Malform MP2T信息。

 

 丟幀判斷依據: 相同PID的連續號CC在[0,15] 循環,不連續則為丟幀。如有丟幀,查看對應(最靠近視頻udp層)的ip層,ip.id是否連續。

[ip.id連續] 攝像頭視頻源導致丟幀

[ip.id不連續] 最有可能為丟包導致丟幀,但要排除以下2點導致的id不連續的因素

  1. 視頻業務層面的路由節點修改ip.id
  2. 攝像頭把中間ip.id分配給其他協議包,如TCP/ICMP等。如加上其他包,業務層面的ip.id連續,則仍為攝像頭視頻源導致丟幀

 

 

三、  視頻抖動分析

 4、 UDP視頻流抖動分析

查看IO統計信息(Statistics->IO Graph), 輸出每ms/s的速率,發包間隔。

輸出ms/s級速率(點copy)

 

 輸出發包間隔

對ms級速率從1一直編號,刷選速率非0項,編號前后相減,即為間隔(單位ms)

 5、 輸出非0項的發包間隔和速率的均值(average),偏差(stdev),最大值(max)

 

四、  視頻還原分析

 6、 還原UDP/MP2T視頻

選擇一個UDP/MP2T視頻流,Analyze->Follow UDP Stream,

 

  選擇視頻數據的方向,保存為Raw的數據,並命名為.ts的文件。

 

  另新版wireshark顯示如下:

 

 7、 播放視頻

如果視頻分辨率比較高,本機可能無法播放。

用VLC或Potplayer視頻播放器播放,就可以看到這個視頻流的表現效果了。

 

五、  央視視頻源發包規律

 I幀數據 155KB

 

 

 P幀數據 24KB

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM