この質問は、このスレッドへのフォローアップの質問です: AR Drone 2 and ffserver + ffmpeg streaming
AR Drone から Debian サーバーを介してフラッシュ アプリケーションにストリームを取得しようとしています。
全体像は次のようになります。
AR Drone --> Gstreamer --> CRTMPServer --> Flash アプリケーション
このスレッドにある Gstreamer 用の PaveParse プラグインを使用しています: https://projects.ardrone.org/boards/1/topics/show/4282
スレッドに見られるように、AR Drone は PaVE、Parrot Video Ecapsulation を使用していますが、これは VLC のようなほとんどのプレーヤーには認識されません。PaVeParse プラグインはこれらを削除します。
さまざまなパイプラインを使用しましたが、すべて同じエラーが発生します。
サンプル パイプライン:
GST_DEBUG=3 gst-launch-0.10 tcpclientsrc host=192.168.1.1 port=5555 ! paveparse ! queue ! ffdec_h264 ! queue ! x264enc ! queue ! flvmux ! queue ! rtmpsink localtion='rtmp://0.0.0.0/live/drone --gst-plugin-path=.
PaVEParse プラグインを機能させるには、gst-plugin-path に配置する必要があります。
ffdec_h264 要素にある Gstreamer からのサンプル エラー出力は、http://pastebin.com/atK55QTn にあります。
VLC、FFplay、RTMPDUMP などのプレーヤー/ダンパーでデコードが行われている場合も、同じことが起こります。
問題はヘッダーの欠落に帰着します: PPS リファレンスは存在しません。PaVEParse プラグインが PaVE ヘッダーを削除することはわかっていますが、これらが削除されると、デコーダー/プレーヤーがフレームを識別するための H264 ヘッダーがなくなるのではないかと考えられます。
これらの H264 ヘッダーをゼロから、または PaVE ヘッダーを変換することによって「復元」することは可能ですか?