WiresharkはMPEG-TSヘッダを解する

WiresharkがMPEG-TSヘッダをパースしているので驚いた。ちゃんとHeaderの先頭が0x47。

wireshark.PNG

このRTPを認識させるのに、「Edit」-「Preferences」-「Protocols」-「RTP」の「Try to decode RTP outside of conversations:」のチェックが必要だった。

DCCPの場合はペイロードにRTPなしでMPEG-TSを直置きしているのでパースしない。

今、MPEG-TSのさらに下のPESヘッダに下って、MPEGソースレベルで損失を表せないかプログラムを書いている。DTS(デコードするタイムスタンプ)とPTS(プレゼンテーションするタイムスタンプ)を使って上手くできないかやっているが、なかなか予備知識なしでは厳しいものがある。

例えば0x47という値があるが、これは188バイトごとに出てくる。つまり、TSパケット境界が分からなくなった場合は0x47を探せばMPEG-TSの先頭が分かる、という仕組みなどがある。

MPEG-TSにこだわらずに出力されたファイルの比較をする方法も考慮したが、出力されたMPEGファイルのMPEG-TSを解して比較を行ったほうが分かりやすいだろうと思っているが、どうするべきだろうか。

noch について

無線LANをこよなく愛する虚言者。
カテゴリー: 無線LAN パーマリンク

WiresharkはMPEG-TSヘッダを解する への2件のフィードバック

  1. 小池 のコメント:

    RTP のパースができなくて困っていたところにここにたどり着きました。
    本当にありがとうございました。

  2. noch のコメント:

    それは良かったですね!

コメントを残す

メールアドレスが公開されることはありません。