gpt4 book ai didi

Android:有什么方法可以减少 VideoView/MediaPlayer 上的媒体延迟/延迟?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:12:24 28 4
gpt4 key购买 nike

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

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

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

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

最佳答案

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

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

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

Android 4.1 Multimedia

关于Android:有什么方法可以减少 VideoView/MediaPlayer 上的媒体延迟/延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16968803/

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