中维JVS-C900卡系统SDK手册_第1页
中维JVS-C900卡系统SDK手册_第2页
中维JVS-C900卡系统SDK手册_第3页
中维JVS-C900卡系统SDK手册_第4页
中维JVS-C900卡系统SDK手册_第5页
已阅读5页,还剩12页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中维JVS-C900系列压缩卡系统SDK文档版本:4.0济南中维世纪科技2023年11月创立2023年02月26日修订“://jovetech/“://jovetech目 录一、前言二、升级说明三、SDK概述四、SDK函数详述一、前言中维公司在板卡市场上目前主要包括面对低端的JVS-C600低端的JVS-C800系列以及面对中高端和二次开发的JVS-C900系列。中维JVS-C900卡是中维公司自主研发的安防监控行业专用的音视频压缩卡,视频预览承受DirectDraw技术,视频压缩参考H.264标准。中维JVS-C900卡承受PCI-E接口,最大支持32路全实时的D1预览与D1压缩,支持本地D1录像和网络CIF传输的双码流架构,具有兼容性好、稳定性强、预览效果清楚、压缩质量高、占用资源少的特点。驱动程序支持Windows2023/XP/VISTA操作系统。/音视频编解码/网络传输等技术均为中维公司独立自主研发,版权全部,任何侵权行为必将受到严峻惩罚。中维压缩卡SDK主要用于上层应用软件对压缩卡的二次开发,分系统本SDK没有内置网络SDK,有关网络传输局部的实现请参见系统SDK和播放SDK的DEMO演示或网络SDK文档。更多信息请访问公司网站:“://jovetech/“jovetech二、升级说明参见随带的“系统SDK升级说明.txt“文件。三、SDK概述中维压缩卡SDK分系统SDK和播放SDK,本文档仅针对系统SDK。中维压缩卡系统SDK主要用于捕获压缩卡采集到的数据并进展预览或压缩,包括卡的初始化、预览、压缩、参数设置等功能。本系统SDK〔版本V4.0〕主要特征包括:1、最大支持32路同时预览和压缩。2、预览区分率和压缩区分率最高可达704x576(4CIF)。3、兼容绝大多数主板、CPU、显卡。4、视频预览承受DirectDraw,视频压缩核心符合H.264BaselineProfile标准。5、支持双码流压缩。中维系统SDK的函数均以JVS_开头。中维压缩卡系统SDK中用于实现预览的最简洁调用为:初始化SDK:初始化预览资源:翻开通道:设置视频捕获模式:翻开视频预览:关闭预览:释放预览资源:释放SDK:

