2016-11-24 70 views
1

我用三个班做屏幕捕获在AVFoundation:如何在AVFoundation屏幕捕获中进行下采样?

AVCaptureSession *m_captureSession; // AVCaptureSession 
AVCaptureScreenInput *m_screenInput;  //AVCaptureScreenInput 
AVCaptureVideoDataOutput *m_videoOutput;  // AVCaptureVideoDataOutput 

和处理与AVCaptureVideoDataOutputSampleBufferDelegate的每一帧。我有我自己的编码模块来处理帧缓冲区。

但原来的视网膜显示分辨率对我来说太多了。所以我想知道是否有可能在AVFoundation中没有任何编码/压缩的情况下进行下采样?

回答

1

m_screenInput.scaleFactor设置为小于1的值,例如, 0.25。

头文件给出缩放向上的一个例子,但按比例缩小也工作:

指示由从所述屏幕捕获的视频缓冲器将被缩放的因子的属性。
默认情况下,AVCaptureScreenInput以1.0(不缩放)的比例因子 从显示屏捕捉视频缓冲区。设置此属性以按给定因子缩放缓冲区。例如, 具有2.0f的scaleFactor的320x240捕获区域产生640x480的视频缓冲区。