2012-12-06 123 views
3

我正在開發一個項目,並且最近在短時間內切換到了目標c。我在使用qtkit從相機捕捉視頻時在mac osx中遇到了一些問題。我目前使用「setPixelBufferAttributes」來設置捕獲視頻的不同屬性。問題是:如何知道相機是否支持分辨率或不支持mac os x

  1. 如果攝像頭不支持640 X 360分辨率,我使用則視頻也被捕獲並在內部轉換爲640 X 360,其我不需要「setPixelBufferAttributes」設置它。所以我不想自動轉換分辨率。

  2. 我希望直接支持相機硬件支持的所有分辨率。

請指引我,如果任何其他的API也存在...

回答

0

此代碼將從QTCaptureDevice枚舉視頻源的大小:

[captureDevice.formatDescriptions enumerateObjectsUsingBlock:^(QTFormatDescription* formatDescription, NSUInteger idx, BOOL* stop) { 
     NSDictionary* attributes = [formatDescription formatDescriptionAttributes]; 
     NSValue* videoEncodedPixelsSize = [attributes objectForKey:@"videoEncodedPixelsSize"]; 
     NSSize videoSize = [videoEncodedPixelsSize sizeValue]; 
     NSLog(@"%@", NSStringFromSize(videoSize)); 
    }]; 
+0

這個代碼總是隻給一個單一的格式(總是160×120)從相機和我需要從設備的所有支持的格式謝謝,請幫助我,如果你找到我的東西... –

+0

你有什麼相機?我從我的MacBook Pro獲得640x480。你認爲你的相機支持什麼格式? – combinatorial

+0

有兩臺攝像機一臺支持160×120至640×480攝像機名稱是微軟lifecam VX-5000。另一個是rocksoul全高清1080p網絡攝像頭,它支持640 X 360和所有其他分辨率,包括640 X 480,保持4:3和16:9兩種視頻分辨率。所以我想知道什麼是設備支持的所有分辨率.. –