gpt4 book ai didi

ios - 为什么VideoDataOutput的availableVideoCodecTypes为空?

转载 作者:行者123 更新时间:2023-12-03 18:36:51 26 4
gpt4 key购买 nike

AVCaptureVideoDataOutput 有一个字段 availableVideoCodecTypes它应该告诉您可以使用哪些编解码器来录制视频,但它总是空的。这是为什么?

我在创建 VideoDataOutput 并将其添加到 session 后立即检查了它的值,但它是空的。我尝试了运行 iOS 10 的 iPhone 5s 和运行 iOS 11 的 iPhone 7 Plus,两者都是空的。

这个问题是关于 AVCaptureVideoDataOutput 的。 AVCaptureMovieFileOutput 有 another field使用相同的名称,这可以工作,但问题不在于此。

有人可能会说 VideoDataOutput 为您提供帧而不是记录到文件,因此不涉及编解码器,这就是该属性为零的原因,但在这种情况下,为什么要拥有该属性呢?

最佳答案

不知道为什么是空的。我自己也遇到了同样的问题,但是您可以在 AVCaptureVideoDataOutput 上调用以下方法并获得有效结果:

- (NSArray<AVVideoCodecType> *)availableVideoCodecTypesForAssetWriterWithOutputFileType:(AVFileType)outputFileType;

用法示例:

NSArray *availableVideoCodecTypes = [videoDataOutput availableVideoCodecTypesForAssetWriterWithOutputFileType:AVFileTypeQuickTimeMovie];

在运行 iOS 12 的 iPhone XR 上,此返回

hvc1, // AKA HVEC or H.265
avc1, // AKA H.264
jpeg

在运行 iOS 12 的 iPhone 6s+ 上,它会返回

avc1, // AKA H.264
jpeg

关于ios - 为什么VideoDataOutput的availableVideoCodecTypes为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46843849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com