Switch to English Switch to Russian To index page Contacts us

 
iuVCS
Oписание
Скриншоты
Скачать
Зарегистрировать
Форум

iuVCR
Oписание
Скриншоты
Скачать
Зарегистрировать
Форум

tweaked bt878
WDM drivers

Oписание
Cовместимость
Вопросы
Скачать

Karcasio

Oписание


WebLogExpert
forum.volgograd.ru

tweaked bt878 WDM drivers >> Вопросы и ответы



Q1: Что такое WDM-драйвера и зачем они нужны?
Q2: Откуда вообще взялись эти драйвера?
Q3: У меня карта на чипе bt878, подойдут ли к ней драйвера, ведь там написано "bt848"?
Q4: Моего тюнера нет в compatibility list. Будут ли работать драйвера с моим тюнером?
Q5: Моя карта занесена в compatibility list, но я никак не могу получить звук.
Q6: Сделайте пожалуйста поддержку для моего тюнера модели <ХХХ>!
Q7: Я поставил ваши драйвера для своего ТВ-тюнера и они работают прекрасно. Я проверял работу драйверов с помощью программ BorgTV и JTV. Занесите, пожалуйста, мой тюнер в compatibility list.
Q8: Почему я не могу захватывать в VirtualDub кадр высотой более 288 (240) строк?



Q1: Что такое WDM-драйвера и зачем они нужны?

A: Первая технология для обработки видео под Windows была представлена компанией Microsoft в ноябре 1992 года для Windows 3.1 и носила незатейливое название "Video for Windows" (VFW). С того времени аппаратные средства PC стремительно эволюционировали, вышли новые версии Windows. Технология VFW, имеющая ряд архитектурных ограничений, не могла предоставить приемлемых решений для организации видеоконференций, поддержки TV-тюнеров, работы с полями кадра, декодированием телетекстовых сообщений. Производителям видеооборудования для PC приходилось каждый раз <изобретать велосипед>, что бы программное обеспечение могло в полной мере использовать особенности таких устройств как web-камера, TV-тюнер или плата видеозахвата

Для преодоления этих трудностей Microsoft разработала новую мультимедийную технологию DirectShow, которая очень тесно связана с использованием драйверов нового типа - WDM (Windows drivers model). Помимо универсальности (WDM-драйвера могут работать как в Win98, так и Win2000), WDM-драйвера обладают рядом ценных особенностей, значительно расширяющими возможности по управлению видеоустройствами. В результате, приложения ориентированные на архитектуру WDM-драйверов и технологию DirectShow могут с легкостью работать с любыми устройствами, будь то веб-камера или TV-тюнер, ничего не зная об аппаратных особенностях этих устройств.

Несколько слов о Windows 2000. Для этой операционной системы и для следующей ее версии - Windows XP, использование WDM-драйверов является необходимостью, поскольку старые VFW-драйвера разработанные для семейства Win9x не работают под Windows 2000. В то же время использование Windows 2000 и WDM-драйверов имеет значительные преимущества при захвате и обработке видео: Во-первых, размер .avi-файла может быть совершенно любым, в то время как .avi-файл под Win9x не может быть размером более 4GB. Во-вторых под Win2000 более продвинутые управление памятью, кэширование диска и многозадачность позволяют избежать выпадений кадров на протяжении всего сеанса видеозаписи.



Наверх

Q2: Откуда вообще взялись эти ваши драйвера?

A: В 2000 году фирма-производитель чипов bt8x8 Conexant допустила утечку со своего FTP исходных текстов референсных драйверов 3.1.28. В последствии доступ к FTP закрыли, но к тому времени исходники 3.1.28 расползлись по всему интернету и сегодня их может найти любой, кто пожелает. Я ждал некоторое время, что кто-нибудь доведет их до совершенства, поскольку референсные WDM-драйвера 3.1.28 мало пригодны для практической работы (они имеют ряд багов и ограничений), но героев не нашлось, и пришлось делать все самому. История улучшений отражена в файле history.txt. На момент написания этого FAQ фирма Conexant и очень многие производители TV-тюнеров использующие референсные WDM-драйвера так и не удосужились исправить <детские болезни> свойственные билду 3.1.28. Вместо этого, производители TV-тюнеров переключают звуковой тракт и осуществляют настройку на каналы с помощью всякого рода нестандартных .dll, пользоваться которыми может только <родной> софт.

Наверх

Q3: У меня карта на чипе bt878, подойдут ли к ней драйвера, ведь там написано "bt848"?

A: Подойдут, поскольку драйвера рассчитаны как на чипы bt848 так и на bt878, тем более, что они очень похожи. Если ваш тюнер присутствует в compatibility list, то волноваться вообще не о чем, иначе стоит почитать ответ на следующий вопрос.

Наверх

Q4: Моего тюнера нет в compatibility list. Будут ли работать драйвера с моим тюнером?

A: Скорее да, чем нет, но есть некоторые проблемы. Первая из них - по умолчанию обычно ставится устройство "bt848 tweaked WDM Video Capture", которое изначально настроено на чип bt878. Если у вас карта на более старом чипе bt848, то возможно вы получите вместо картинки размазанные наклонные полосы. Лечится это изменением значения параметра InitPLL с "1" на "0". Это можно сделать либо в системном реестре (просто поищите все InitPLL в реестре) либо, непосредственно перед инсталляцией драйверов, в файле Bt848.inf.

