2012-11-28 33 views
4

这个问题的跟进问题,此主题:AR Drone 2 and ffserver + ffmpeg streamingAR无人机2.0的Gstreamer,C++ RTMP服务器(流无SDK)

我们正在试图通过一个Debian服务器,并进入到从我们的AR无人机流一个Flash应用程序。

的大画面看起来是这样的:

AR无人机 - >的Gstreamer - > CRTMPServer - > Flash应用程序

我们使用PaveParse插件的Gstreamer在这个线程发现:https://projects.ardrone.org/boards/1/topics/show/4282

正如线程中所见,AR无人机使用的是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-插件路径为它工作。

的Gstreamer从A输出抽样误差位于所述ffdec_h264元件可以发现于:http://pastebin.com/atK55QTn

同样的事情不会发生,如果解码发生在播放器/翻斗例如VLC,FFplay,RTMPDUMP。

问题归结为缺少标题:PPS参考不存在。我们知道PaVEParse插件删除PaVE标题,但我们怀疑当这些插件被删除时,解码器/播放器没有H264标题来标识帧。

是否可以从头开始或通过转换Pave标题来“恢复”这些H264标题?

+1

感谢 - 您的样品管道帮助我的覆盆子Pi和nginx的,RTMP解决问题的进步! – ppumkin

回答