AR Drone 2.0,Gstreamer,C++RTMP服务器(无SDK流媒体)



这个问题是这个线程的后续问题:AR Drone 2和ffserver+ffmpeg流

我们正试图通过Debian服务器将AR Drone中的流传输到flash应用程序中。

总体情况如下:

AR无人机-->Gstreamer-->CRTMPServer-->Flash应用

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

正如帖子中所示,AR无人机正在使用PaVE,Parrot视频封装,这是像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插件路径才能工作。

从位于ffdec_h264元素中的Gstreamer输出的采样误差可以在以下位置找到:http://pastebin.com/atK55QTn

如果解码发生在播放器/转储器中,例如VLC、FFplay、RTMPDUMP,也会发生同样的事情。

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

是否可以从头开始或通过转换PaVE标头来"恢复"这些H264标头?

您能分享gstreamer和crmpserver之间的流量示例吗?

您可以始终使用在crmpserver内部构建的LiveFLV支持。以下是更多详细信息:

使用crmpserver 重新流式传输MPEG2 TS PAL流

相关内容

  • 没有找到相关文章

最新更新