Технические вопросы и ответы QA1365

Видеосъемка с многократными камерами IIDC

Q: Мое приложение Получения QTKit использует многократные камеры IIDC для получения видео с типом телосложения 640x480 30 кадр/с, но я нашел, что могу только получить с тремя камерами. Действительно ли это - известное ограничение?

A: Мое приложение Получения QTKit использует многократные камеры IIDC для получения видео с типом телосложения 640x480 30 кадр/с, но я нашел, что могу только получить с тремя камерами. Действительно ли это - известное ограничение?

Ограничение, с которым Вы встречаетесь, прибывает из пропускной способности, которую каждая камера использует на шине FireWire.

В целом шина FireWire, с которой соединяются камеры IIDC, может работать в максимальной скорости 400Mb/sec.

Спецификация FireWire позволяет до 80% общей пропускной способности использоваться для изохронного трафика, как видео. Камеры IIDC могут работать в различных частотах кадров, различных типах телосложения и могут также произвести различные разновидности данных YUV - YUV 4:1:1 и YUV 4:2:2. В зависимости от этих факторов будет варьироваться сумма использованной пропускной способности.

Многократные потоки IIDC могут быть активными одновременно. Число активных потоков только ограничивается числом настоящего камер и суммой доступной пропускной способности шины FireWire. Если будет недостаточная пропускная способность для данной установки (формат пикселя / тип телосложения / частота кадров), то QuickTime попытается использовать меньший тип телосложения. Если это перестанет работать, то это попробует более медленную частоту кадров.

Решение состоит в том, чтобы работать с меньшими типами телосложения, более низкими частотами кадров или добавить дополнительную шину FireWire с помощью сторонней платы PCI, дающей Вам больше пропускной способности для игры с.

Посмотрите Получение QA1586 QTKit - Указание Настроек Сжатия Носителей, чтобы изучить, как сконфигурировать настройки сжатия носителей (формат, тип телосложения, и т.д.) для Получения QTKit QTCaptureMovieFileOutput объект.

Получение QTKit отправит Вас QTCaptureSessionRuntimeErrorNotification когда Вы пытаетесь записать к многократным камерам одновременно, и Вы превысили ограничения пропускной способности. Это позволит Вам обнаруживать это условие (в отсутствие любого возвращаемого кода ошибки). Пользовательский информационный словарь уведомления QTCaptureSessionErrorKey запись содержит NSError объект, описывающий ошибку, препятствовавшую тому, чтобы сеанс работал должным образом.

Вот то, как установить для получения этого уведомления:

Перечисление 1  , Как получить QTCaptureSessionRuntimeErrorNotification уведомление.

// handle the QTCaptureSessionRuntimeErrorNotification

-(void)handleNotification:(NSNotification *)theNotification
{
    // your code to handle notification here
}

...

// setup to receive the QTCaptureSessionRuntimeErrorNotification

NSNotificationCenter *nc;
nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self
        selector:@selector(handleNotification:)
        name:QTCaptureSessionRuntimeErrorNotification
        object:nil];

Видеосъемка со средством захвата последовательности

Ограничения, описанные выше также, запрашивают Средство захвата Последовательности, т.е. число активных потоков ограничивается числом настоящего камер и суммой доступной пропускной способности шины FireWire. Решение состоит в том, чтобы работать с меньшими типами телосложения, более низкими частотами кадров или добавить дополнительную шину FireWire с помощью сторонней платы PCI, дающей Вам больше пропускной способности для игры с.

Для конфигурирования настроек средства захвата последовательности использовать SGSettingsDialog, SGSetSettings и SGSetChannelSettings. Посмотрите Руководство по Созданию фильмов для получения дополнительной информации.



История версии документа


ДатаПримечания
08.08.2008

Обновленный для получения QTKit.

25.08.2004

Новый документ, обсуждающий факторы, влияющие на число камер IIDC, которые могут одновременно использоваться для получения.