如何为 tvOS 包含 1x 1080p 和 2x 4K 视频资产

Posted

技术标签:

【中文标题】如何为 tvOS 包含 1x 1080p 和 2x 4K 视频资产【英文标题】:How to include 1x 1080p and 2x 4K video assets for tvOS 【发布时间】:2020-05-10 17:14:41 【问题描述】:

我有一个使用 AVFoundation API 播放视频的应用。这些视频目前作为单独的文件放入项目中。它们是 1080p 视频,但现在我有了新的 4K 版本,当应用程序在 4K Apple TV 上运行时我想使用它们,并且它应该继续在高清 Apple TV 上使用 1080p 资产。我不希望应用程序中包含这两种分辨率,因为这会大大增加下载大小。 App Thinning 对放置在资产目录中的 1x 和 2x 比例的图像资产执行此操作,但不幸的是,这似乎不适用于视频。有没有办法提供 1x 和 2x 视频资产,以便根据下载应用程序的 Apple TV 硬件提供适当的分辨率?也许有按需资源?我确实希望资产始终可用 - 用户不必在安装应用后下载它们。

【问题讨论】:

有什么理由不只附带 4K 资产? @DanielStorm 不幸的是,TV HD 不支持播放 4K 视频。他们仍然在玩,但波涛汹涌的表现极差。 support.apple.com/kb/SP724 好点。 AFAIK 本地视频没有命名约定,让 Xcode 将它们视为资产目录。我将其在线托管内容,创建 HLS 清单,然后让应用播放 HLS 流不是一种选择? 是的,我强烈希望它们包含在应用程序下载大小中,而不是在打开应用程序时下载它们,或者每次播放它们时流式传输它们。 可以考虑压缩视频文件,然后在播放前解压缩。但是,由于 tvOS 的存储限制,您必须在每次播放时解压缩它们,或者在解压缩后在应用程序的整个生命周期内保留对文件的引用。猜猜这取决于文件大小和播放前解压缩处理时间的权衡。 【参考方案1】:

根据我提交的反馈,我被告知如果您使用资产目录中的数据资产和 NSDataAsset API 来检索视频,这是可能的。使用“APPLE 3”图形要素类标记资产的 4K 版本,并将 1080p 版本放入 Any/Any 插槽。这将确保 4K 版本的视频资产包含在 4K Apple TV 设备中,而 1080p 版本包含在其他设备中。

【讨论】:

以上是关于如何为 tvOS 包含 1x 1080p 和 2x 4K 视频资产的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Ifc2x3 和 Ifc4 重用相同的 xBim 代码

HI3521是不是具有1080p@30fps编解码能力?

从 JSON 转换数组中的列 [关闭]

获取设备图像比例(例如@1x、@2x 和@3x)

如何为图片库添加上一个和下一个箭头?

G.1X 和 G.2X 的 AWS Glue 工作线程定价详细信息