ip camera 3.x 插件及控件开发文档
ip camera 3.x 插件及控件文档
| 版本/作者/日期 | 修改内容 |
|---|---|
| 1.0/kun/2013-03-26 | 初版 |
| 1.1/kun/2013-05-20 | 添加了音频音量大小控制属性,OSD设置方法,本地数据保存接口方法,鼠标左键点击窗口事件。 |
| 1.2/kun/2013-07-05 | 添加视频视频录制时间间隔设置属性,选择录制录像的存放路径,添加视频当前大小的回调事件,插件增加了获取版本号的方法 |
插件安装程序下载
Attach:PluginInstall.msi ,版本:1.0.0.2.支持firefox,chrome.opera,safari 使用例子:Attach:plugin_sample.html
IE 控件cab包下载
Attach:rc_hplayer.cab ,版本:1.0.0.7.使用例子:Attach:active_sample.html
属性
- Model
本属性为只可读,读取的参数值表示当前连接的camera的型号,0代表RC9264系列。
- Mode
本属性为只读。读取的参数含义客户端与当前camera的连接模式,
0:CONNECT_TO_CAMERA;1:CONNECT_BY_CAMERA,2:P2P。目前只支持0模式。
- ID
本属性为只读。查询当前连接的camera id。
- Host
本属性为只读,查询当前连接camera的ip地址
- Port
本属性为只读。查询当前连接的camera的Port。
- SSL
本属性为只读。保留属性为0。
- User
本属性为只读。查询当前连接的camera的用户名。
- Pwd
本属性为只读。查询当前连接的camera的密码。
- Key
本属性为只读。查询当前连接的camera的key,一般为空。。
- Group
本属性为只读。查询当前连接的camera的用户权限。
- ConnectStatus
本属性为只读。查询当前的camera的连接状态。0,:断开连接或连接失败,1:连接中,2:连接认证中,3:连接成功。
- VideoStatus
本属性为只读。查询当前连接的camera的视频播放状态。-1:停止播放,0,请求中,1:播放中。
- AudioBufferMs
本属性为可读可写。设置和查询音频视频的缓冲时间。
- AudioStatus
本属性为只读。查询当前连接的camera的音频播放状态。-1:停止播放,0,请求中,1:播放中。
- SpeakStatus
本属性为只读。查询当前连接的camera的对讲状态。-1:停止播放,0,请求中,1:播放中。
- RecordStatus
本属性为只读。查询当前连接的camera的录像状态。0:没有录像和停止录像,1,录像中,2:录像完成。
- ReocrdFolder
本属性为可读可写。查询和设置当前连接的camera的录像文件存储目录。
- Error
本属性为只读。查询当前操作的错误值。
- DiscoveredCameraID
本属性为只读。查询搜索到的camera的ID。
- DiscoveredCameraFirmwareVersion
本属性为只读。查询搜索到的camera的FirmwareVersion。
- DiscoveredCameraWebUIVersion
本属性为只读。查询搜索到的camera的WebUIVersion。
- DiscoveredCameraAlias
本属性为只读。查询搜索到的camera的Alias。
- DiscoveredCameraCurrectIP
本属性为只读。查询搜索到的camera的CurrectIP。
- DiscoveredCameraCurrectNetmask
本属性为只读。查询搜索到的camera的CurrectNetmask。
- DiscoveredCameraDhcp
本属性为只读。查询搜索到的camera的Dhcp。
- DiscoveredCameraIP
本属性为只读。查询搜索到的camera的IP。
- DiscoveredCameraNetmask
本属性为只读。查询搜索到的camera的Netmask。
- DiscoveredCameraGateway
本属性为只读。查询搜索到的camera的Gateway。
- DiscoveredCameraDNS1
本属性为只读。查询搜索到的camera的DNS1。
- DiscoveredCameraDNS2
本属性为只读。查询搜索到的camera的DNS2.
- DiscoveredCameraPort
本属性为只读。查询搜索到的camera的Port。
- DiscoveredCameraHttps
本属性为只读。查询搜索到的camera的Https。
- DiscoveredCameraModel
本属性为只读。查询搜索到的camera的Model。
- DiscoveredCameraIDType
本属性为只读。查询搜索到的camera的id的类型,0:普通id,1:ppcn id, 2:rcp2p id。
- AudioVolume
本属性可读可写,写为设置音量的大小,读为获取当前的音量大小。 - RecordInterval
本属性可读可写,本属性表示设置录制视屏的时间分割间隔。初始值为15分钟,单位为时间分。
方法
- SetCamera
long SetCamera(long Model, ong Mode, const char * ID, const char * Host,long Port, BOOL SSL,const char * User,const char * Pwd,const char * Key);
设置要连接的camera的信息。
参数:
Model:摄像机的型号目前支持RC9264,值为:0。
Mode:与camera的连接方式:当前只支持0,看属性介绍。
ID:目标camera的id。
Host:目标camera的host。
Port:目标camera的port。
SSL:保留参数,为0。
User: 连接用户名。
Pwd:连接密码。
Key:连接camera的key,默认为NULL
例如:
function SetCamera()
{
var ret = videoPlugin.SetCamera(0,0,"","192.168.0.189",88,0,"admin","","");
}
注:每次与camera连接前即调用Connect( , )前必须调用这个方法设置camera的信息。调用成功返回0,失败返回-1.
- Connect
long Connect(BOOL Reconnectable, long ReconnectInterval);
连接camera方法
参数:Reconnectable:是否重连 0:不重连,1:重连。
ReconnectInterval:重连的时间间隔。
调用本方法之前必须先调用SetCamera方法设置需要连接的camera的信息。
返回值:0:调用成功; -1:调用失败; -3:已连接或连接中。
注:此方法为异步调用操作调用成功并不表示连接成功,通过OnConnectStatusChanged事件返回值获知连接状态。
- Disconnect
long Disconnect();
断开与camera的方法。
参数:无。
返回值:0:调用成功; -1:调用失败; -2:此camera还未连接。
注:此方法为异步操作,通过OnConnectStatusChanged事件返回值获知状态。
- PlayVideo
long PlayVideo(long stream);
请求视频播放方法。
参数:stream:请求播放camera的哪一路视频。
返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:视频播放中, -5:该用户无权执行此功能。
注:此方法为异步操作,通过OnVideoStatusChanged事件返回值获知状态。
- StopVideo
long StopVideo();
停止视频播放。
参数:无。
返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:未请求有视频播放。
注:此方法为异步操作,通过OnVideoStatusChanged事件返回值可获知状态。
- PlayAudio
long PlayAudio();
请求音频播放方法。
参数:无。
返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:视频播放中, -5:该用户无权执行此功能。
注:此方法为异步操作,通过OnAudioStatusChanged事件返回值获知状态。
- StopAudio
long StopAudio();
停止音频播放。
参数:无。
返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:未请求有音频播放。
注:此方法为异步操作,通过OnAudioStatusChanged事件返回值可获知状态。
- StartSpeak
long StartSpeak(long SpeakBufferMs);
请求对讲方法。
参数:SpeakBufferMs:音频的播放缓冲时间。
返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:对讲进行中, -5:该用户无权执行此功能。
注:此方法为异步操作,通过OnSpeakStatusChanged事件返回值获知状态。
- StopSpeak
long StopSpeak();
停止对讲。
参数:无。
返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:未请求有对讲。
注:此方法为异步操作,通过OnSpeakStatusChanged事件返回值可获知状态。
- StartRecord
long StartRecord(const char *filename);
开始录像方法。
参数:filename:录像的文件名,必须以asf为文件名后缀。
返回值:0:操作成功, -1:操作失败, -2:camera未连接, -4:录像中, -5:该用户无权执行此功能。
注:此方法为异步操作,通过OnRecordStatusChanged事件返回值获知状态。
- StopRecord
long StopRecord();
停止录像。
参数:无。
返回值:0:操作成功, -1,:操作失败。
注:此方法为异步操作,通过OnRecordStatusChanged事件返回值可获知状态。
- AddCameraPropertyToFetch
void AddCameraPropertyToFetch(const char * Name);
添加要获取的属性。
参数:Name:要获取的属性的名称,每次只能是一个属性的名称,多个属性多次调用此方法即可。
返回值:无
注:此方法只是添加要查询的属性名称而已,还并未开始获取
- FetchCameraProperties
long FetchCameraProperties();
调用此方法获取AddCameraPropertyToFetch添加的属性的值。
参数:无
返回值:0:操作成功,-1:操作失败,-2:camera未连接。
属性的值通过OnCameraPropertyFetched事件返回
- AddCameraParamToFetch
void AddCameraParamToFetch(const char * Name);
添加要获取的参数。
参数:Name:要获取的参数的名称,每次只能是一个参数的名称,多个参数多次调用此方法即可。
返回值:无
注:此方法只是添加要查询的参数名称而已,还并未开始获取。
- FetchCameraParams
long FetchCameraParams();
调用此方法获取AddCameraParamToFetch添加的参数的值。
参数:无
返回值:0:操作成功,-1:操作失败,-2:camera未连接。
属性的值通过OnCameraParamFetched事件返回
- AddCameraStatusToMonitor
void AddCameraStatusToMonitor(const char * Name);
添加要监控的项目名称。
参数:Name:要监控的项目的名称,每次只能是一个项目的名称,多个项目多次调用此方法即可。
返回值:无
注:此方法只是添加要监控的项目名称而已,还并未开始获取
- MonitorCameraStatus
long MonitorCameraStatus();
调用此方法获取AddCameraStatusToMonitor添加的参数的值。
参数:无
返回值:0:操作成功,-1:操作失败,-2:camera未连接。
属性的值通过OnCameraStatusChanged事件返回。
- AddCameraParamToSet
void AddCameraParamToSet(const char * Name, const char * Value);
添加要设置的参数。
参数:Name:要设置的参数的名称,每次只能是一个参数的名称,多个参数多次调用此方法即可;value:对应的参数名称的值。
返回值:无
注:此方法只是添加要设置的参数名称而已,还并未开始获取。
- SetCameraParams
long SetCameraParams();
调用此方法设置AddCameraParamToSet添加的参数的值。
参数:无
返回值:0:操作成功,-1:操作失败,-2:camera未连接。
- PTZControl
long PTZControl(long Command, long Param);
云台控制
参数:Command:控制命令;Param:控制参数值。
返回值:0:操作成功,-1:操作失败,-2:camera未连接,-5:该用户没有云台控制的权限.
- StartDiscovery
long StartDiscovery();
打开camera搜索功能
参数:无
返回值:0:操作成功, -4:该功能已打卡。
注:此方法为异步操作,通过OnCameraDiscovered事件返回搜索的结果.
- StopDiscovery
long StopDiscovery()
关闭搜索功能
参数:无
返回值:0:操作成功, -4:该功能未打卡。
- SetLocalParam
long SetLocalParam(char *name,char *param);
保存本地参数
参数:name:参数名称,param:参数值
返回值:0:成功,-1:失败。
- GetLocalParam
char * GetLocalParam(char *name);
获取保存在本地的参数
参数:name:参数名称
返回值:返回name对应的参数,没有则返回空。
- SetVideoOsd
long SetVideoOsd(char *name,bool enable_date,long color);
设置视频显示的OSD,调用改函数前,必须先调用打开视频接口。
参数:name:要显示的camera的名称,enable_date:是否使能显示时间,\\
color:显示的颜色,1:黑,2:蓝,3:绿,4:青,5:红,6:黄,7:白。
返回值:小于0设置失败
- ChooseRecordDir
char *ChooseRecordDir();
这个方法用来实现可视化选择目录的路径,返回值为所选择的路径。
- versions
char *versions()
获取插件的版本号,只在插件里有这个方法
事件
- OnConnectStatusChanged
void OnConnectStatusChanged();
接收到此事件表示ConnectStatus发生改变。
- OnVideoStatusChanged
void OnVideoStatusChanged();
接收到此事件表示VideoStatus发生改变。
- OnAudioStatusChanged
void OnAudioStatusChanged();
接收到此事件表示AudioStatus发生改变。
- OnSpeakStatusChanged
接收到此事件表示SpeakStatus发生改变。 - OnRecordStatusChanged
void OnRecordStatusChanged();
接收到此事件表示RecordStatus发生改变。
- OnCameraPropertyFetched
void OnCameraPropertyFetched(BSTR Name, BSTR Value);
获取camera属性的事件返回。
Name:属性名称,Value:属性值
- OnCameraParamFetched
void OnCameraParamFetched (BSTR Name, BSTR Value);
获取camera参数的事件返回。
Name:参数名称,Value:参数值
- OnCameraStatusChanged
void OnCameraStatusChanged (BSTR Name, BSTR Value);
获取camera监控项目的事件返回。
Name:项目名称,Value:项目值
- OnCameraDiscovered
void OnCameraDiscovered(long Action);
参数:Action:表示当前搜索到的camera的在线状态;
0:表示该camera是新搜索到的;
1:表示该camera下线了;
2:表示该camera更新。
Camera搜索结果返回事件
注:每次调用到这个事件,DiscoveredCamera* 系列的属性也随着变换。
- OnStatistics
void OnStatistics(long VideoFramesRecved, long VideoFramesShowed, long VideoBytesRecved, long AudioSamplesRecved,long AudioBytesRecved, long AudioSampleSent, long AudioBytesSent);
带宽统计事件:返回当前每秒收到的音视频的帧数,以及每秒显示的帧数。
参数:
VideoFramesRecved:每秒接受到的视频数据的帧数;
VideoFramesShowed:每秒显示的视频的帧数;
VideoBytesRecved:每秒接受到的视频数据的大小;
AudioSamplesRecved:每秒接受到音频的帧数;
AudioBytesRecved:每秒接受到音频数据的大小;
AudioSampleSent:每秒发送音频的帧数;
AudioBytesSent:每秒发送的音频数据的大小。
- OnLeftKeyPressed
void OnKeyPressed();
鼠标左键点击显示窗口会触发这个事件。
- VideoResolution
void VideoResolution(int resolution);
参数resolution表示如下:
0:SQCIF // 128*96
1:QQVGA_H128, // 160*128
2:QQVGA, // 160*120
3:QCIF, // 176*144
4:QVGA, // 320*240
5:CIF, // 352*288
6:VGA, // 640*240
7:D1_W704, // 704*576
8:D1, // 720*576
9:SVGA, // 800*600
10:XGA, // 1024*768
11:H720P, // 1280*720
12:W256_H144, // 256*144
13:W384_H216, // 384*216
14:W512_H288, // 512*288
15:W640_H360, // 640*360
16:W768_H432, // 768*432
17:W896_H504, // 896*504
18:W1024_H576 // 1024*576