CMSampleBufferRef 始终具有相同的视频分辨率?

CMSampleBufferRef have always same video resolution?

我正在尝试通过 AVAssetWriterAVCaptureOutput

捕捉视频

您可以找到示例项目 here

视频应采用任意分辨率的纵向模式。主要问题应该是纵向模式。

我正在尝试设置不同的设置,但最后,视频在 iPhone SE 上被旋转和缩放到大小 (1920x1080)。

这个分辨率可以控制吗?或者至少方向?

视频分辨率由 AVCaptureSession sessionPreset 决定。您将其设置为中等,因此您将获得随之而来的分辨率。如果您想要不同的分辨率,请传递不同的会话预设,或使用 AVCaptureDevice 设置特定的捕获格式。 (要全面了解捕获会话预设与设备格式,请返回 this WWDC13 video。)

根据 this Apple Developer Q&A,您需要在启动捕获会话后设置捕获连接的方向,以便获得 "physically" 旋转帧缓冲区(以捕获性能为代价),或设置transform 属性 在你的 asset writer 上(以便缓冲区以传感器的原始方向记录,但客户端以你的预期方向显示它)。