2017-04-25 2 views
1

udp経由でmpegtsをプッシュするエンコーダ/ ffmpegを想定してみましょう。そして、私たちはこれらのmpegtsパケットを受信して​​いる別のffmpegを持っています。受信側では、メディアがUDP経由で受信されるため、一部のパケットが失われたり、順序が乱れる可能性があります。私はffmpegの受信方法を知りたいと思っています。ffmpegの処理方法に精通している人UDPで受信したMPEGTSパケットが順不同

送信処理のffmpeg -i -re xyz.mp4 -codecコピー-f mpegts UDP:// localhostを:5011

受信処理-i UDP:// localhostを:5011 output.mov

+0

FFMpegはそのすべてを内部的に管理しているので、心配する必要はありません。あなたがする必要があるのは、デコードしたいストリームに属するパケットを取得することだけです.ffmpegはフレームを順番に返します。探しているときにffmpegに内部バッファをフラッシュするように指示する必要があります。 – WLGfx

+0

うん、WLGfx、それは期待です。しかし、私はmpegtsとavio層のコードをドリルダウンして、how *と* where *を理解するために努力していました。あなたが見ると、MPEGTSでは、私は使用可能な連続カウンタを見るからです。しかしそれはちょうど4ビットです。したがって、順序は、多くても16パケットで吸収されることがあります。私は注文に使うことができる明確なフィールドを見ていない。それは、RTPでラップされているのとは異なり、seq noは役に立ち、決定論的なメトリックになる可能性がある – Rupesh

答えて

1

A MPEG2-TSパケットヘッダのCCフィールドにおける不連続性は、ほとんどの場合、TSレベルで失われたMPEG2-TSパケットを示すためにのみ使用される。 CCフィールドの4ビットは、順不同パケットの信頼性の高い処理を可能にするためにほんのわずかです。また、トランスポートストリームレベルでは、パケットを受信するか、まったく受信しないため、順不同パケットの処理ではトランスポートストリーム自体は考慮されません。
並べ替えは、IPパケットの順序受信が保証されないIPデータグラムの場合にのみ問題になります。 UDPでは、パケットの並べ替えを可能にする組み込みのメカニズムはありません。並べ替える必要がある場合は、RTPをUDPの上かIPの直下のどちらかで使用する必要があります。

関連する問題