我有一个iOS应用程序,用类似Instagram/TikTok的提要从Firebase ()下载视频。但是,在用户滚动到视频之前,我无法让视频随时可用。任何建议都是非常有用的。TikTok是如何做到的?他们是否保存了大量的视频文件在后台加载?
我现在的VideoDownloadManager:
在当前的设置下,视频在下载后会高效地播放。但是,如果一个视频还没有下载并且用户滚动到该视频,那么上面的(#1/2)就需要很长时间才能完成并缓冲足够的播放。我已经在使用OperationQueues,并将当前的视频优先于任何其他背景视频--但这还不够快。
几乎所有的TikTok视频都可以作为用户滚动使用。什么秘密?
谢谢你的帮忙!
发布于 2020-12-15 10:49:10
,我有几个小窍门给你:
当您正在加载您的流时,您应该在后台线程中开始预热视频URL。
2-尽量不要下载完整的文件,而只是缓存或缓冲少量的文件,如1MB。
3-使用.mp4文件,您可以播放视频,即使它们没有被完全下载。
4-当视频开始播放时,根据缓冲速率或视频长度开始完全下载。
尝试使用最小的文件大小和比特率的视频。创建它们时,尝试将它们转换为方便的格式。我的建议是:
Video:
video bit rate -> 12.5
video size -> 960x540
conversion format -> h264
Sound:
rate -> 44100
encoding bit rate -> 960006-检查视频是否有超过25%的缓冲范围,当你要开始回放。
不要忘记在临时文件夹中下载并定期清理该文件夹。这有助于避免庞大的应用程序,不这样做的后果可能会导致用户删除您的应用程序!
对于iOS开发人员:这是我的videoConverter。此外,您还可以使用这个缓存视频播放器GSPlayer。
https://stackoverflow.com/questions/61329828
复制相似问题