如何在 iOS 上使用 ProRes 编解码器录制视频?
Posted
技术标签:
【中文标题】如何在 iOS 上使用 ProRes 编解码器录制视频?【英文标题】:How to record video in ProRes codec on iOS? 【发布时间】:2017-12-05 10:32:05 【问题描述】:我想将视频从设备的后置摄像头直接捕获到 ProRes 编解码器,现在 .proRes422
和 .proRes4444
在 ios 11 中可作为 AVVideoCodecType
选项使用。
但是我收到一个错误,记录是:
在当前配置下不支持
在 iPhone X 和第二代 iPad Pro 上,尝试使用以下代码捕获视频时:
movieFileOutput.setOutputSettings([AVVideoCodecKey: AVVideoCodecType.proRes422],
for: movieFileOutputConnection!)
如果这种方法是错误的,可以使用AVCaptureVideoDataOutput
和AVAssetWriter
对捕获的视频进行编码吗?
【问题讨论】:
据我所知只有 Mac OS X 支持 ProRes422 @ErikTerwan Apple Developer Documentation 明确声明 iOS 11.0+ 和 tvOS 11.0+ 支持 ProRes 422。 @ErikTerwan 和ProRes 4444一样。 这些平台上可用的符号与运行时支持的配置不同。-availableVideoCodecTypes
在您的设备上返回什么?
@Boletrone 这里的“可用”和“支持”是有区别的。仅仅因为 iOS 知道格式的存在,并使用符号命名,并不意味着它立即支持与格式有关的所有内容。它可以支持解码但不支持编码;它可以支持离线编辑,但不支持捕获;或可能计划在未来的版本中提供支持。
【参考方案1】:
我收到了来自 Apple 相机软件团队的工程师 Brad Ford 的回复:
AVVideoCodecType
(字符串)可用,表示可以编译 引用此常量而没有编译错误的代码。但AVCaptureMovieFileOutput
告诉你真相。 ProRes 不是 在 iOS 上受支持。
【讨论】:
以上是关于如何在 iOS 上使用 ProRes 编解码器录制视频?的主要内容,如果未能解决你的问题,请参考以下文章