SIP および RTP over UDP を使用して h.264 ストリームをパケット化する際に問題が発生しています。mp4 のビデオ avc トラックに FU-A パケット化モードを使用しています。RTP パケットのデュレーション タイムスタンプと、フラグメント化されたユニットの最後のパケットにマーカー ビットを設定して、フラグメント化を正しく行うために時間を費やしました。以下に示すmp4をストリーミングするリンクの下に投稿したパケットを誰かが見てもらえますか。パケット化しようとしているストリームである ssrc 0x1653 を使用して、wireshark pcap の最初の h264 RTP ストリームを確認する必要があります。ストリームを受信しているテレビ電話にストリームが表示されず、その理由をトラブルシューティングしようとしています。分析していただきありがとうございます。ポール
質問する
1564 次
1 に答える
1
まず第一に、私は mp4 ファイル構造を知りませんが、H.264 パケット化は知っています。私の H.264 パケット化の知識に基づくと、2 つの問題があるようです。
Fragmentation Unit 構造自体は問題ないようです。
パケット ファイル "http://antinori.us/h264.packets.pcap" で、
- PPS (パケット #72) が正しくない可能性があります。値は SPS (パケット #71) とまったく同じです。PPSが正しいと仮定しましょう。通常、PPS は SPS よりも短いです (私の場合、H.264 ベースライン プロファイルと H.264 ハイ プロファイルでさえも 4 バイトしかありません)。
- SDP (パケット #67) の途中に、パラメータ「profile-level-id」を持つフィールド「a」があります。値は、NAL IDR の直後の最初の 3 バイトである必要があるため、値は「42C01E」である必要があります。
参考までに、SPS (シーケンス パラメータ セット - パケット #71) のコピーを作成しました。
6742c01e924405017fcb080000030008000003018078b177ffffffffffffe0
最初の NAL ユニット シーケンス パラメータ セット バイト (67) の後、次の 3 バイトは「プロファイル レベル ID」に使用されます。
于 2012-08-16T12:28:23.050 に答える