如何让Windows和Android的GStreamer通过RTP与h264协同工作?

如何让Windows和Android的GStreamer通过RTP与h264协同工作?,android,windows,h.264,gstreamer,Android,Windows,H.264,Gstreamer,我的目标是捕获视频,用x264编码,通过RTP传输,在Android上接收,解码并以尽可能低的延迟显示。 编码器/发送器计算机是Windows 7,安装了OSS版本“GStreamer-WinBuilds-GPL-x86-Beta04-0.10.7.msi”(于2011年3月发布)。它愉快地运行如下所示的捕获/编码/流管线: gst-launch.exe-v ksvideosrc设备索引=0!视频速率!视频/x-raw-yuv,宽度=320,高度=240,帧速率=30/1!ffmpegcolor

我的目标是捕获视频,用x264编码,通过RTP传输,在Android上接收,解码并以尽可能低的延迟显示。 编码器/发送器计算机是Windows 7,安装了OSS版本“GStreamer-WinBuilds-GPL-x86-Beta04-0.10.7.msi”(于2011年3月发布)。它愉快地运行如下所示的捕获/编码/流管线:

gst-launch.exe-v ksvideosrc设备索引=0!视频速率!视频/x-raw-yuv,宽度=320,高度=240,帧速率=30/1!ffmpegcolorspace!x264enc tune=零延迟!RTPH264支付!udpsink主机=127.0.0.1端口=5400

我已经使用运行在同一台机器上的客户端管道测试了流:

gst-launch.exe udpsrc port=5400 caps=“应用程序/x-rtp,媒体=(字符串)视频,时钟速率=(int)90000,编码名称=(字符串)H264,有效负载=(int)96”!gstrtpjitterbuffer!rtph264depay!h264parse!ffdec_h264!ffmpegcolorspace!电子秤!“视频/x-raw-yuv,宽度=320,高度=240”!自动视频接收器

而且它演奏得非常好

我已经成功构建了一个基于GStreamer的Android应用程序,我可以构建定制的pipilenes并在Android上运行它们。但是,当我将数据流传输到我的手机IP并在Android上运行相同的接收器管道时,我会得到质量非常低的无法观看的残缺视频,图片上到处都是块和瑕疵

Android的GStreamer SDK版本为: 看起来这是一个新的版本

因此,我决定在我的Windows 7机器上安装相同版本的GStreamer SDK:

现在,当我使用较旧的OSS构建在Windows上运行sender pipline,使用较新的SDK构建在Windows上运行receiver pipline时,我得到了与Android上相同的效果:显示视频,但视频被破坏。 我无法在windows上以较新的SDK作为发送方对其进行测试,因为新SDK不包含任何编码器,并且我不清楚如何添加任何编码器


所以问题是:如何在Windows上运行与编码器相同版本的GStreamer,在Android上运行与接收器相同版本的GStreamer?

您是否尝试过更新到SDK 2013.6?似乎它修复了一些错误