通过 RTP 从 GStreamer 在 Android 上接收视频流

问题描述

我想创建一个 Android 应用程序,它接收来自 GStreamerRTP 的视频流,并带有 低延迟,就像一个安全摄像头应用。我是 GStreamer 和 Android 的初学者。视频采用 h264 编码。

为此,我有几个想法:

  • 使用 ExoPlayer2,但我不确定是否可以添加特定选项以与 gstreamer 流兼容。
  • 使用适用于 Android 的 GStreamer,但它不适合初学者。

我尝试读取视频流,并且在 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 年),我认为实现我的应用程序的技术已经发展(至少我希望如此)。

请帮我找到一种方法

最好的问候。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)