nic*_*rno 6 video ios firebase swift firebase-storage
我有一个 iOS 应用程序,可以从 Firebase (Cloud Firestore) 下载视频,其提要类似于 Instagram/TikTok。但是,在用户滚动到视频之前,我无法让视频随时可用。任何提示都会非常有帮助。抖音是如何做到的?他们是否会在加载时将一大堆视频保存到后台文件中?
我当前的视频下载管理器:
在当前设置下,视频下载后可以高效播放。但是,如果视频尚未下载并且用户滚动到该视频,则上面的 (#1/2) 需要很长时间才能完成并缓冲足够的播放时间。我已经在使用操作队列并将当前视频优先于任何其他背景视频 - 但这仍然不够快。
当用户滚动时,TikTok 视频几乎总是随时可用。有什么秘密?
感谢您的帮助!
我有一些建议给你:
1-当您加载流时,您应该开始在后台线程中预热视频 URL。
2-尽量不要下载完整的文件,而只缓存或缓冲少量文件,例如1MB。
3- 使用 .mp4 文件,即使视频未完全下载,您也可以播放它们。
4-当视频开始播放时,根据缓冲速率或视频长度开始完全下载。
5-尝试使用文件大小和比特率最小的视频。当您创建它们时,尝试将它们转换为方便的格式。我的建议是:
Video:
video bit rate -> 12.5
video size -> 960x540
conversion format -> h264
Sound:
rate -> 44100
encoding bit rate -> 96000
Run Code Online (Sandbox Code Playgroud)
6-开始播放时检查视频的缓冲范围是否超过 25%。
7-不要忘记在临时文件夹中进行下载并定期清理该文件夹。这有助于避免应用程序体积过大,不这样做的后果可能会导致用户删除您的应用程序!
对于 iOS 开发者:这是我的videoConverter。另外,您可以使用这个缓存视频播放器GSPlayer
归档时间: |
|
查看次数: |
2056 次 |
最近记录: |