Форум Beholder http://beholder.ru/bb/ | |
4 PCI (e) (+ USB ?) тюнера. http://beholder.ru/bb/viewtopic.php?f=2&t=11760 |
Страница 1 из 1 |
Автор: | Andrey_GTRK [ 16 ноя 2010, 00:31 ] |
Заголовок сообщения: | 4 PCI (e) (+ USB ?) тюнера. |
Хочется поставить 4 штуки примерно A8 (как самых дешевых) для мониторинга 4 телерадиоканалов (без записи - только показ). Драйвер подерживает несколько одинаковых плат с возможностью перечисления как DirectShow устройств capture ? Кроме драйвера с выходами в DirectShow ничего не нужно. В идеале хочется перечисления всех установленых в системе плат функцией типа Код: // Create the system device enumerator
CComPtr <ICreateDevEnum> pDevEnum =NULL; hr = CoCreateInstance (CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC, IID_ICreateDevEnum, (void ** ) &pDevEnum); if (FAILED(hr)) { Msg(TEXT("Couldn't create system enumerator! hr=0x%x"), hr); return hr; } // Create an enumerator for the video capture devices CComPtr <IEnumMoniker> pClassEnum = NULL; hr = pDevEnum->CreateClassEnumerator (CLSID_VideoInputDeviceCategory, &pClassEnum, 0); if (FAILED(hr)) { Msg(TEXT("Couldn't create class enumerator! hr=0x%x"), hr); return hr; } // First Cap Device if (S_OK == (pClassEnum->Next (1, &pMoniker1, &cFetched))) { // Bind Moniker to a filter object hr = pMoniker1->BindToObject(0,0,IID_IBaseFilter, (void**)&pCapture1); if (FAILED(hr)) { Msg(TEXT("Couldn't bind moniker to filter object1! hr=0x%x"), hr); return hr; } } else { Msg(TEXT("Unable to access video capture device 1 !")); return E_FAIL; } // Second Cap device if (S_OK == (pClassEnum->Next (1, &pMoniker2, &cFetched))) { // Bind Moniker to a filter object hr = pMoniker2->BindToObject(0,0,IID_IBaseFilter, (void**)&pCapture2); if (FAILED(hr)) { Msg(TEXT("Couldn't bind moniker to filter object2! hr=0x%x"), hr); return hr; } } else { Msg(TEXT("Unable to access video capture device 2 !")); return E_FAIL; } и т.д. до 4 устройства capture. Второй вопрос - есть возможности аппаратного деинтерлейса силами самой платы А8 или каких-нить других из самых дешевых ? Если да - то как включается програмно ? Если 4 PCIe платы так запустить нельзя - может есть варианты иного набора тюнеров от одного производителя (бехолдер) чтобы гарантировано получить 4 video capture устройства в одной win32 nt5.1 ? Типа 2 PCIe + 2 USB ? |
Автор: | Support [ 16 ноя 2010, 12:36 ] |
Заголовок сообщения: | Re: 4 PCI (e) (+ USB ?) тюнера. |
писал(а): Драйвер подерживает несколько одинаковых плат с возможностью перечисления как DirectShow устройств capture ? Да, поддерживает. Последние версии драйвера поддерживают до 8 тюнеров в системе. писал(а): В идеале хочется перечисления всех установленых в системе плат функцией типа ... Если кроме тюнеров в компьютере нет других устройств видеозахвата, то можно и так. В противном случае Вы рискуете подключить в граф "левое" устройство видеозахвата (видеовход видеокарты, веб-камеру и пр.). Обычно нужное устройство находят по ключевым словам в FriendlyName или оставляют выбор за пользователем. http://msdn.microsoft.com/en-us/library ... 92(v=VS.85).aspx писал(а): Второй вопрос - есть возможности аппаратного деинтерлейса силами самой платы А8 или каких-нить других из самых дешевых ? Если да - то как включается програмно ?
Аппаратный деинтерлейс не поддерживается чипсетами тюнеров. |
Автор: | Andrey_GTRK [ 16 ноя 2010, 14:54 ] |
Заголовок сообщения: | |
писал(а): Если кроме тюнеров в компьютере нет других устройств видеозахвата, то можно и так. В противном случае Вы рискуете подключить в граф "левое" устройство видеозахвата (видеовход видеокарты, веб-камеру и пр.). Благодарю. Система собирается для себя в строго контролируемых промышленых условиях - никто случайный не будет ее трогать и ничего лишнего подключаться не будет. писал(а): Аппаратный деинтерлейс не поддерживается чипсетами тюнеров.
Тогда может вместе к комплектом ПО ставится програмный DirectShow фильтр деинтерлейча, который можно использовать в нескольких экземплярах ? Если да - насколько он нагружает систему и какой примерно требуется ЦПУ для нормального функционирования 4 окон 720х576 с програмным деинтерлейсом ? Может Video Capture драйвер от бехолдера может отдавать какой-нить особо правильный формат VideoInfo2, который правильно понимается Video Mixing Renderer (7 или 9) для автоматического включения аппаратного деинтерлейса силами видеокарт от ATI (или NVIDIA) ? Т.е. чтобы больше одного окна (ну или хотя бы одно) имело аппаратный деинтерлейс силами видеокарты. Пока никакие попытки принудительно включить аппартный деинтерлейс при приходе медиасемплов формата VideoInfo не получаются. И даже не все варианты VideoInfo2 похоже подходят - возможно важны точные комбинации Interlace флагов. |
Автор: | Support [ 17 ноя 2010, 13:38 ] |
Заголовок сообщения: | |
писал(а): Тогда может вместе к комплектом ПО ставится програмный DirectShow фильтр деинтерлейча, который можно использовать в нескольких экземплярах ? ПО не регистрирует DS деинтерлейс-фильтров. писал(а): Может Video Capture драйвер от бехолдера может отдавать какой-нить особо правильный формат VideoInfo2, который правильно понимается Video Mixing Renderer (7 или 9) для автоматического включения аппаратного деинтерлейса силами видеокарт от ATI (или NVIDIA) ? Т.е. чтобы больше одного окна (ну или хотя бы одно) имело аппаратный деинтерлейс силами видеокарты. Аппаратный деинтерлейс вовсе не гарантирует низкую загрузку системы, если, конечно, вы это имеете в виду. В зависимости от производителя видео карты, её поколения, драйвера, видеорендерера и версии ОС загрузка при аппаратном деинтерлейсе может колебаться почти от 0 до 10...15% на каждое ядро. Программные деинтерлейс фильтры, по крайней мере в программе Behold TV, загружают одно ядро любого процессора C2D не более чем на 3%. писал(а): Пока никакие попытки принудительно включить аппартный деинтерлейс при приходе медиасемплов формата VideoInfo не получаются. И даже не все варианты VideoInfo2 похоже подходят - возможно важны точные комбинации Interlace флагов.
На Preview пине драйвера формируется заголовок VideoInfo2. Interlace-флаги в нём не установлены, т.е. кадр представлен как прогрессивный - FRAME. Установка Interlace флагов в драйвере приводит к проблемам с совместимостью с некоторыми драйверами и поколениями видео карт. В программе Behold TV для включения аппаратного деинтерлейса и удвоения частоты кадров Interlace флаги устанавливаются вне драйвера. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |