SWIFT:加快视频的技巧

我有一个 iOS 应用程序,它从 Firebase (Cloud Firestore) 下载视频,其提要类似于 Instagram / TikTok。但是,在用户滚动到视频之前,我无法让视频随时可用。任何提示都会非常有帮助。TikTok 是如何做到的?他们会在加载时将一大堆视频保存到后台文件中吗?

我有一个 iOS 应用程序,它从 Firebase (Cloud Firestore) 下载视频,其提要类似于 Instagram / TikTok。但是,在用户滚动到视频之前,我无法让视频随时可用。任何提示都会非常有帮助。TikTok 是如何做到的?他们会在加载时将一大堆视频保存到后台文件中吗?

我当前的 VideoDownloadManager:

检查视频是否已加载到临时缓存或本地文件中,如果没有:

下载视频 URL(查看 Firebase 的下载 URL)

返回立即使用的视频 URL(在播放之前,它仍然有一些延迟缓冲)

将视频 URL 存储在临时缓存中(以防用户滚动并回滚)

开始将视频写入文件并在完成时从临时缓存中删除视频

使用当前设置,视频在下载后可以高效播放。但是如果视频尚未下载并且用户滚动到该视频,则上面的(# 1 / 2)需要太长时间才能完成并缓冲足够的播放时间。我已经在使用 OperationQueues 并将当前视频的优先级设置为任何其他背景视频-但这还不够快。

TikTok 视频几乎总是可以在用户滚动时随时获得。秘密是什么?

谢谢你的帮助!

1

我为您提供一些提示:

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

6-当您要开始播放时,请检查视频的缓冲范围是否超过 25 %。

7-不要忘记在临时文件夹中进行下载并定期清理该文件夹。这有助于避免巨大的应用程序大小,不这样做的后果可能会导致用户删除您的应用程序!

对于 iOS 开发人员:这是我的videoConverter。此外,您可以使用此缓存视频播放器GSPlayer

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(59)
雅虎板球API抛出错误'没有发现表cricket.scorecard.live的定义' 任何方式来解决它
上一篇
解压缩目录中的所有文件(unzip all files in directory)
下一篇

相关推荐

  • 如何在Swift中获取另一个时区的当前日期和时间

    我有一个计划的工作,需要在不同的时区不同的时间窗口运行。最终,知道 UTC 时间,当它(例如)20:00 在澳大利亚,为了启动这个地区的工作。…

    2022-11-11 15:15:09
    0 24 73
  • SWIFT:加快视频下载速度的技巧

    我有一个 iOS 应用程序,它从 Firebase (Cloud Firestore) 下载视频,其提要类似于 Instagram / TikTok。但是,在用户滚动到视频之前,我无法让视频随时可用。任何提示都会非常有帮助。TikTok 是如何做到的?他们会在加载时将一大堆视频保存到后台文件中吗?…

    2022-11-21 11:14:14
    0 45 28
  • SWIFT:加快视频下载速度的技巧

    我有一个 iOS 应用程序,它从 Firebase (Cloud Firestore) 下载视频,其提要类似于 Instagram / TikTok。但是,在用户滚动到视频之前,我无法让视频随时可用。任何提示都会非常有帮助。TikTok 是如何做到的?他们会在加载时将一大堆视频保存到后台文件中吗?…

    2022-12-22 10:47:05
    0 35 93
  • 面对面快传的文件恢复:如何从Swift进行面对面通话(facetime how to call)

    关于面对面快传的文件恢复的问题,在facetime how to call中经常遇到,我正在为iPad开发一个利用facetime的Swift应用程序。…

    2022-12-29 13:30:22
    0 30 33
  • I fly os:如何在SwiftUI中添加此按钮

    关于I fly os的问题,在i/os中经常遇到,我似乎无法让按钮出现在蓝色框的右下角。…

    2022-12-25 03:43:13
    0 75 62
  • 海马玩ios:如何在iOSSwift中玩Vimeo视频

    关于海马玩ios的问题,在save vimeo video to iphone中经常遇到,我创建了一个使用 Vimeo 播放视频的 iOS 应用程序。我想知道在 iOS Swift 中显示 Vimeo 视频的最佳方法是什么。…

    2022-11-28 04:09:43
    0 46 66
  • C30混凝土试块合格标准:将视频分成30秒的块Ios swift5

    关于C30混凝土试块合格标准的问题,在split video iphone中经常遇到,我一直试图让用户从视频库和分割视频 30 秒的块选择!…

    2022-12-09 12:23:31
    0 46 49
  • Android获取手机型号:如何获取有关手机版本和手机型号的信息 SwiftUI

    关于Android获取手机型号的问题,在what phone model do i have中经常遇到,我有一个代码,允许我从应用程序发送电子邮件。如何获取手机型号和 IOS 版本数据..我是 SwiftUi 的新用户,将不胜感激任何帮助。…

    2022-12-12 15:29:14
    0 81 67

发表评论

登录 后才能评论

评论列表(23条)