如何在 Android 应用程序中加快与 IP 摄像机的连接?
How to speed up the connection to IP camera in Android app?
我正在开发一个 Android 应用程序 (Android 5.1),用于使用 RTSP 协议播放来自 IP 摄像机的视频流。
我使用 Android VideoView
的标准方法接收和显示视频流:
videoView.setVideoURI(Uri.parse("rtsp://192.168.1.13:8888/test"));
try {
videoView.start();
}
catch (Exception ex) {
ex.printStackTrace();
}
一切正常,但与相机的连接时间太长。
视频开始播放大约需要 5-7 秒(对我来说太长了)。
有什么方法可以加快连接时间吗?
终于找到解决办法了。
问题是 Android' MediaPlayer
,即 VideoView
的一部分,具有无法更改的固定缓冲区大小。
所以我使用了 Google' ExoPlayer
,它提供了这样的功能。
减小缓冲区大小解决了我的问题。
P.S。
用 VideoView.suspend()
或 VideoView.pause()
维护 resource/connection 以稍后恢复流不会产生任何影响。
我正在开发一个 Android 应用程序 (Android 5.1),用于使用 RTSP 协议播放来自 IP 摄像机的视频流。
我使用 Android VideoView
的标准方法接收和显示视频流:
videoView.setVideoURI(Uri.parse("rtsp://192.168.1.13:8888/test"));
try {
videoView.start();
}
catch (Exception ex) {
ex.printStackTrace();
}
一切正常,但与相机的连接时间太长。 视频开始播放大约需要 5-7 秒(对我来说太长了)。
有什么方法可以加快连接时间吗?
终于找到解决办法了。
问题是 Android' MediaPlayer
,即 VideoView
的一部分,具有无法更改的固定缓冲区大小。
所以我使用了 Google' ExoPlayer
,它提供了这样的功能。
减小缓冲区大小解决了我的问题。
P.S。
用 VideoView.suspend()
或 VideoView.pause()
维护 resource/connection 以稍后恢复流不会产生任何影响。