【问题标题】:Android: Any way to reduce media delay/latency on VideoView/MediaPlayer?Android:有什么方法可以减少 VideoView/MediaPlayer 上的媒体延迟/延迟?
【发布时间】:2013-06-06 17:49:11
【问题描述】:

我正在尝试构建一个接收 RTSP 流并显示音频/视频的 Android 应用程序。我一直在使用 VideoView,但仍然会从实时延迟 3 到 10 秒。我需要将此延迟控制在 3 秒以下。

在 PC 上,我可以看到使用 VLC 的相同 RTSP 流,延迟只有 1-2 秒。如何在 Android 上复制它?即使我使用 MoboPlayer/RockPlayer 等其他应用程序,延迟仍然是 3 到 10 秒。 (如果重要,我将在 PC 和 Android 上无线连接到 RTSP 流)

我已经开始考虑使用 FFmpeg for Android 和 Gstreamer SDK for Android 作为 MediaPlayer 的替代品,但对于像我这样的新手来说,它们都很难使用,而且我遇到了多个问题。

任何和所有信息将不胜感激!

【问题讨论】:

  • 有人吗?我遇到了完全相同的问题。

标签: android android-mediaplayer android-videoview rtsp live-streaming


【解决方案1】:

首先我认为延迟是因为初始缓冲区大小在 Android 硬件 MediaPlayer 上是无法控制的。这可以通过使用自定义 SW 媒体播放器作为 FFMpeg(现在的 AVconv)或 GStreamer 来解决。但这会降低性能(取决于视频流压缩、分辨率、fps)和设备电池寿命。

当然,使用 FFMpeg 或类似 C/C++ 框架进行本地开发很复杂,需要大量时间和经验。

另一种选择:您可以尝试新的Android 4.1 Java API 来访问视频和音频解码器。并使用此 API 和一些代码构建您自己的 RTSP 播放器以从 RTSP 服务器加载视频流(可能已经存在一些 Java 库)。

Android 4.1 Multimedia

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    相关资源
    最近更新 更多