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 分钟:

YouTube -Convert video from 4K to 1080P