gpt4 book ai didi

h.264 - AR Drone 2.0、Gstreamer、C++ RTMP Server(无需SDK推流)

转载 作者:行者123 更新时间:2023-12-02 04:04:55 24 4
gpt4 key购买 nike

此问题是此线程的后续问题:AR Drone 2 and ffserver + ffmpeg streaming

我们正在尝试通过 Debian 服务器从 AR 无人机获取流并将其传输到 Flash 应用程序中。

总体情况如下:

AR无人机 --> 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。

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

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

最佳答案

您能否分享一下 gstreamer 和 crtmpserver 之间的流量示例?

您始终可以使用 crtmpserver 内置的 LiveFLV 支持。以下是更多详细信息:

Re-Stream a MPEG2 TS PAL Stream with crtmpserver

关于h.264 - AR Drone 2.0、Gstreamer、C++ RTMP Server(无需SDK推流),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13607070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com