Как я могу захватывать кадры из Bodelin ProScope HR, используя AVCaptureSession на Mac OS X Lion? - PullRequest
3 голосов
/ 17 января 2012

Я пытаюсь захватить кадры и просмотреть видео с 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 output

И просто для сравнения, вывод с обычной веб-камеры:

Generic WebCam output

1 Ответ

1 голос
/ 20 января 2012

В соответствии с документацией вы должны настроить AVCaptureDevice вместо AVCaptureSession.

EDIT: Фреймворк AV разработан поверх IOKit и полностью основан на том, что у вас нет проблем с оборудованием. В вашем случае, похоже, что корень вашей проблемы связан с аппаратным обеспечением, поэтому вам следует рассмотреть возможность использования IOKit напрямую.

...