Jump to content
Sign in to follow this  

Network camera window

Recommended Posts


Many IP cameras need to install an ActiveX component (i.e. "VatDec.cab" includes VATDecoder.dll) to view the livevideostream.

The camera's internal server creates a script like this:

<script language=Javascript>

if ((navigator.appName == "Microsoft Internet Explorer")&&(navigator.platform != "MacPPC"))


document.write("<OBJECT ID=\"VAtCtrl\" WIDTH=362 HEIGHT=310 name=\"VAtCtrl\"");



document.write("<PARAM NAME=\"Url\" VALUE=\"\">");

document.write("<PARAM NAME=\"VSize\" VALUE=\"SIF\">");

document.write("<PARAM NAME=\"Language\" VALUE=\"en\">");

document.write("<PARAM NAME=\"Deblocking\" VALUE=\"true\">");

document.write("<PARAM NAME=\"DisplayTimeFormat\" VALUE=\"1\">");

document.write("<PARAM NAME=\"DigitalZoomEnableChk\" VALUE=\"true\">");

document.write("<PARAM NAME=\"DigitalZoomEdit\" VALUE=\"true\">");



</SCRIPT> is only an example for camera's IP

Needed TypeLibrary of VATDecoder.dll is:

_IVitaminCtrlEvents Interface

Interface GUID={AAFC5C2B-889A-41BB-8BB7-982AF0B53E29};

VatCtrl Class

Class GUID={210D0CBC-8B17-48D1-B294-1A338DD2EB3A};

IVatCtrl Interface

Interface GUID={00595B6A-41B8-481D-BBA3-9E860322FCA1};

function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

property-get & put Url: BSTR;

property-get & put RemoteIPAddr: BSTR;

property-get & put CurrentControlCam: I4;

property-get & put GetMDParmUrl: BSTR;

property-get & put SetMDParmUrl: BSTR;

property-get & put MDEditMode: bool;

property-get & put ClickEventHandler: EClickEventHandler;

property-get & put WheelEventHandler: bool;

property-get & put DigitalZoomEdit: bool;

property-get & put DigitalZoomEnableChk: bool;

property-get & put RemoteID: I4;

property-get & put VSize: BSTR;

property-get & put ControlPort: I4;

property-get & put Language: BSTR;

property-get & put Stretch: bool;

property-get & put Deblocking: bool;

property-get & put UserDateFormat: bool;

property-get & put DisplayTimeFormat: EDisplayTimeFormat;

property-get & put ControlType: EControlType;

property-get & put DisplayErrorMsg: bool;

property-get & put ConnectionProtocol: EConnProtocol;

property-get & put MediaType: EMediaType;

property-get AudioBitRate: I4;

property-get FrameRate: I4;

property-get VideoBitRate: I4;

property-get & put ReadSettingByParam: bool;

property-get & put IgnoreBorder: bool;

property-get & put IgnoreCaption: bool;

property-get & put DisplayMotionFrame: bool;

My steps for now to create my own gui:

1. create embedded ActiveX-Gui with controls and object "VATDecoder.VatCtrl.1"

2. copied VATDecoder.dll to systemdir and register

How to call/submit the needed parameters to VATDecoder.dll and "VATDecoder.VatCtrl.1"

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this