title: AR Drone 2.0, Gstreamer, C++ RTMP Server (streaming without SDK)
body: <p>This question is the follow up question to this thread: <a href="https://stackoverflow.com/questions/12674048/ar-drone-2-and-ffserver-ffmpeg-streaming">AR Drone 2 and ffserver + ffmpeg streaming</a></p>
  
  <p>We are trying to get a stream from our AR Drone through a Debian server and into a flash application.</p>
  
  <p>The big picture looks like this:</p>
  
  <p>AR Drone --> Gstreamer --> CRTMPServer --> Flash Application</p>
  
  <p>We are using the PaveParse plugin for Gstreamer found in this thread: <a href="https://projects.ardrone.org/boards/1/topics/show/4282" rel="nofollow noreferrer">https://projects.ardrone.org/boards/1/topics/show/4282</a> </p>
  
  <p>As seen in the thread the AR Drone is using PaVE, Parrot Video Ecapsulation, which is unrecognizable by most players like VLC. The PaVeParse plugin removes these.</p>
  
  <p>We have used different pipelines and they all yield the same error.</p>
  
  <p>Sample pipeline:</p>
  
  <pre><code>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=.
  </code></pre>
  
  <p>The PaVEParse plugin needs to be located at the gst-plugin-path for it to work.</p>
  
  <p>A sample error output from Gstreamer located in the ffdec_h264 element can be found at: <a href="http://pastebin.com/atK55QTn" rel="nofollow noreferrer">http://pastebin.com/atK55QTn</a></p>
  
  <p>The same thing will happen if the decoding is taking place in the player/dumper e.g. VLC, FFplay, RTMPDUMP.</p>
  
  <p>The problem comes down to missing headers: PPS Reference is non-existent. We know that the PaVEParse plugin removes PaVE headers but we suspect that when these are removed there are no H264 headers for the decoder/player to identify the frame by.</p>
  
  <p>Is it possible to "restore" these H264 headers either from scratch or by transforming the PaVE headers?</p>