Форум Beholder http://beholder.ru/bb/ | |
DSPack + beholder http://beholder.ru/bb/viewtopic.php?f=10&t=13212 |
Страница 1 из 1 |
Автор: | Пустовой Юрий [ 25 июл 2012, 10:27 ] |
Заголовок сообщения: | DSPack + beholder |
Работа горит. помогите, подскажите как поступить. Нужна запись одновременно с 2-х карт. все работает, но разрешение не переключается. Знаю, что можно настроить так, что-бы запись через DirectShow автоматически настраивалась на нужное мне разрешение (так уже работало на старой машине) но как это сделать не знаю. В прошлый раз получилось случайно... Пишу на дельфи, использую библиотеку DSPack (Классовая обертка над DirectShow) к библиотеке идут примеры. один из них - простейший захват с веб-камеры или тв-тюнера: выбирается устройство, выбирается разрешение, кнопка записи. Старенький авермедиа отрабатывает отлично. а вот бехолдеры находятся: Behold TV 609 FM: A/V Capture [Slot 3] Behold TV 609 RDS: A/V Capture [Slot 4] Но задать разрешение невозможно: Major Type: Analogvideo - Sub Type: UnKnown Format: Unknown что делать, где рыть? |
Автор: | BTVSoft [ 25 июл 2012, 11:58 ] |
Заголовок сообщения: | Re: DSPack + beholder |
Разрешение кадра меняется на пине Capture устройства A/V захвата. Цитата: Major Type: Analogvideo - Sub Type: UnKnown Format: Unknown Это не тот пин что вам нужен, это служебный входной пин, там формат менять не нужно. Действия примерно такие: 1) Находим указатель на пин Capture устройства A/V захвата. 2) Получаем интерфейс IAMStreamConfig с этого пина. 3) Меняем формат посредством IAMStreamConfig::SetFormat. Структуру AM_MEDIA_TYPE можно сначала получить через IAMStreamConfig::GetFormat, затем ее модифицировать и записать обратно через SetFormat. Получить интерфейс IAMStreamConfig можно также в лоб через ICaptureGraphBuilder2: Код: hr := pICaptureGraphBuilder2.FindInterface(@PIN_CATEGORY_CAPTURE, @MEDIATYPE_Video, g_pAnalogCapture, IID_IAMStreamConfig, pIAMStreamConfig); pICaptureGraphBuilder2 - указатель на интерфейс ICaptureGraphBuilder2 g_pAnalogCapture - указатель на интерфейс IBaseFilter устройства A/V захвата pIAMStreamConfig - получаемый указатель на интерфейс IAMStreamConfig |
Автор: | Пустовой Юрий [ 26 июл 2012, 15:38 ] |
Заголовок сообщения: | Re: DSPack + beholder |
Благодарю. действительно, разработчики библиотеки видно посчитали, что пин Capture всегда должен быть первым... Проблема решена. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |