RTPを介してMPEG2-TSストリームを受信しています。しかし、特定のフレームの終わりを見つけることができません。MPEG2ストリームのみがRTPを経由した場合、フレームの終わりがあるとRTPヘッダーのマーカービットは1に設定されますが、この場合、マーカービットは常に0です。誰か助けてもらえますか。 MPEG2-TS?
2523 次
1 に答える
3
RFC 2250 によれば、mpeg-ts の場合、M ビットはフレームの終わりを示す必要があります。(3.3 MPEG ES カプセル化のための RTP 固定ヘッダー) しかし、多くのデコーダーはそれをヘッダーに入れていない可能性があります。
フレームの開始を見つける他の唯一の方法は、188 バイトの mpeg-ts パケットのヘッダーをデコードすることです。mpeg-ts には「ペイロード ユニット開始インジケータ」が含まれています。
あなたのアルゴリズムは次のようになります
- RTP データには、整数の mpeg-ts パケットが含まれています。
- 各パケットは 0x47 で始まります
- 各パケットの「ペイロード ユニット開始インジケータ」フィールドを確認します
- 「ペイロードユニット開始インジケータ== 1」の場合、PESまたはPSIかどうかを確認します
- PSI の場合はパケットを無視してステップ 1 に進み、それ以外の場合は次のステップに進みます
- PES パケットの場合、ビデオが新しいフレームにヒットした場合は「ストリーム ID」を確認します。
于 2012-12-17T06:18:28.303 に答える