我有一些相关的问题:iOS 上的视频处理。
1) 是否可以暂停然后恢复 AVVideoComposition 处理会话?我问这个是因为当我的应用程序在后台运行时(即应用程序的 10 分钟后台处理限制),我遇到了将大型 1080p 视频文件合并在一起的问题。到目前为止,我的经验是,如果应用程序在后台运行时达到 10 分钟的限制并且应用程序被 iOS 停止,则视频处理会话会失败。如果我能够暂停视频处理会话,我可以检测到 10 分钟限制的临近,然后暂停视频处理,直到用户将应用程序带回最前沿,然后恢复它,等等等等。
2) 代替上述能力,有没有办法将后台处理“延长”超过 10 分钟?我的应用程序不属于允许在后台连续运行的任何应用程序类别。但我对我的应用程序这样做的需要是合法且真实的——原因是 iphone 上的视频很大——新 iPhone 上的视频为 1080p——并且处理它们需要一段时间。在某种程度上,限制应用程序处理代表他们在视频拍摄设备上拍摄的视频的能力对用户来说是不公平的。底线:只要应用程序处于 AVComposition 视频处理会话的中间,就应该允许应用程序继续完成它,或者暂停并稍后恢复。
3)如果上述选项均不可用,请您推荐一个处理此问题的策略。我想让我的应用程序在可靠性方面坚如磐石,让用户确切地知道发生了什么。
4)是否可以将较低质量的视频上转换为较高(尽管更模糊)质量?例如:假设我想合并两个视频剪辑,一个质量较低,一个质量较高。目前,如果我将这两者合并在一起,生成的视频将以更高质量视频的分辨率播放;包含较低质量视频的部分在较大视频帧左上角的较小视频帧中播放,其余帧被涂黑。我更喜欢让质量较低的视频填充较大的帧,即使结果变得模糊。(注意:我确实想保持较低质量视频的纵横比,但是,顶部/底部或左侧/右侧的黑色条纹是可以的。)
谢谢!