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

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

(173)
我不知道如何添加一个ID 使我的帖子和我的评论之间的关系(React JS/Strapi)
上一篇
如何创建一个简单的JavaScript计时器
下一篇

相关推荐

  • swift函数式编程:如何使用Swift函数式编程来提升你的代码质量

    Swift函数式编程是一种编程范式,它把函数作为一等公民,可以像变量一样传递、复制、存储和返回。 Swift函数式编程的特点是把函数看作一种数据类型,可以在函数中使用函数,并且可以把函数当作参数传递给另一个函数。…

    2023-06-10 08:05:54
    0 47 12
  • ios视频翻译如何使用SwiftUI创建一个简单的应用程序教程学习如何使用SwiftUI快速构建简单的iOS应用程序

    iOS视频翻译是一种将视频内容从一种语言翻译成另一种语言的技术。它可以帮助用户在不同语言之间进行视频交流,为全球用户提供更好的体验。// Create a video translation request.…

    2023-02-12 10:36:52
    0 94 85
  • I fly os:如何在SwiftUI中添加此按钮

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

    2022-12-25 03:43:13
    0 62 66
  • 在IOS中使用swift添加联系人组

    是否可以使用 swift 以编程方式将组添加到 IOS 中的联系人。…

    2022-11-23 10:55:41
    0 70 32
  • SWIFT:加快视频下载速度的技巧

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

    2022-11-11 15:15:11
    0 16 28
  • 如何在Swift中获取另一个时区的当前日期和时间

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

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

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

    2022-12-22 10:47:05
    0 47 33
  • sort code和swift code:Understanding Your Bank's Sort Code and Swi

    Sort code是英国和爱尔兰的银行账户系统中使用的6位数字代码,用于标识特定的银行和分支机构。它是由英国和爱尔兰的银行账户系统中使用的,用于区分不同的银行和分支机构。…

    2023-05-12 00:15:26
    0 39 85

发表评论

登录 后才能评论

评论列表(80条)