Как мога да заснема кадри от Bodelin ProScope HR с помощта на AVCaptureSession на Mac OS X Lion?

Опитвам се да взема кадри и да прегледам видеоклипа от USB микроскоп Bodelin Proscope HR. Имам просто приложение Cocoa, използващо AVCaptureSession с AVCaptureDeviceInput за Proscope HR и AVCaptureVideoPreviewLayer, показващо изхода.

Всичко това работи добре с вградената iSight камера, но изходът от Proscope HR е изкривен до неузнаваемост.

Използвайки пакетния софтуер Proscope, понякога виждам същото изкривяване, когато се опитвам да използвам по-високите разделителни способности. Подозрението ми е, че използваният хардуер е доста недостатъчно спецификиран и това се подсилва от факта, че при най-ниската резолюция 320x200 пакетният софтуер грабва при 30 кадъра в секунда, но когато увеличите разделителните способности, честотата на кадрите пада драстично, до 15 кадъра в секунда при 640x480, чак до 3,75 кадъра в секунда при максимална разделителна способност 1600x1200.

РЕДАКТИРАНЕ: Първоначално си помислих, че може би кадровата честота, опитвана от AVCaptureSession, е твърде висока, но оттогава потвърдих, че (поне на теория) сесията за заснемане изисква кадровата честота, рекламирана от AVCaptureDevice.

Трябва да отбележа, че вече опитах всички стандартни AVCaptureSessionPreset* постоянни предварителни настройки, дефинирани в заглавките, и никой от тях не подобри резултатите от Proscope HR. (Въпреки това изглежда, че влияят на вградения iSight по приблизително очаквания начин.)

Ето снимка на екрана, показваща изкривения изход от ProScope HR:

ProScope HR изход

И само за сравнение, резултатът от обща уеб камера:

Общ изход за уеб камера


person Kaelin Colclasure    schedule 17.01.2012    source източник
comment
Бихте ли прикачили кратко видео, което демонстрира проблема?   -  person Kentzo    schedule 19.01.2012


Отговори (1)


Според документация трябва да конфигурирате AVCaptureDevice вместо AVCaptureSession.

РЕДАКТИРАНЕ: AV рамката е разработена върху IOKit и изцяло разчита на факта, че нямате проблеми с хардуера. Във вашия случай изглежда, че коренът на вашия проблем е свързан с хардуера, така че трябва да обмислите използването на IOKit директно.

person Kentzo    schedule 19.01.2012
comment
Потвърдих с помощта на програмата за отстраняване на грешки, че възможностите на AVCaptureDevice се използват автоматично от AVCaptureSession… Така че бях извън целта, подозирайки, че честотата на кадрите е лоша. Има някакъв друг проблем, който изглежда уникален за ProScope HR. - person Kaelin Colclasure; 20.01.2012
comment
Значи се опитахте да присвоите различни стойности на свойството activeVideoMinFrameDuration на AVCaptureDevice? - person Kentzo; 20.01.2012
comment
Направих го и той все още не даде никакъв използваем изход от устройството ProScope HR. Подозирам, че има нещо несъответстващо в хардуера на Bodelin, въпреки факта, че го рекламират като не изискващ специални драйвери за MacOS X. - person Kaelin Colclasure; 21.01.2012
comment
Тогава трябва да обмислите да използвате IOKit директно, вместо да използвате AV рамката. - person Kentzo; 21.01.2012