我有两个iPad,特别是:A1489和A1566.
如果我录制天花板的视频1分钟,A1489的文件大小几乎总是A1566的一半.
结果视频中唯一的不同似乎是A1566具有更高的数据速率,我不明白为什么会这样?
我正在使用ACFoundation和AVCaptureSessionPreset1280x720.
任何人都可以阐明为何存在这种差异?
附加信息:两者的帧速率为每秒30帧.
谢谢
克里斯
Ipad A1489 是Apple iPad mini 2(Retina/2nd Gen),A1566 是Apple iPad Air 2。
Ipad mini 2 配备 5 兆像素“iSight”摄像头,而 Ipad Air 2 配备 8 兆像素“iSight”摄像头。
iPad Air 2 采用了 8MP iSight 摄像头,与去年的 iPad Air 及其 5MP 射手相比,其可处理像素增加了 60%。 阅读更多。
它是相同的 iSight 相机,原理适用于从 5mp 到 8mp 的过渡。
Air2 似乎确实能够捕获比 mini 2 双倍的 fps(120)。
关于视频文件大小如何随 fps 增加的问题,有一些有趣的答案。
但这并不重要,因为两者都使用 1280x720 的 30fps。
重要的是比特率。
比特率直接反映相机中的帧速率和分辨率设置。文件大小由比特率决定。(文件大小是比特率乘以长度)。
使用 AVCaptureSession 对象
您可以使用 sessionPreset 属性来自定义输出的质量级别、比特率。最常见的捕获配置可通过会话预设获得; 来自 AvcCaptureSession 文档
有关 sessionPreset 的可能值,请参阅视频输入预设。默认值AVCaptureSessionPresetHigh是
指定适合高质量视频和音频输出的捕获设置。
您使用了 AVCaptureSessionPreset1280x720,它指定适合 720p 质量(1280x720 像素)视频输出的捕获设置。
它们的值因设备而异。
但 AVCaptureSession 只是协调从 AV 输入设备到输出的数据流的对象。
到目前为止,您已经获得了未压缩的帧。
您可以使用 AVCaptureVideoDataOutput 对象来处理正在捕获的视频中的未压缩帧。您通常配置输出的几个方面。
您提到了 30fps,所以我假设您通过在此处设置来限制帧速率minFrameDuration。您可以使用 videoSettings 属性指定像素格式。此时有许多属性可以更改或默认。
| 归档时间: |
|
| 查看次数: |
441 次 |
| 最近记录: |