Форум 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 часа