Посмотрел - там есть камеры с тем-же кодеком, только версия VAPGDecoder.dll немного по-новее, .23, а не .22, как в последней прошивке DCS-5300. Отписал им в техподдержку, если что разумное ответят - помещу сюда, т.к., если ВДРУГ родят новую версию dll-ки - самому мне ее прилинковать в прошивку и подписать будет нереально :)
mailto:technical@vivotek.com
Hello technical,
(preface) I have a webcam inside my corporate network. Network is divided into different subnets with full ip access from one subnet to another. Proxy is used to access Internet. IE is configured to use proxy and bypass proxy for local hosts (checkbox). No proxy exclusions is configured (as proxy exceptions list is limited to ~247 characters), instead, complex auto-config script (wpad.pac) is used. In wpad.pac all intranet hosts tuned to be accessed direct, bypassing proxy. (problem) From same subnet, as camera installed, web access work well. From any different subnet - Web-page opens and immediatly closes IE without any messages - as described in Q8 of FAQ. Camera is accessed by IE directly (tuned in wpad.pac by IsInNet(host,localcubnet, localmask) function). Configuring camera name or ip in IE proxy exclusions does not solve the problem. Unchecking "Use proxy" checkbox in IE solve the problem, but this is uncompatible with other network software. (solution) With help of some forums, problem was traced to VAPGDecoder.dll ActiveX component, installed from h263ctrl.cab from webcam to decode AV stream. It looks like it trys to establish ip connection to webcam trough proxy, while IE maintains this connection directly, and fails as can't do so. Looking into this dll, found access to registry subkey HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings and parameters ProxyOverride, ProxyServer, ProxyEnable. It is easy to understand, how it works - if webcam and host computers are in same subnet, dll deals with webcam directly, otherwise - use proxy in ProxyServer key, if enabled by ProxyEnable key. To test this behavior, simple bit-hack was applyed to VAPGDecoder.dll - text string ProxyServer was replaced with Proxy1erver and ProxyEnable - with Proxy1nable, so it returns no value (error). Immediatly after that, camera works well from any subnet, regardless of proxy setting in IE. However, bithack is not an accepted metod for production enviroment; also, this cause the driver to bypass proxy, even then it is need to use it - for example, for Internet webcams. So four possible solutions requested to made by Your programmers team: 1. most correct, but very difficult to implement and buggy - implement full autoconfig script functionality, as in IE. Work with wpad.dat and so on.
2. a bit easer - find and fix some bugs (it have really different syntax, including protocols, hosts and even ip addresses with or without wildcards) in dll in routine, dialing with ProxyOverride registry value. Require users to add any webcam with direct access to IE proxy exclusions list. However, as this list lengh is limited by MS - for lot's of webcams this will not work.
3. easy - in \Software\vivotek\franklin registry key, already created by driver, add sub-key with list of webcams need direct access and use it in dll. Require users to add name/ip of any webcam with direct access to this list.
4. easest, as alternate to bithack - add key "bypassproxy" to \Software\vivotek\franklin, and if it set - bypass proxy for any ip in dll regardless of IE settings. Create two .reg files - one with bypassproxy=0, another - with bypassproxy=1. Instruct users to register one (or another) file, if having problems.
Can this help You to fix Q8 behavior? Please contact me, if any questions. Sorry for bad english. Thanks!!!
_________________ Из ослиного гнезда
|