Swift iOS - 如何压缩存储的嵌入式视频文件大小?
Swift iOS -How to compress stored embedded video file size?
我在 FCP 中保存了一个视频 h.264
。我将视频拖到 Xcode 的项目导航器部分,并在需要时选择复制项目。这是一个 .mov
,在登录页面出现时在后台播放。
这是我访问和播放视频的方式:
let url = Bundle.main.url(forResource: "SampleVideo", withExtension: ".mov")
player = AVPlayer.init(url: url!)
playerLayer = AVPlayerLayer(player: player!)
playerLayer?.videoGravity = AVLayerVideoGravityResizeAspectFill
playerLayer?.frame = view.layer.frame
player?.actionAtItemEnd = AVPlayerActionAtItemEnd.none
player?.play()
view.layer.insertSublayer(playerLayer!, at: 0)
问题是当视频包含在我的项目中并且我将应用程序上传到 TestFlight 时文件大小为 304 MB
。我收到有关应用程序的最大大小超过 150 MB 限制的警告。
我知道用户仍然可以下载它,但我注意到如果连接速度很慢,应用程序下载需要很长时间。
如果我从我的项目中删除视频并将应用程序上传到 TestFlight,压缩后的文件大小会大大减小到 38.2 MB
如何将视频保留在我的应用程序中并减小我的应用程序的文件大小?
我假设压缩 Xcode 中的视频可以实现吗?
我使用 FilmicPro 在 iPhone 7+ 上录制了应用的背景视频。一切都以 4K 录制。正如问题所述,文件在上传到 iTunesConnect 后非常大。为了解决这个问题,我所做的是将我的 4K 视频转换为 1080P。我用的是 FCPX,转换花了几分钟。质量看起来完全一样。
这是我关注的有关如何创建转化的 YouTube 视频。非常容易理解,不到 5 分钟:
我在 FCP 中保存了一个视频 h.264
。我将视频拖到 Xcode 的项目导航器部分,并在需要时选择复制项目。这是一个 .mov
,在登录页面出现时在后台播放。
这是我访问和播放视频的方式:
let url = Bundle.main.url(forResource: "SampleVideo", withExtension: ".mov")
player = AVPlayer.init(url: url!)
playerLayer = AVPlayerLayer(player: player!)
playerLayer?.videoGravity = AVLayerVideoGravityResizeAspectFill
playerLayer?.frame = view.layer.frame
player?.actionAtItemEnd = AVPlayerActionAtItemEnd.none
player?.play()
view.layer.insertSublayer(playerLayer!, at: 0)
问题是当视频包含在我的项目中并且我将应用程序上传到 TestFlight 时文件大小为 304 MB
。我收到有关应用程序的最大大小超过 150 MB 限制的警告。
我知道用户仍然可以下载它,但我注意到如果连接速度很慢,应用程序下载需要很长时间。
如果我从我的项目中删除视频并将应用程序上传到 TestFlight,压缩后的文件大小会大大减小到 38.2 MB
如何将视频保留在我的应用程序中并减小我的应用程序的文件大小?
我假设压缩 Xcode 中的视频可以实现吗?
我使用 FilmicPro 在 iPhone 7+ 上录制了应用的背景视频。一切都以 4K 录制。正如问题所述,文件在上传到 iTunesConnect 后非常大。为了解决这个问题,我所做的是将我的 4K 视频转换为 1080P。我用的是 FCPX,转换花了几分钟。质量看起来完全一样。
这是我关注的有关如何创建转化的 YouTube 视频。非常容易理解,不到 5 分钟: