Dan*_*Dan 3 video cocoa quicktime
我是从网络摄像头录制的.相机在PhotoBooth中看起来很棒.但是,当我使用QTCaptureView在我的程序中预览它,或将其记录到文件时,它非常非常慢.原因是QuickTime给了我1600x1200的最大分辨率.如何为我的QTCaptureView和我的录音文件强制更合理的大小?
如此处所述,您可以在QTCaptureSession的输出中设置像素缓冲区属性,以更改捕获的视频的分辨率.例如:
[[[myCaptureSession outputs] objectAtIndex:0] setPixelBufferAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:480], kCVPixelBufferHeightKey,
[NSNumber numberWithInt:640], kCVPixelBufferWidthKey, nil]];
Run Code Online (Sandbox Code Playgroud)
将捕获会话中的第一个输出的视频分辨率设置为640x480.这也应该自己调整相机设置,使其返回该尺寸的图像帧(如果相机硬件支持).
您可能还希望使用基本MPEG4编码而不是h.264来进行实时视频录制.可以使用类似于以下内容的代码设置:
NSArray *outputConnections = [mCaptureMovieFileOutput connections];
QTCaptureConnection *connection;
for (connection in outputConnections)
{
if ([[connection mediaType] isEqualToString:QTMediaTypeVideo])
[mCaptureMovieFileOutput setCompressionOptions:[QTCompressionOptions compressionOptionsWithIdentifier:@"QTCompressionOptionsSD480SizeMPEG4Video"] forConnection:connection];
}
Run Code Online (Sandbox Code Playgroud)
h.264编码,特别是Quicktime实现,使用比基本MPEG4更多的CPU功率进行编码.
| 归档时间: |
|
| 查看次数: |
2236 次 |
| 最近记录: |