JVS_InitSDKJVS_InitPreviewJVS_OpenChannelJVS_SetVideoPixelModeJVS_SetVideoPreviewJVS_SetVideoPreviewJVS_CloseChannelJVS_ReleasePreviewJVS_ReleaseSDK关于系统SDKJVSDKDEMO文件夹中的源代码或者参见Simple文件夹中的源代码。四、SDK函数详述、翻开与关闭初始化SDK资源int JVS_InitSDK;输入参数:无返回值:0。说明:第一个被调用的SDKSDK内部参数和资源。释放SDK资源void JVS_ReleaseSDK;输入参数:无返回值:无说明:最终一个被调用的SDK函数,该函数主要用来释放SDK资源。设置回调函数void JVS_SetCallBack (CALLBACK_ENC_DATA cbEncData,CALLBACK_RAW_DATAcbRawData);输入参数:cbEncData:处理压缩数据的回调函数地址。NULL。返回值:无说明:当SDK压缩出一帧数据后,SDK内部将调用用户编写的cbEncData压缩回调函数做进一步处理。假设用户需要处理原始视频数据,则需要编写cbRawData函数,如不需要处理则置cbRawData为NULL。由于回调函数是在SDK内调用,所以应用程序必需留神编写此回调函数,回调函数尽量写的简洁高效。压缩回调函数一般用于对压缩出的数据进展硬盘存储和网络发送。回调函数的编写请参见demo。格式的原始数据的缓冲区首地址,而视频图像的宽度和高度可通过JVS_GetBitmapSize〔目前cbRawData中处理的视频图像仅支持352x288和320x240两种区分率〕翻开通道BOOL JVS_OpenChannel(intnChannel);输入参数:nChannel:被翻开的通道号,第一通道为0,依次类推。返回值:说明:只有翻开了某通道后才可以进一步对该通道进展进一步操作。留意:当该通道设备已被别的应用程序占用时将导致翻开失败。4.1.5关闭通道void JVS_CloseChannel(intnChannel);输入参数:nChannel:通道号。返回值:无说明:无注册通知大事void JVS_RegisterNotify(HWNDhWnd,DWORDdwNotifyMsg);输入参数:hWnd:通知大事的接收窗口dwNotifyMsg:通知大事ID返回值:无说明:向SDKSDK需要向应用程序发出通知时,就会通过PostMessage将dwNotifyMsg大事发往hWnd窗口,hWnd窗口收为子消息类型。关于子消息类型请参见JVSDK.h使用JVS_GetBitmap进展抓图则可以不调用本函数。设置视频区分率模式voidJVS_SetVideoPixelMode(intnChannel,DWORDdwPixelMode,DWORDdwVideoFormat);输入参数:nChannel:通道号dwPixelMode:区分率模式,0表示CIF模式,1表示D1模式。dwVideoFormat:视频制式,0表示PAL制式,1表示NTSC制式。返回值:无说明:当区分率模式承受D1模式时,通过使用JVS_EnableSubStream可以实现本地D1压缩,网络CIF压缩。JVS_EnableSubStream应当在本函数之后被调用。本函数建议在翻开通道后第一个被调用。了预览和压缩后进展。开启捕获VoidJVS_StartCapture(intnChannel);输入参数:nChannel:通道号返回值:无说明:SDK会自动开启视频数据的捕获,但假设用户仅需要进展原始数据的捕获而不需要进展视频预览和压缩,则需要单独调用本函数来开启视频数据的捕获。目前暂不支持原始音频数据的捕获。据的捕获。预览初始化视频预览BOOL JVS_InitPreview;输入参数:无返回值:说明:初始化预览,本SDK默认承受DirectDraw技术进展画面预览。此函数主要是对DirectDraw进展初始化。JVS_ReleasePreview释放被占用的资源。只有成功调用了本函数后才可以调用JVS_SetVideoPreview对相关画面进展预览显示。该函数应在翻开通道之前调用。翻开/关闭预览void JVS_SetVideoPreview(int nChannel, HWND hWnd, rtWindow,BOOLbPreview);输入参数:nChannel:通道号。hWnd:窗口句柄。rtWindow:显示窗口矩形。bPreview:开启/关闭预览。返回值:无说明:本SDK承受DirectDraw预览,不占用CPU资源。参数rtWindow是相对于屏幕的矩形区域。翻开/关闭音频监听BOOLJVS_SetAudioPreview(int nChannel, HWND hWnd, bPreview);输入参数:nChannel:通道号hWnd:窗口句柄bPreview:是否翻开音频监听返回值:说明:假设没有音频则该函数返回FALSE。释放预览资源void JVS_ReleasePreview;输入参数:无返回值:无说明:假设初始化预览成功,则应用程序完毕时应当调用此函数释放预览资源。猎取图像大小BOOL JVS_GetBitmapSize(intnChannel,DWORD*dwWidth,DWORD*dwHeight);输入参数:nChannel:通道号dwWidth:指向DWORD变量的地址,SDK会将图像宽度存放在此地址中。dwHeight:指向DWORD变量的地址,SDK会将图像高度存放在此地址中。返回值:TRUE,失败返回FALSE。说明:协作抓图函数使用。抓图BOOL JVS_GetBitmap(intnChannel,PUCHARpBuffer);输入参数:nChannel:通道号返回值:说明:抓取当前图片。抓图之前应调用JVS_GetBitmapSize来得到图像的宽度和高度,从而可以安排足够的内存来容纳位图数据,内存缓冲的大小为dwWidth*dwHeight*4。当应用程序调用此函数后,SDK会马上抓取图片至pBuffer,然后通知应用程序。因此,应用程序应当在调用此函数之前注册通知大事(JVS_RegisterNotify),并在应用程序中编写处理函数。具体请参见DEMO演示。抓图至文件BOOLJVS_GetBitmapToFile(intnChannel,PUCAHRpCapBmpFile,BOOLbWaitForCap);输入参数:nChannel:通道号pCapBmpFile:要保存的抓图文件名bWaitForCap:是否等待抓图完成返回值:成功返回TRUE,失败返回FALSE。导致失败的缘由可能是资源缺乏或抓图时特别。说明:本函数供给了区分于JVS_GetBitmap的图片直接保存为32位的BMP文件。压缩初始化压缩资源BOOLJVS_InitCompress;返回值:TRUE,失败返回FALSE。说明:该函数应在翻开通道之前调用。当不再使用压缩资源后应调用JVS_ReleaseCompress来释放资源。释放压缩资源voidJVS_ReleaseCompress返回值:无说明:当不再使用压缩资源时调用本函数来释放压缩资源。设定视频压缩模式void JVS_SetQualityMode(intnChannel,DWORDdwQualityMode,DWORDdwMBPH,DWORDdwAlgorithm);输入参数:nChannel:通道号。dwQualityMode:视频压缩模式,取值0-2,默认1。dwMBPH:设定的每小时的码流大小。单位为MB。算法最简单,速度最慢,质量最好。默认值为1说明:当dwQualityMode=0时表示互联网模式,这种模式具有占用资源少、压缩速度快、生成数据小的特点,当计算机性能较差或者需要互联网传输时建议承受此模式。在区分率模式为CIF时建议dwMBPH为50MBPH。当dwQualityMode=1时表示标准模式,这种模式为标准的全实时压缩模式,适用于一般监控,在区分率模式为CIF时建议dwMBPH设为120MBPH。当dwQualityMode=2时表示优质模式,使用该模式后,在其他条件一样CIF时建议dwMBPH设为120MBPH。该模式更适合于本地录像。假设计算机的性能强劲,建议将dwAlgorithm设置为3,该等级的算法压缩出的码流最小、质量最好。只有当计算机性能较差时才建议将算法简单度设置为0,该等级的压缩速度是3级的2倍以上。3级算法简单度可以压缩出0级算法则占用的CPU资源最少。设定关键帧周期void JVS_SetKeyFramePeriod ( int nChannel, DWORDdwKeyFramePeriod);输入参数:nChannel:通道号。默认100。说明:关键帧〔I帧〕是指可以用来马上解码的帧。开头压缩void JVS_StartCompress(intnChannel);输入参数:nChannel:通道句柄。返回值:无说明:开头压缩。在压缩之前,必需编写压缩回调函数并注册,具体参见出的数据。停顿压缩void JVS_StopCompress(intnChannel,BOOLbWaitForStop);输入参数:nChannel:通道号。bWaitForStop:是否压缩完毕后返回返回值:无说明:为真时,本函数调用后将处于等待状态直到压缩线程完全完毕后才返回。为假时则马上返回。插入一个关键帧void JVS_InsertKeyFrame(intnChannel);输入参数:nChannel:通道号返回值:无说明:关键帧开头,所以,在开头写文件或网络传送时马上插入一个关键帧可以有效削减延迟解码的发生。启用/关闭音频压缩BOOLJVS_SetAudioCompress(intnChannel,BOOLbCompress);输入参数:nChannel:通道号bCompress:是否压缩音频返回值:说明:启或关闭而无需重启视频压缩。4.3.12猎取本地压缩的头数据BOOLJVS_GetHeaderData(int nChannel, PJVS_FILE_HEADERpheaderData);输入参数:nChannel:通道号pheaderData:指向JVS_FILE_HEADER构造的指针。返回值:TRUE,失败返回FALSE。说明:文件后应当首先写入此头数据。4.3.12猎取网络压缩的头数据BOOLJVS_GetHeaderData2(int nChannel, PJVS_FILE_HEADERpheaderData);输入参数:nChannel:通道号pheaderData:指向JVS_FILE_HEADER构造的指针。返回值:TRUE,失败返回FALSE。说明:则应当发送本函数取得的压缩头数据。当没有启用子码流时,网络码流的头数据等同于本地码流,即JVS_GetHeaderData2与JVS_GetHeaderData得到的参数一样。视频开启/关闭OSD功能void JVS_SetOSD(intnChannel,DWORDdwOsdMode,PCHARpText,BOOLbEnable);输入参数:nChannel:通道句柄dwOsdMode:OSD模式,0表示在左上角显示,1表示在左下角显示。pText:OSD文本,最大16字节。bEnable:开启/关闭OSD返回值:说明:OSDOnScreenDisplay,用来实现在视频画面上叠加时间和文字。pText为NULL时不叠加文字。设置视频颜色参数void JVS_SetVideoPara(intnChannel,intnBrightness,intnContrast,intnSatuation,intnHue);输入参数:nChannel:通道号nBrightness:亮度,取值0到255,默认值:128nContrast:比照度,取值0到255,默认值:1280到255,默认值:128nHue:色度,取值0到255,默认值:128返回值:无说明:无4.4.5设置视频去黑边VoidJVS_SetVideoCrop(intnChannel,DWORDdwPixelCroped);输入参数:nChannel:通道号dwPixelCroped:作为黑边去除的像素数。返回值:无说明:由于某些摄像机输出的视频可能存在黑边现象,通过本函数可以去除该黑边。dwPixelCroped=0表示不去除黑边,其他值为要去除黑边的像素数,一般为8或者12。设置是否启用D1预览voidJVS_EnablePreviewD1(intnChannel,BOOLbEnableD1);输入参数:nChannel:通道号bEnableD1:是否启用D1预览,TRUE表示启用。返回值:无说明:该函数仅在视频区分率模式为CIF模式时有效,即本地录像区分率为CIF时可以选择是否启用D1预览,启用了D1预览后,在画面放大时预览图像会更清楚。对于PCI-E接口的采集卡,由于本身不存在带宽问题建议始终开启D1预览。设置是否启用子码流voidJVS_EnableSubStream(intnChannel,BOOLbEnableSubStream);输入参数:nChannel:通道号bEnableSubStream:是否启用D1预览,TRUE表示启用。返回值:无启用子码流,子码流的区分率为CIF,即D1的四分之一,从而可以实现本地D1码流,网络CIF码流。运动检测启停运动检测功能void JVS_SetMovDetect(intnChannel,intnScenecutGrade,intnScenecutThreshold,intnScenecutCoeff,intnRectNumber,RECT*pScenecutRect);输入参数:nChannel:通道号nScenecutGrade:检测灵敏度等级,取值0-100,0表示不检测。nScenecutThreshold:检测灵敏度阈值,取值0-100nScenecutCoeff:灵敏度系数,取值1-100nRectNumber:移动侦测区域的个数。pScenecutRect:指向移动侦测区域数组的指针。返回值:无说明:nScenecutGrade=0时不启用运动检测,>0时表示启用并代表了检测灵敏度等级。值为1时最灵敏,值为100时最不灵敏。检测灵敏度阈值是运动猛烈度上限,该值越大灵敏度20-50灵敏度,值越小越灵敏。综合来说,当进展移动侦测时,灵敏度等级、灵敏度阈值以及灵敏度系SDK觉察灵敏度符合设置要求时就会在应用程序设置的回调函数GetDataCallBack中将bMov置为TRUE通知应用程序检测到运动了。pScenecutRect是一个指向具有nRectNumber个检测区域数组的指针。在nScenecutGrad

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论