如何在 iOS 上使用 ProRes 编解码器录制视频?

Posted

技术标签:

【中文标题】如何在 iOS 上使用 ProRes 编解码器录制视频?【英文标题】:How to record video in ProRes codec on iOS? 【发布时间】:2017-12-05 10:32:05 【问题描述】:

我想将视频从设备的后置摄像头直接捕获到 ProRes 编解码器,现在 .proRes422.proRes4444ios 11 中可作为 AVVideoCodecType 选项使用。

但是我收到一个错误,记录是:

在当前配置下不支持

在 iPhone X 和第二代 iPad Pro 上,尝试使用以下代码捕获视频时:

movieFileOutput.setOutputSettings([AVVideoCodecKey: AVVideoCodecType.proRes422], 
                                  for: movieFileOutputConnection!)

如果这种方法是错误的,可以使用AVCaptureVideoDataOutputAVAssetWriter对捕获的视频进行编码吗?

【问题讨论】:

据我所知只有 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 编解码器录制视频?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 pi 上的边缘检测保存视频录制

在 Opencv 的 UYVY 编解码器中录制视频

选择用于屏幕录制的视频编解码器

android上的qt5不使用QAudioRecorder录制PCM wav文件

网络录制的视频未在 ipad 中播放

如何在 iPhone/iOS 中播放 xiph.org 音频编解码器?