【问题标题】:How does TikTok stream videos in android or how to reduce start time of video in ExoPlayer?TikTok 如何在 android 中流式传输视频或如何减少 ExoPlayer 中视频的启动时间?
【发布时间】:2019-08-19 10:55:43
【问题描述】:
我正在开发一个应用程序,我想从 URL 流式传输视频。我目前正在使用 ExoPlayer 进行流媒体播放,它工作正常,但在视频加载和开始播放之前它有大约 5 秒的延迟。有什么方法可以减少这个开始时间,或者像 TikTok 如何在旅途中流式传输他们的视频一样。 TikTok 没有任何滞后。有人可以为此提供一些解决方法吗?
【问题讨论】:
标签:
android-studio
video-streaming
exoplayer2.x
【解决方案1】:
我是 exoplayer 的新手,但我学到了这一点:
-
我假设您正在使用 recyclerview 加载大量视频。
-
而且您正在通过 url 播放视频。
您可以做什么:
一种。解决方案是在视频出现在屏幕上之前对其进行预缓存。例如,在播放位置 0 的视频时,您预先缓存和预缓冲位置 1。
因此,您总是预先缓存/预缓冲 getAdapterPosition() + 1;
这使得 exoplayer 甚至在您访问视频之前就加载了 url。