Китайская библиотека видеозахвата (AVerMedia EZCapture)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Mihail_
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 31.03.2008 (Пн) 20:57

Китайская библиотека видеозахвата (AVerMedia EZCapture)

Сообщение Mihail_ » 22.08.2010 (Вс) 17:31

Здравствуйте, являюсь владельцем простенькой платы видеозахвата AVerMedia EZCapture, проблема в том что у нее не очень качественно реализован WDM драйвер, позволяя снимать с нее видео в разрешении не больше 320х240 (в то в ремя как плата нормально выдает 704х576). В комплекте также шла среда разработки с простенькими примерами на VB, VC, Delphi - AVerMedia EZCapture SDK 2.5 и штатная софтина AVerCap. В примерах к сожалению нет возможности менять разрешение, а вот штатная софтина это может и в ней все замечательно работает.
Погуглив нашел китайскую модификацию примера на VB, полностью копирующее штатную софтину в т.ч. смена разрешения. Но она при запуске выдает ошибку точки входа " Can't find DLL entry point ", хотя все задекларированные функции в дллке пристуствуют..
Помогите разобраться пожалуйста.

В архиве стандартный и модифицированный примеры.
Вложения
EZCAP.rar
(214.61 Кб) Скачиваний: 149

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Китайская библиотека видеозахвата (AVerMedia EZCapture)

Сообщение Roman Koff » 23.08.2010 (Пн) 6:02

Когда слышу слово Авермедиа передергиваюсь всеми частями тела.

Искренне сочувствую вашей беде...
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Mihail_
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 31.03.2008 (Пн) 20:57

Re: Китайская библиотека видеозахвата (AVerMedia EZCapture)

Сообщение Mihail_ » 23.08.2010 (Пн) 14:24

ну я сам дурак.. выяснилось, библиотека с аналогичным названием лежала в /system32/.. более того, штатная софтинка использовала как раз эту библиотеку для своей работы, а не тот урезанный вариант что нам предоставляли в SDK.. и функции там имеют названия "_AVER_Init@12" "_AVER_PaintOverlay@4", вот зачем такое сделано...

теперь бы вот понять как такие веселенькие сообщения
Код: Выделить всё
retVal = MsgBox("ХвёцЙи±ёХэФЪФЛРР»тЙи±ёГ»УР±»ХэИ·°ІЧ°ЈЎ", vbOKOnly, "EZCapture")
перевести хотя бы в иероглифы... :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Китайская библиотека видеозахвата (AVerMedia EZCapture)

Сообщение Хакер » 23.08.2010 (Пн) 15:54

Mihail_ писал(а):вот зачем такое сделано...

Читать и искать: name decoration/mangling. Просвещаться.

Mihail_ писал(а):перевести хотя бы в иероглифы... :)

Ну это, вероятно, DBCS. Конвертируй DBCS в юникод, копируй его в любой-онлайн переводчик и переводи.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mihail_
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 31.03.2008 (Пн) 20:57

Re: Китайская библиотека видеозахвата (AVerMedia EZCapture)

Сообщение Mihail_ » 23.08.2010 (Пн) 17:11

хорошо, а задекларировать функции с такими названиями можно? например тот же "_AVER_Init@12" - чтобы компилятор не думал что это перенос строки?

пример декларирования этой функции с простым названием
Код: Выделить всё
Declare Function AVER_Init Lib "ezapi" (ByVal HWND As Long, ByVal VSize As Long) As Long


p.s. интерфейс перевел - спасибо!

Mihail_
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 31.03.2008 (Пн) 20:57

Re: Китайская библиотека видеозахвата (AVerMedia EZCapture)

Сообщение Mihail_ » 23.08.2010 (Пн) 19:58

Вобщем софт от авермедиа не сулит ничего хорошего, слава богу удалось найти альтернативный драйвер под чипсет платы видеозахвата, там полностью реализована поддержка всех функций в WDM драйвере и можно работать как с обычной веб камерой.

В архиве драйвер под AVerMedia EZCapture BT-848 (работает так же для чипсетов Bt849 / Bt878 & Bt879)
Взято отсюда: http://btwincap.sourceforge.net/download.html
Софтина очень грамотная, с помощью встроенного в нее деинсталятора удаляем все следы имеющихся драйверов, далее выбираем везде autodetect (поддержка именно этой модели платы не заявлена) и вуа-ля! Огромное спасибо разработчикам!

В архиве также пример видеозахвата со сжатием установленными в систему кодеками.
Вложения
btwdmdrvinstaller5.3.8.rar
(249.29 Кб) Скачиваний: 133

Mihail_
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 31.03.2008 (Пн) 20:57

Re: Китайская библиотека видеозахвата (AVerMedia EZCapture)

Сообщение Mihail_ » 23.08.2010 (Пн) 20:01

Кстати все еще актуален вопрос, как декларировать функции со спец. символами в названиях?

Допустим название функции "_AVER_Init@12" - компилятор думает что тут перенос строки..

Обычно мы объявляем так:
Код: Выделить всё
Declare Function AVER_Init Lib "ezapi" (ByVal HWND As Long, ByVal VSize As Long) As Long

а если нужно экранировать символы?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Китайская библиотека видеозахвата (AVerMedia EZCapture)

Сообщение iGrok » 23.08.2010 (Пн) 20:59

Declare Function AVER_Init Lib "ezapi" alias "_AVER_Init@12" (ByVal HWND As Long, ByVal VSize As Long) As Long
Но вообще, похоже, это две разные функции.
По идее, под @12 подразумевается "объём" аргументов ф-ции в 12 байт, а у вышеприведённого варианта - всего 8 байт (4 + 4). Т.е. у этой @12 должно быть 3 аргумента.

Впрочем, я могу заблуждаться.
label:
cli
jmp label


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 5

    TopList