首页 > 解决方案 > 在 Android 上通过 RTP 从 GStreamer 接收视频流

问题描述

我想创建一个Android 应用程序,它通过RTP低延迟接收来自GStreamer的视频流,例如安全摄像头应用程序。我是 GStreamer 和 Android 的初学者。视频使用h264编码。

为此,我有几个想法:

我尝试读取视频流,它在 Windows 上使用 VLC 成功,并带有这样的 sdp 文件:

v=0
m=video 5000 RTP/AVP 96
c=IN IP4 127.0.0.1
a=rtpmap:96 H264/90000

但是由于缓冲区,延迟很高。

多亏了这个命令行,GStreamer 成功了:.\gst-launch-1.0.exe -v udpsrc port=5000 ! "application/x-rtp,clock-rate=(int)90000,payload=(int)96" ! rtph264depay ! avdec_h264 ! fpsdisplaysink sync=false text-overlay=true

在带有 QGroundControl(使用 GStreamer)的 Android 上,延迟很高。

我按照教程使用 ExoPlayer2 阅读视频,但我没有设法阅读视频流。

我尝试按照 GStreamer Android 教程进行操作,但是我的印象是该教程已经过时并且只允许显示视频而不是视频流(如果我错了,请告诉我)。

我很困惑,我的所有研究结果都是旧的(超过 5 年),我认为实现我的应用程序的技术已经发展(至少我希望如此)。

请帮助我找到一种遵循的方法。

此致。

标签: androidvideo-streaminggstreamerrtp

解决方案


推荐阅读