Вторая проблема, это радиочастотный модуль тюнера - <жестянка> на плате, которая отвечает за настройку тюнера на канал. Помимо того, что радиочастотные модули могут быть от нескольких производителей - Philips, Temic, Alps, они еще могут откликаться по разным адресам шины I2C. К счастью, возможных вариантов адресов обычно бывает два - либо 0xC0, либо 0xC2. Эти значения так же могут быть откорректированы в реестре либо в файле bttuner.inf - ищите параметр TunerI2Caddress.

Третья проблема самая серьезная. Возникает она из того факта, что сам чип bt848/878 не занимается коммутацией аудио сигнала. За выбор источника аудио (TV/FM/EXT)отвечает обычно маленький отдельно стоящий чип-коммутатор, марку которого каждый производитель TV-тюнера выбирает сам, кроме того, каждый производитель считает своим долгом припаять чип-коммутатор звука к bt8x8 каким-нибудь особенным способом. В итоге оказывается, что даже у одного производителя различные модели TV-тюнеров имеют свое особенное и неповторимое переключение звукового тракта. Это означает, что если вашей карты нет compatibility list то, скорее всего будет очень легко добиться картинки на экране, и гораздо сложнее услышать звуковое сопровождение

Наверх

Q5: Моя карта занесена в compatibility list, но я никак не могу получить звук.

A: Некоторые карты не имеют уникального SUBSYS_ID - в этом поле у них содержаться нули. В результате при установке драйверов Windows не может точно идентифицировать карту и подсовывает первое совместимое устройство из списка. Обычно это бывает "bt848 tweaked WDM Video Capture". Как правило, такой вариант не будет работать правильно. Если ваша карта присутствует в compatibility list, а в менеджере устройств в качестве устройства видеозахвата болтается "bt848 tweaked WDM Video Capture", то необходимо вызвать свойства этого драйвера и выполнить обновление драйвера с правильным названием, используя режим <выбрать из списка вручную>.

Наверх

Q6: Сделайте, пожалуйста, поддержку для моего тюнера модели <ХХХ>!

A: Я не произвожу TV-тюнеров, не торгую ими, и даже не коллекционирую их. Я не могу обеспечить поддержку вашей конкретной модели, не имея на руках самой карты или хотя бы информации об аппаратных особенностях вашего TV-тюнера. Многие карты появились в compatibility list только потому, что некоторые продвинутые пользователи карт сами прислали мне обновления для *.inf файлов. Если вы знаете, каким образом переключается звуковой тракт на вашем тюнере, и вашего тюнера нет в compatibility list - пришлите мне эту информацию, я постараюсь сделать поддержку вашей карты. У Борга (http://www.borgtech.org) есть пара очень полезных утилит btTool и btInspector, которые позволяет "подглядывать" за портами bt8x8 в то время, как работает другая программа просмотра TV. Методика такова: Запускаете <родное> приложение от производителя тюнера для просмотра TV, в котором звук переключается правильно, затем запускаете btTool. Поочередно переключая режимы в <родном> приложении TV/FM/VHS/MUTE делаете "снимки" регистров bt8x8 и присылаете их мне. Этот метод определения работает с ~80% моделей карт. Остальные 20% моделей переключают звук настолько хитро, что с помощью btTool ничего узнать не удастся. Кроме информации о переключении звука желательно прислать еще информацию о PCI SUBSYS_ID. Для этого просто экспортируйте из реестра веточку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI в текстовый файл и пришлите ее мне.

Наверх

Q7: Я поставил ваши драйвера для своего ТВ-тюнера и они работают прекрасно. Я проверял работу драйверов с помощью программ BorgTV и JTV. Занесите, пожалуйста, мой тюнер в compatibility list.

A: Увы, я пока не стану торопиться заносить вашу карту в compatibility list. Дело в том, что с помощью программ BorgTV и JTV невозможно протестировать работоспособность WDM-драйверов: BorgTV и JTV используют для доступа к тюнеру свои собственные нестандартные драйвера и не используют никаких функций WDM-драйверов. Если вы хотите протестировать работоспособность WDM-драйверов, то лучше воспользоваться любой программой базирующейся на технологии DirectShow. Это может быть простая AMCAP.EXE от Microsoft или моя утилита iuVCR.

Наверх

Q8: Почему я не могу захватывать в VirtualDub кадр высотой более 288 (240) строк?

A: Как и всякое другое VFW-приложение VirtualDub работает с WDM-драйверами через специальную программную прослойку-wrapper, которая транслирует вызовы VFW в вызовы DirectShow. Помимо некоторого ухудшения производительности, wrapper, в силу особенностей реализации, позволяет захватывать только одно поле, что ограничивает максимальную высоту кадра в 288 строк для PAL/SECAM и 240 строк для NTSC. Я полагаю, что существует теоретическая возможность модификации WDM-драйверов для решения этой проблемы, но к сожалению не располагаю временем и оборудованием для более подробных исследований.

Наверх

Замечания, исправления, добавления принимаются здесь