netsdk.h 215 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420
  1. #ifndef NETMODULE_H
  2. #define NETMODULE_H
  3. #ifdef WIN32
  4. #ifdef NETMODULE_EXPORTS
  5. #define H264_DVR_API extern "C" __declspec(dllexport)
  6. #else
  7. #define H264_DVR_API extern "C" __declspec(dllimport) //VC 用
  8. #endif
  9. #ifndef CALL_METHOD
  10. #define CALL_METHOD __stdcall //__cdecl
  11. #endif
  12. #define DEF_PARAM(x) = x
  13. #define DEF_0_PARAM = 0
  14. #else //linux
  15. #define Bool int
  16. #define TYPE_USER_DATA unsigned long
  17. #define TYPE_USER_DATA2 long
  18. //#define LOGD printf
  19. #ifdef OS_IOS
  20. #define H264_DVR_API
  21. #define DEF_PARAM(x)
  22. #define DEF_0_PARAM
  23. #else
  24. #define H264_DVR_API extern "C"
  25. #define DEF_PARAM(x) = x
  26. #define DEF_0_PARAM = 0
  27. #endif
  28. #define CALL_METHOD
  29. #define CALLBACK
  30. #define WORD unsigned short
  31. #define DWORD unsigned long
  32. #define LPDWORD DWORD*
  33. //#define BOOL int
  34. #define TRUE 1
  35. #define FALSE 0
  36. //#define BYTE unsigned char
  37. #define LONG long
  38. #define UINT unsigned int
  39. #define HDC void*
  40. #define HWND void*
  41. #define LPVOID void*
  42. //#define 0 0
  43. #define LPCSTR char*
  44. #define LPCTSTR const char*
  45. #endif
  46. enum SDK_RET_CODE
  47. {
  48. H264_DVR_NOERROR = 0, //没有错误
  49. H264_DVR_SUCCESS = 1, //返回成功
  50. H264_DVR_SDK_NOTVALID = -10000, //非法请求
  51. H264_DVR_NO_INIT = -10001, //SDK未经初始化
  52. H264_DVR_ILLEGAL_PARAM = -10002, //用户参数不合法
  53. H264_DVR_INVALID_HANDLE = -10003, //句柄无效
  54. H264_DVR_SDK_UNINIT_ERROR = -10004, //SDK清理出错
  55. H264_DVR_SDK_TIMEOUT = -10005, //等待超时
  56. H264_DVR_SDK_MEMORY_ERROR = -10006, //内存错误,创建内存失败
  57. H264_DVR_SDK_NET_ERROR = -10007, //网络错误
  58. H264_DVR_SDK_OPEN_FILE_ERROR = -10008, //打开文件失败
  59. H264_DVR_SDK_UNKNOWNERROR = -10009, //未知错误
  60. H264_DVR_DEV_VER_NOMATCH = -11000, //收到数据不正确,可能版本不匹配
  61. H264_DVR_SDK_NOTSUPPORT = -11001, //版本不支持
  62. H264_DVR_OPEN_CHANNEL_ERROR = -11200, //打开通道失败,可能检测到设备已经不在线
  63. H264_DVR_CLOSE_CHANNEL_ERROR = -11201, //关闭通道失败
  64. H264_DVR_SUB_CONNECT_ERROR = -11202, //建立媒体子连接失败,网络出错或者设备可能不在线
  65. H264_DVR_SUB_CONNECT_SEND_ERROR = -11203, //媒体子连接通讯失败,可能检测到设备已经不在线
  66. H264_DVR_NATCONNET_REACHED_MAX = -11204, //Nat视频链接达到最大,不允许新的Nat视频链接
  67. H264_DVR_NOTSUPPORT = -11205, //版本不支持
  68. H264_DVR_NOTVALID = -11206, //请求非法,主连接可能已断开
  69. H264_DVR_TCPCONNET_REACHED_MAX = -11207, //Tcp视频链接达到最大,不允许新的Tcp视频链接
  70. H264_DVR_OPENEDPREVIEW = -11208, //该通道已经打开预览(通道的打开关闭需要一一对应,打开几次需要关闭几次;不一致会打开提示该错误;预防客户端开发逻辑上的不合理设计增加该错误值)
  71. /// 用户管理部分错误码
  72. H264_DVR_NOPOWER = -11300, //无权限
  73. H264_DVR_PASSWORD_NOT_VALID = -11301, // 账号密码不对
  74. H264_DVR_LOGIN_USER_NOEXIST = -11302, //用户不存在
  75. H264_DVR_USER_LOCKED = -11303, // 该用户被锁定
  76. H264_DVR_USER_IN_BLACKLIST = -11304, // 该用户不允许访问(在黑名单中)
  77. H264_DVR_USER_HAS_USED = -11305, // 该用户已登陆
  78. H264_DVR_USER_NOT_LOGIN = -11306, // 该用户没有登陆
  79. H264_DVR_CONNECT_DEVICE_ERROR = -11307, //可能设备不存在
  80. H264_DVR_ACCOUNT_INPUT_NOT_VALID = -11308, //用户管理输入不合法
  81. H264_DVR_ACCOUNT_OVERLAP = -11309, //索引重复
  82. H264_DVR_ACCOUNT_OBJECT_NONE = -11310, //不存在对象, 用于查询时
  83. H264_DVR_ACCOUNT_OBJECT_NOT_VALID = -11311, //不存在对象
  84. H264_DVR_ACCOUNT_OBJECT_IN_USE = -11312, //对象正在使用
  85. H264_DVR_ACCOUNT_SUBSET_OVERLAP = -11313, //子集超范围 (如组的权限超过权限表,用户权限超出组的权限范围等等)
  86. H264_DVR_ACCOUNT_PWD_NOT_VALID = -11314, //密码不正确
  87. H264_DVR_ACCOUNT_PWD_NOT_MATCH = -11315, //密码不匹配
  88. H264_DVR_ACCOUNT_RESERVED = -11316, //保留帐号
  89. /// 配置管理相关错误码
  90. H264_DVR_OPT_RESTART = -11400, // 保存配置后需要重启应用程序
  91. H264_DVR_OPT_REBOOT = -11401, // 需要重启系统
  92. H264_DVR_OPT_FILE_ERROR = -11402, // 写文件出错
  93. H264_DVR_OPT_CAPS_ERROR = -11403, // 配置特性不支持
  94. H264_DVR_OPT_VALIDATE_ERROR = -11404, // 配置校验失败
  95. H264_DVR_OPT_CONFIG_NOT_EXIST = -11405, // 请求或者设置的配置不存在
  96. //
  97. H264_DVR_CTRL_PAUSE_ERROR = -11500, //暂停失败
  98. H264_DVR_SDK_NOTFOUND = -11501, //查找失败,没有找到对应文件
  99. H264_DVR_CFG_NOT_ENABLE = -11502, //配置未启用
  100. H264_DVR_DECORD_FAIL = -11503, //解码失败
  101. //DNS协议解析返回错误码
  102. H264_DVR_SOCKET_ERROR = -11600, //创建套节字失败
  103. H264_DVR_SOCKET_CONNECT = -11601, //连接套节字失败
  104. H264_DVR_SOCKET_DOMAIN = -11602, //域名解析失败
  105. H264_DVR_SOCKET_SEND = -11603, //发送数据失败
  106. H264_DVR_ARSP_NO_DEVICE = -11604, //没有获取到设备信息,设备应该不在线
  107. H264_DVR_ARSP_BUSING = -11605, //ARSP服务繁忙
  108. H264_DVR_ARSP_BUSING_SELECT = -11606, //ARSP服务繁忙,select失败
  109. H264_DVR_ARSP_BUSING_RECVICE = -11607, //ARSP服务繁忙,recvice失败
  110. H264_DVR_CONNECTSERVER_ERROR = -11608, //连接服务器失败
  111. H264_DVR_CONNECT_AGNET = -11609, //代理
  112. H264_DVR_CONNECT_NAT = -11610, //穿透
  113. H264_DVR_CONNECT_FAILED = -11611, //连接失败
  114. H264_DVR_CONNECT_FULL = -11612, //服务器连接数已满
  115. H264_DVR_CLOUD_LOGIN_ERR = -11613, //云登陆具体的错误码,说明:当登陆接口的error=-11613时,通过H264_DVR_DEVICEINFO成员sCloudErrCode获取错误码,底层增加错误码时上层不用增加代码
  116. H264_DVR_NO_CONNECT_FRONT = -11614, //前端设备未连接或者连接的前端设备分辨率未知
  117. H264_DVR_ARSP_USER_NOEXIST = -11619, //用户不存在
  118. H264_DVR_ARSP_PASSWORD_ERROR = -11620, //账号密码不对
  119. H264_DVR_ARSP_QUERY_ERROR = -11621, //查询失败
  120. //版权相关
  121. H264_DVR_PIRATESOFTWARE = -11700, //设备盗版
  122. H264_DVR_AUTH_TIMEOUT = -11800, //鉴权超时
  123. H264_DVR_AUTH_FILE_FAILED = -11801, //鉴权文件失败
  124. H264_DVR_GAIN_LIST_TIMEOUT = -11802, //获取服务器列表超时
  125. H264_DVR_AUTH_CODE_ERR = -11803, //鉴权码错误
  126. //升级错误码
  127. H264_DVR_NOENOUGH_MEMORY = -11804, //内存不足
  128. H264_DVR_INVALID_FORMAT = -11805, //升级文件格式不对
  129. H264_DVR_UPDATE_PART_FAIL = -11806, //某个分区升级失败
  130. H264_DVR_INVALID_HARDWARE = -11807, //硬件型号不匹配
  131. H264_DVR_INVALID_VENDOR = -11808, //客户信息不匹配
  132. H264_DVR_INVALID_COMPALIBLE = -11809, //升级程序的兼容版本号比设备现有的小,不允许设备升级回老程序
  133. H264_DVR_INVALID_VERSION = -11810, //非法的版本
  134. H264_DVR_INVALID_WIFI_DRIVE = -11811, //升级程序里wifi驱动和设备当前在使用的wifi网卡不匹配
  135. };
  136. //云台操作类型
  137. enum PTZ_ControlType
  138. {
  139. TILT_UP = 0, //上
  140. TILT_DOWN, //下
  141. PAN_LEFT, //左
  142. PAN_RIGHT, //右
  143. PAN_LEFTTOP, //左上
  144. PAN_LEFTDOWN, //左下
  145. PAN_RIGTHTOP, //右上
  146. PAN_RIGTHDOWN, //右下
  147. ZOOM_OUT_1, //变倍小//ZOOM_OUT/ZOOM_IN在VS2010与系统定义的冲突了
  148. ZOOM_IN_1, //变倍大
  149. FOCUS_FAR, //焦点后调
  150. FOCUS_NEAR, //焦点前调
  151. IRIS_OPEN, //光圈扩大
  152. IRIS_CLOSE, //光圈缩小13
  153. EXTPTZ_OPERATION_ALARM, //报警功能
  154. EXTPTZ_LAMP_ON, //灯光开
  155. EXTPTZ_LAMP_OFF, //灯光关
  156. EXTPTZ_POINT_SET_CONTROL, //设置预置点
  157. EXTPTZ_POINT_DEL_CONTROL, //清除预置点
  158. EXTPTZ_POINT_MOVE_CONTROL, //转预置点
  159. EXTPTZ_STARTPANCRUISE, //开始水平旋转 20
  160. EXTPTZ_STOPPANCRUISE, //停止水平旋转
  161. EXTPTZ_SETLEFTBORDER, //设置左边界
  162. EXTPTZ_SETRIGHTBORDER, //设置右边界
  163. EXTPTZ_STARTLINESCAN, //自动扫描开始
  164. EXTPTZ_CLOSELINESCAN, //自动扫描开停止
  165. EXTPTZ_ADDTOLOOP, //加入预置点到巡航 p1巡航线路 p2预置点值
  166. EXTPTZ_DELFROMLOOP, //删除巡航中预置点 p1巡航线路 p2预置点值
  167. EXTPTZ_POINT_LOOP_CONTROL, //开始巡航 28
  168. EXTPTZ_POINT_STOP_LOOP_CONTROL, //停止巡航
  169. EXTPTZ_CLOSELOOP, //清除巡航 p1巡航线路
  170. EXTPTZ_FASTGOTO, //快速定位
  171. EXTPTZ_AUXIOPEN, //辅助开关,关闭在子命令中//param1 参见SDK_PtzAuxStatus,param2传入具体数值
  172. EXTPTZ_OPERATION_MENU, //球机菜单操作,其中包括开,关,确定等等
  173. EXTPTZ_REVERSECOMM, //镜头翻转
  174. EXTPTZ_OPERATION_RESET, //云台复位
  175. EXTPTZ_TOTAL,
  176. };
  177. /// 云台辅助功能
  178. enum SDK_PtzAuxStatus
  179. {
  180. EXTPTZ_AUX_ON, // 开
  181. EXTPTZ_AUX_OFF, // 关
  182. EXTPTZ_AUX_NR,
  183. };
  184. #define PAN_AUTO 29 /* 云台以SS的速度左右自动扫描 */
  185. //#define EXTPTZ_FASTGOTO 30 //三维定位
  186. #define NET_MAX_CHANNUM 32 //最大通道个数
  187. #define NET_DECORDR_CH 32 //最大解码通道个数
  188. #define NET_MAX_USER_NUM 60 //最多用户数
  189. #define NET_MAX_RIGTH_NUM 128 //最多权限数
  190. #define NET_MAX_GROUP_NUM 50 //最多组数
  191. #define NET_MAX_USER_LENGTH 32 //用户名密码最大长度
  192. #define NET_MAX_COMBINE_NUM 2 //最大组合编码通道数
  193. #define NET_MAX_DECORDR_CH 32 //最大解码通道个数
  194. #define NET_MAX_DDNS_TYPE 5 //支持的DDNS种类
  195. #define NET_MAX_ARSP_TYPE 5
  196. #define NET_MAX_ALARMSERVER_TYPE 5 //支持报警中心种类
  197. #define NET_MAX_SYSFUNC 20 //最多系统功能个数
  198. #define NET_MAX_PTZ_PROTOCOL_LENGTH 32 //云台协议名称最大长度
  199. #define NET_N_WEEKS 7 //星期数
  200. #define NET_N_TSECT 6 //时间段数
  201. #define NET_MD_REGION_ROW 32 //动态检测区域行数
  202. #define NET_COVERNUM 8 //覆盖区域数
  203. #define NET_MAX_FILTERIP_NUM 64 //IP地址最大过滤数
  204. #define NET_NAME_PASSWORD_LEN 64 //用户名密码最大长度
  205. #define NET_MAX_PATH_LENGTH 260 //路径长度
  206. #define NET_N_MIN_TSECT 2
  207. #define NET_MAX_RETURNED_LOGLIST 128 //最多日志条数
  208. #define NET_MAX_MAC_LEN 32 //MAC地址字符最大长度
  209. #define NET_IW_ENCODING_TOKEN_MAX 128
  210. #define NET_MAX_AP_NUMBER 32 //SID最大数量,暂定10
  211. #define NET_MAX_INFO_LEN 128
  212. #define NET_MAX_USERNAME_LENGTH 128
  213. #define NET_MAX_SERIALNO_LENGTH 128 //最大解码通道个数
  214. #define NET_CHANNEL_NAME_MAX_LEN 64 //通道名称最大长度
  215. #define NET_MAX_LINE_PER_OSD_AREA 12 //编码中一个OSD区域最多可以显示的字符行数
  216. //DDNS参数
  217. #define DDNS_MAX_DDNS_NAMELEN 64 //主机名长度
  218. #define DDNS_MAX_DDNS_PWDLEN 32 //密码长度
  219. #define DDNS_MAX_DDNS_IPSIZE 64 //IP地址长度
  220. #define DDNS_MAX_DDNS_IDSIZE 32 //设备标识长度
  221. #define DDNS_MAX_SERIALINFO_SIZE 16 //序列号以及用户名长度
  222. //摄象机参数
  223. #define CAMERAPARA_MAXNUM 16 //曝光能力中目前最大长度
  224. //短信最大数量
  225. #define MAX_RECIVE_MSG_PHONE_COUNT 3 //最大发生短信数量
  226. //VGA分辨率
  227. #define VGA_MAXNUM 32 //分辨率 种类
  228. #define VGA_NAME_LENGTH 10 //分辨率 长度
  229. //显示的设备列表(设备端搜索)
  230. #define DEV_LIST_SHOW 256
  231. //IP SIZE
  232. #define IP_SIZE 16
  233. //#define MAX_HVR_CHNCAP 16
  234. //DDNS服务器设备的信息
  235. #define NET_NAME_TOKEN_LEN 128
  236. #define NET_NAME_URL_LEN 128
  237. #define NET_NAME_ID_LEN 64
  238. #define NET_MAX_TITLE_DOT_BUF_LEN 64*24*24
  239. typedef struct _DDNS_INFO
  240. {
  241. char ID[64]; //设备标识
  242. char Alias[DDNS_MAX_DDNS_NAMELEN];
  243. char IP[DDNS_MAX_DDNS_IPSIZE]; //外网IP
  244. char LanIP[DDNS_MAX_DDNS_IPSIZE];//内网IP
  245. int WebPort; //Web端口,默认为80
  246. int MediaPort; //媒体端口,默认为34567
  247. int MobilePort; //手机监控端口,默认为34599
  248. int UPNPWebPort; //UPNP启动下Web端口,UPNP不开启为0
  249. int UPNPMediaPort; //UPNP启动下媒体端口,UPNP不开启为0
  250. int UPNPMobilePort; //UPNP启动下手机监控端口,UPNP不开启为0
  251. int ChannelNum; //通道数
  252. int Status; //状态
  253. char Username[DDNS_MAX_DDNS_NAMELEN]; //用户名
  254. char Password[DDNS_MAX_DDNS_PWDLEN]; //密码
  255. }DDNS_INFO,*pDDNS_INFO;
  256. //DDNS信息查询模式
  257. typedef struct _SearchMode
  258. {
  259. int nType; //查询类型,见SearchModeType
  260. char szSerIP[DDNS_MAX_DDNS_IPSIZE];//服务器地址
  261. int nSerPort; //服务器端口号
  262. char szSerialInfo[DDNS_MAX_SERIALINFO_SIZE]; //如果是按序列号,则为序列号,如果是用户名,则为用户名
  263. char szPassWord[DDNS_MAX_DDNS_PWDLEN]; //按用户名登陆时候的密码
  264. }SearchMode;
  265. //DDNS信息查询类型
  266. enum SearchModeType
  267. {
  268. DDNS_SERIAL = 0,//按序列号
  269. DDNS_USERNAME, //按用户名
  270. };
  271. //实时预览扩展接口增加的参数:预览类型
  272. typedef enum _H264_DVR_RealPlayType
  273. {
  274. NET_RType_Realplay = 0, //实时预览
  275. NET_RType_Main_Realplay2, //实时监视-主码流,等同于NET_RType_Realplay
  276. NET_RType_Main_Realplay3,
  277. NET_RType_Sub_Realplay_1, //实时监视-从码流1
  278. NET_RType_Sub_Realplay_2, //实时监视-从码流2
  279. NET_RType_Sub_Realplay_3, //实时监视-从码流3
  280. NET_RType_Multiplay_1, //多画面预览-1画面
  281. NET_RType_Multiplay_4, //多画面预览-4画面
  282. NET_RType_Multiplay_6, //多画面预览-6画面
  283. NET_RType_Multiplay_8, //多画面预览-8画面
  284. NET_RType_Multiplay_9, //多画面预览-9画面
  285. NET_RType_Multiplay_12, //多画面预览-12画面
  286. NET_RType_Multiplay_16, //多画面预览-16画面
  287. } NET_RealPlayType;
  288. /// 组合编码模式
  289. enum NetCombinType
  290. {
  291. NET_COMBIN_NONE,
  292. NET_COMBIN_1,
  293. NET_COMBIN_2,
  294. NET_COMBIN_3,
  295. NET_COMBIN_4,
  296. NET_COMBIN_5,
  297. NET_COMBIN_6,
  298. NET_COMBIN_7,
  299. NET_COMBIN_8,
  300. NET_COMBIN_9,
  301. NET_COMBIN_10,
  302. NET_COMBIN_11,
  303. NET_COMBIN_12,
  304. NET_COMBIN_13,
  305. NET_COMBIN_14,
  306. NET_COMBIN_15,
  307. NET_COMBIN_16,
  308. NET_COMBIN_1_4,
  309. NET_COMBIN_5_8,
  310. NET_COMBIN_9_12,
  311. NET_COMBIN_13_16,
  312. NET_COMBIN_1_8,
  313. NET_COMBIN_9_16,
  314. NET_COMBIN_1_9,
  315. NET_COMBIN_8_16,
  316. NET_COMBIN_1_16
  317. };
  318. //这些结构体和枚举是提供给外部使用,所有可能会和设备那边定义了2次,所以都在前面加了SDK_
  319. enum SDK_CAPTURE_SIZE_t {
  320. SDK_CAPTURE_SIZE_D1, ///< 720*576(PAL) 720*480(NTSC)
  321. SDK_CAPTURE_SIZE_HD1, ///< 352*576(PAL) 352*480(NTSC)
  322. SDK_CAPTURE_SIZE_BCIF, ///< 720*288(PAL) 720*240(NTSC)
  323. SDK_CAPTURE_SIZE_CIF, ///< 352*288(PAL) 352*240(NTSC)
  324. SDK_CAPTURE_SIZE_QCIF, ///< 176*144(PAL) 176*120(NTSC)
  325. SDK_CAPTURE_SIZE_VGA, ///< 640*480(PAL) 640*480(NTSC)
  326. SDK_CAPTURE_SIZE_QVGA, ///< 320*240(PAL) 320*240(NTSC)
  327. SDK_CAPTURE_SIZE_SVCD, ///< 480*480(PAL) 480*480(NTSC)
  328. SDK_CAPTURE_SIZE_QQVGA, ///< 160*128(PAL) 160*128(NTSC)
  329. SDK_CAPTURE_SIZE_ND1 = 9, ///< 240*192
  330. SDK_CAPTURE_SIZE_650TVL, ///< 926*576
  331. SDK_CAPTURE_SIZE_720P, ///< 1280*720
  332. SDK_CAPTURE_SIZE_1_3M, ///< 1280*960
  333. SDK_CAPTURE_SIZE_UXGA , ///< 1600*1200
  334. SDK_CAPTURE_SIZE_1080P, ///< 1920*1080
  335. SDK_CAPTURE_SIZE_WUXGA, ///< 1920*1200
  336. SDK_CAPTURE_SIZE_2_5M, ///< 1872*1408
  337. SDK_CAPTURE_SIZE_3M, ///< 2048*1536
  338. SDK_CAPTURE_SIZE_5M, ///< 3744*1408
  339. SDK_CAPTURE_SIZE_NR =19,
  340. SDK_CAPTURE_SIZE_1080N = 19, ///< 960*1080
  341. SDK_CAPTURE_SIZE_4M, ///< 2592*1520
  342. SDK_CAPTURE_SIZE_6M, ///< 3072×2048
  343. SDK_CAPTURE_SIZE_8M, ///< 3264×2448
  344. SDK_CAPTURE_SIZE_12M, ///< 4000*3000
  345. SDK_CAPTURE_SIZE_4K, ///< 4096 * 2160通用/3840*2160海思
  346. SDK_CAPTURE_SIZE_EXT_V2_NR =25,
  347. SDK_CAPTURE_SIZE_720N = 25, // 640*720
  348. SDK_CAPTURE_SIZE_WSVGA, ///< 1024*576
  349. SDK_CAPTURE_SIZE_NHD, // 0*0
  350. SDK_CAPTURE_SIZE_3M_N, // 0*0
  351. SDK_CAPTURE_SIZE_4M_N, // 0*0
  352. SDK_CAPTURE_SIZE_5M_N, // 0*0
  353. SDK_CAPTURE_SIZE_4K_N, // 0*0
  354. SDK_CAPTURE_SIZE_EXT_V3_NR,
  355. };
  356. /// 捕获码流控制模式类型
  357. enum SDK_capture_brc_t {
  358. SDK_CAPTURE_BRC_CBR, ///< 固定码流。
  359. SDK_CAPTURE_BRC_VBR, ///< 可变码流。
  360. SDK_CAPTURE_BRC_MBR, ///< 混合码流。
  361. SDK_CAPTURE_BRC_NR ///< 枚举的码流控制模式数目。
  362. };
  363. /// 捕获压缩格式类型
  364. enum SDK_CAPTURE_COMP_t {
  365. SDK_CAPTURE_COMP_DIVX_MPEG4, ///< DIVX MPEG4。
  366. SDK_CAPTURE_COMP_MS_MPEG4, ///< MS MPEG4。
  367. SDK_CAPTURE_COMP_MPEG2, ///< MPEG2。
  368. SDK_CAPTURE_COMP_MPEG1, ///< MPEG1。
  369. SDK_CAPTURE_COMP_H263, ///< H.263
  370. SDK_CAPTURE_COMP_MJPG, ///< MJPG
  371. SDK_CAPTURE_COMP_FCC_MPEG4, ///< FCC MPEG4
  372. SDK_CAPTURE_COMP_H264, ///< H.264
  373. SDK_CAPTURE_COMP_H265, ///< H.265
  374. SDK_CAPTURE_COMP_NR ///< 枚举的压缩标准数目。
  375. };
  376. /// 捕获通道类型
  377. enum SDK_CAPTURE_CHANNEL_t {
  378. SDK_CHL_MAIN_T = 0, ///< 主通道 - 主码流1
  379. SDK_CHL_2END_T = 1, ///< 辅通道 - 出辅码流2
  380. SDK_CHL_3IRD_T = 2, ///< 辅通道 - 出辅码流3
  381. SDK_CHL_4RTH_T = 3, ///< 辅通道 - 出辅码流4
  382. SDK_CHL_JPEG_T = 4, ///< 辅通道 - 出JPEG抓图
  383. SDK_CHL_FUNCTION_NUM
  384. };
  385. /// 音频编码类型
  386. enum SDK_AudioEncodeTypes
  387. {
  388. SDK_AUDIO_ENCODE_NONE = 0,
  389. SDK_AUDIO_ENCODE_G729_8KBIT,
  390. SDK_AUDIO_ENCODE_G726_16KBIT,
  391. SDK_AUDIO_ENCODE_G726_24KBIT,
  392. SDK_AUDIO_ENCODE_G726_32KBIT,
  393. SDK_AUDIO_ENCODE_G726_40KBIT,
  394. SDK_AUDIO_ENCODE_PCM_8TO16BIT,
  395. SDK_AUDIO_ENCODE_PCM_ALAW,
  396. SDK_AUDIO_ENCODE_PCM_ULAW,
  397. SDK_AUDIO_ENCODE_ADPCM8K16BIT,
  398. SDK_AUDIO_ENCODE_ADPCM16K16BIT,
  399. SDK_AUDIO_ENCODE_G711_ALAW,
  400. SDK_AUDIO_ENCODE_MPEG2_LAYER1,
  401. SDK_AUDIO_ENCODE_AMR8K16BIT,
  402. SDK_AUDIO_ENCODE_G711_ULAW,
  403. SDK_AUDIO_ENCODE_IMA_ADPCM_8K16BIT,
  404. SDK_AUDIO_ENCODE_TYPES_NR,
  405. };
  406. typedef enum _SDK_CONFIG_TYPE
  407. {
  408. E_SDK_CONFIG_NOTHING = 0,
  409. E_SDK_CONFIG_USER, //用户信息,包含了权限列表,用户列表和组列表 对应结构体USER_MANAGE_INFO
  410. E_SDK_CONFIG_ADD_USER, //增加用户---对应结构体USER_INFO
  411. E_SDK_CONFIG_MODIFY_USER, //修改用户---对应结构体CONF_MODIFYUSER
  412. E_SDK_CONFIG_DELETE_USER, //对应结构体USER_INFO
  413. E_SDK_CONFIG_ADD_GROUP, //增加组---对应结构体USER_GROUP_INFO
  414. E_SDK_CONFIG_MODIFY_GROUP, //修改组---对应结构体CONF_MODIFYGROUP
  415. E_SDK_COFIG_DELETE_GROUP, //对应结构体---USER_GROUP_INFO
  416. E_SDK_CONFIG_MODIFY_PSW, //修改密码---对应结构体_CONF_MODIFY_PSW
  417. E_SDK_CONFIG_ABILITY_SYSFUNC = 9, //支持的网络功能---对应结构体SDK_SystemFunction
  418. E_SDK_CONFIG_ABILTY_ENCODE = 10, //首先获得编码能力---对应结构体CONFIG_EncodeAbility
  419. E_SDK_CONFIG_ABILITY_PTZPRO, //云台协议---对应结构体SDK_PTZPROTOCOLFUNC
  420. E_SDK_COMFIG_ABILITY_COMMPRO, //串口协议---对应结构体SDK_COMMFUNC
  421. E_SDK_CONFIG_ABILITY_MOTION_FUNC, //动态检测块---对应结构体SDK_MotionDetectFunction
  422. E_SDK_CONFIG_ABILITY_BLIND_FUNC, //视频遮挡块---对应结构体SDK_BlindDetectFunction
  423. E_SDK_CONFIG_ABILITY_DDNS_SERVER, //DDNS服务支持类型---对应结构体SDK_DDNSServiceFunction
  424. E_SDK_CONFIG_ABILITY_TALK, //对讲编码类型---对应结构体SDK_DDNSServiceFunction
  425. E_SDK_CONFIG_SYSINFO = 17, //系统信息---对应结构体H264_DVR_DEVICEINFO
  426. E_SDK_CONFIG_SYSNORMAL, //普通配置---对应结构体SDK_CONFIG_NORMAL
  427. E_SDK_CONFIG_SYSENCODE, //编码配置---对应结构体SDK_EncodeConfigAll
  428. E_SDK_CONFIG_SYSNET = 20, //网络设置---对应结构体SDK_CONFIG_NET_COMMON
  429. E_SDK_CONFIG_PTZ, //云台页面---对应结构体SDK_STR_PTZCONFIG_ALL
  430. E_SDK_CONFIG_COMM, //串口页面---对应结构体SDK_CommConfigAll
  431. E_SDK_CONFIG_RECORD, //录像设置界面---对应结构体SDK_RECORDCONFIG
  432. E_SDK_CONFIG_MOTION, //动态检测页面---对应结构体SDK_MOTIONCONFIG
  433. E_SDK_CONFIG_SHELTER, //视频遮挡---对应结构体SDK_BLINDDETECTCONFIG
  434. E_SDK_CONFIG_VIDEO_LOSS, //视频丢失---对应结构体SDK_VIDEOLOSSCONFIG
  435. E_SDK_CONFIG_ALARM_IN, //报警输入---对应结构体SDK_ALARM_INPUTCONFIG
  436. E_SDK_CONFIG_ALARM_OUT, //报警输出---对应结构体SDK_AlarmOutConfigAll
  437. E_SDK_CONFIG_DISK_MANAGER, //硬盘管理界面---对应结构体SDK_StorageDeviceControl
  438. E_SDK_CONFIG_OUT_MODE = 30, //输出模式界面---对应结构体SDK_VideoWidgetConfigAll
  439. E_SDK_CONFIG_CHANNEL_NAME, //通道名称---对应结构体SDK_ChannelNameConfigAll
  440. E_SDK_CONFIG_AUTO, //自动维护界面配置---对应结构体SDK_AutoMaintainConfig
  441. E_SDK_CONFIG_DEFAULT, //恢复默认界面配置---对应结构体SDK_SetDefaultConfigTypes
  442. E_SDK_CONFIG_DISK_INFO, //硬盘信息---对应结构体SDK_StorageDeviceInformationAll
  443. E_SDK_CONFIG_LOG_INFO, //查询日志---对应结构体SDK_LogList
  444. E_SDK_CONFIG_NET_IPFILTER, //黑名单配置---对应结构体SDK_NetIPFilterConfig
  445. E_SDK_CONFIG_NET_DHCP, //DHCP配置---对应结构体SDK_NetDHCPConfigAll
  446. E_SDK_CONFIG_NET_DDNS, //DDNS信息---对应结构体SDK_NetDDNSConfigALL
  447. E_SDK_CONFIG_NET_EMAIL, //EMAIL---对应结构体SDK_NetEmailConfig
  448. E_SDK_CONFIG_NET_MULTICAST = 40, //组播---对应结构体SDK_NetMultiCastConfig
  449. E_SDK_CONFIG_NET_NTP, //NTP---对应结构体SDK_NetNTPConfig
  450. E_SDK_CONFIG_NET_PPPOE, //PPPOE---对应结构体SDK_NetPPPoEConfig
  451. E_SDK_CONFIG_NET_DNS, //DNS---对应结构体SDK_NetDNSConfig
  452. E_SDK_CONFIG_NET_FTPSERVER, //FTP---对应结构体SDK_FtpServerConfig
  453. E_SDK_CONFIG_SYS_TIME, //系统时间---对应结构体SDK_SYSTEM_TIME(接口H264_DVR_SetSystemDateTime也可以实现)
  454. E_SDK_CONFIG_CLEAR_LOG, //清除日志(接口H264_DVR_ControlDVR)
  455. E_SDK_REBOOT_DEV, //重启启动设备(接口H264_DVR_ControlDVR)
  456. E_SDK_CONFIG_ABILITY_LANG, //支持语言---对应结构体SDK_MultiLangFunction
  457. E_SDK_CONFIG_VIDEO_FORMAT,
  458. E_SDK_CONFIG_COMBINEENCODE = 50, //组合编码---对应结构体SDK_CombineEncodeConfigAll
  459. E_SDK_CONFIG_EXPORT, //配置导出
  460. E_SDK_CONFIG_IMPORT, //配置导入
  461. E_SDK_LOG_EXPORT, //日志导出
  462. E_SDK_CONFIG_COMBINEENCODEMODE, //组合编码模式---对应结构体SDK_CombEncodeModeAll
  463. E_SDK_WORK_STATE, //运行状态---SDK_DVR_WORKSTATE(接口H264_DVR_GetDVRWorkState也可以获取)
  464. E_SDK_ABILITY_LANGLIST, //实际支持的语言集---对应结构体SDK_MultiLangFunction
  465. E_SDK_CONFIG_NET_ARSP, //ARSP---对应结构体SDK_NetARSPConfigAll
  466. E_SDK_CONFIG_SNAP_STORAGE, //抓图设置---对应结构体SDK_SnapshotConfig
  467. E_SDK_CONFIG_NET_3G, //3G拨号---对应结构体SDK_Net3GConfig
  468. E_SDK_CONFIG_NET_MOBILE = 60, //手机监控---对应结构体SDK_NetMoblieConfig
  469. E_SDK_CONFIG_UPGRADEINFO, //获取升级信息/参数/文件名---对应结构体SDK_UpgradeInfo
  470. E_SDK_CONFIG_NET_DECODER, //解码器地址设置V1(弃用)---对应结构体SDK_NetDecoderConfigAll
  471. E_SDK_ABILITY_VSTD, //实际支持的视频制式---对应结构体SDK_MultiVstd
  472. E_SDK_CONFIG_ABILITY_VSTD, //支持视频制式---对应结构体SDK_MultiVstd
  473. E_SDK_CONFIG_NET_UPNP, //UPUN设置---对应结构体SDK_NetUPNPConfig
  474. E_SDK_CONFIG_NET_WIFI, //WIFI---对应结构体SDK_NetWifiConfig
  475. E_SDK_CONFIG_NET_WIFI_AP_LIST, //搜索到的wifi列表---对应结构体SDK_NetWifiDeviceAll
  476. E_SDK_CONFIG_SYSENCODE_SIMPLIIFY, //简化的编码配置---对应结构SDK_EncodeConfigAll_SIMPLIIFY
  477. E_SDK_CONFIG_ALARM_CENTER, //告警中心---对应结构体SDK_NetAlarmServerConfigAll
  478. E_SDK_CONFIG_NET_ALARM = 70, //网络告警---对应结构体SDK_NETALARMCONFIG_ALL
  479. E_SDK_CONFIG_NET_MEGA, //互信互通---对应结构体SDK_CONFIG_NET_MEGA
  480. E_SDK_CONFIG_NET_XINGWANG, //星望---对应结构体SDK_CONFIG_NET_XINGWANG
  481. E_SDK_CONFIG_NET_SHISOU, //视搜---对应结构体SDK_CONFIG_NET_SHISOU
  482. E_SDK_CONFIG_NET_VVEYE, //VVEYE---对应结构体SDK_CONFIG_NET_VVEYE
  483. E_SDK_CONFIG_NET_PHONEMSG, //短信---对应结构体SDK_NetShortMsgCfg
  484. E_SDK_CONFIG_NET_PHONEMEDIAMSG, //彩信---对应结构体SDK_NetMultimediaMsgCfg
  485. E_SDK_VIDEO_PREVIEW, //
  486. E_SDK_CONFIG_NET_DECODER_V2, //解码器地址设置V2(弃用)---对应结构体SDK_NetDecorderConfigAll_V2
  487. E_SDK_CONFIG_NET_DECODER_V3, //解码器地址设置V3---对应结构体SDK_NetDecorderConfigAll_V3
  488. E_SDK_CONFIG_ABILITY_SERIALNO = 80, //序列号---对应结构体SDK_AbilitySerialNo(经测试不是设备序列号(暂弃用),序列号可以从登陆接口获取到)
  489. E_SDK_CONFIG_NET_RTSP, //RTSP---对应结构体SDK_NetRTSPConfig
  490. E_SDK_GUISET, //本地GUI输出设置---对应结构体SDK_GUISetConfig
  491. E_SDK_CATCHPIC, //抓图
  492. E_SDK_VIDEOCOLOR, //视频颜色设置---对应结构体SDK_VideoColorConfigAll
  493. E_SDK_CONFIG_COMM485, //串口485协议配置---对应结构体SDK_STR_RS485CONFIG_ALL
  494. E_SDK_COMFIG_ABILITY_COMMPRO485, //串口485协议---对应结构体SDK_COMMFUNC
  495. E_SDK_CONFIG_SYS_TIME_NORTC, //设置系统时间noRtc---对应结构体SDK_SYSTEM_TIME
  496. E_SDK_CONFIG_REMOTECHANNEL, //远程通道---弃用
  497. E_SDK_CONFIG_OPENTRANSCOMCHANNEL , //打开透明串口---对应结构体TransComChannel
  498. E_SDK_CONFIG_CLOSETRANSCOMCHANNEL = 90,//关闭透明串口
  499. E_SDK_CONFIG_SERIALWIRTE, //写入透明串口信息
  500. E_SDK_CONFIG_SERIALREAD, //读取透明串口信息
  501. E_SDK_CONFIG_CHANNELTILE_DOT, //点阵信息-修改IPC通道名需要点阵信息---对应结构体SDK_TitleDot
  502. E_SDK_CONFIG_CAMERA, //摄象机参数---对应结构体SDK_CameraParam
  503. E_SDK_CONFIG_ABILITY_CAMERA, //曝光能力级---对应结构体SDK_CameraAbility
  504. E_SDK_CONFIG_BUGINFO, //命令调试
  505. E_SDK_CONFIG_STORAGENOTEXIST, //硬盘不存在---对应结构体SDK_VIDEOLOSSCONFIG
  506. E_SDK_CONFIG_STORAGELOWSPACE, //硬盘容量不足---对应结构体SDK_StorageLowSpaceConfig
  507. E_SDK_CONFIG_STORAGEFAILURE, //硬盘出错---对应结构体SDK_StorageFailConfig
  508. E_SDK_CFG_NETIPCONFLICT = 100, //IP冲突---对应结构体SDK_VIDEOLOSSCONFIG
  509. E_SDK_CFG_NETABORT, //网络异常---对应结构体SDK_VIDEOLOSSCONFIG
  510. E_SDK_CONFIG_CHNSTATUS, //通道状态---对应结构体SDK_NetDecorderChnStatusAll
  511. E_SDK_CONFIG_CHNMODE, //通道模式---对应结构体SDK_NetDecorderChnModeConfig
  512. E_SDK_CONFIG_NET_DAS, //主动注册---对应结构体SDK_DASSerInfo
  513. E_SDK_CONFIG_CAR_INPUT_EXCHANGE, //外部信息输入与车辆状态的对应关系---对应结构体SDK_CarStatusExchangeAll
  514. E_SDK_CONFIG_DELAY_TIME, //车载系统延时配置---对应结构体SDK_CarDelayTimeConfig
  515. E_SDK_CONFIG_NET_ORDER, //网络优先级---对应结构体SDK_NetOrderConfig
  516. E_SDK_CONFIG_ABILITY_NETORDER , //网络优先级设置能力---对应结构体SDK_NetOrderFunction
  517. E_SDK_CONFIG_CARPLATE, //车牌号配置---对应结构体SDK_CarPlates
  518. E_SDK_CONFIG_LOCALSDK_NET_PLATFORM = 110, //网络平台信息设置---对应结构体SDK_LocalSdkNetPlatformConfig
  519. E_SDK_CONFIG_GPS_TIMING, //GPS校时相关配置---对应结构体SDK_GPSTimingConfig
  520. E_SDK_CONFIG_VIDEO_ANALYZE, //视频分析(智能DVR)---对应结构体SDK_ANALYSECONFIG
  521. E_SDK_CONFIG_GODEYE_ALARM, //神眼接警中心系统---对应结构体SDK_GodEyeConfig
  522. E_SDK_CONFIG_NAT_STATUS_INFO, //nat状态信息---对应结构体SDK_NatStatusInfo
  523. E_SDK_CONFIG_BUGINFOSAVE, //命令调试(保存)
  524. E_SDK_CONFIG_MEDIA_WATERMARK, //水印设置---对应结构体SDK_WaterMarkConfigAll
  525. E_SDK_CONFIG_ENCODE_STATICPARAM, //编码器静态参数---对应结构体SDK_EncodeStaticParamAll
  526. E_SDK_CONFIG_LOSS_SHOW_STR, //视频丢失显示字符串
  527. E_SDK_CONFIG_DIGMANAGER_SHOW, //通道管理显示配置---对应结构体SDK_DigManagerShowStatus
  528. E_SDK_CONFIG_ABILITY_ANALYZEABILITY = 120,//智能分析能力---对应结构体SDK_ANALYZEABILITY
  529. E_SDK_CONFIG_VIDEOOUT_PRIORITY, //显示HDMI VGA优先级别配置
  530. E_SDK_CONFIG_NAT, //NAT功能,MTU值配置---对应结构体SDK_NatConfig
  531. E_SDK_CONFIG_CPCINFO, //智能CPC计数数据信息---对应结构体SDK_CPCDataAll
  532. E_SDK_CONFIG_STORAGE_POSITION, // 录像存储设备类型---对应结构体SDK_RecordStorageType
  533. E_SDK_CONFIG_ABILITY_CARSTATUSNUM,//车辆状态数---对应结构体SDK_CarStatusNum
  534. E_SDK_CFG_VPN, //VPN---对应结构体SDK_VPNConfig
  535. E_SDK_CFG_VIDEOOUT, //VGA视频分辨率---对应结构体SDK_VGAresolution
  536. E_SDK_CFG_ABILITY_VGARESOLUTION,//支持的VGA分辨率列表---对应结构体SDK_VGAResolutionAbility
  537. E_SDK_CFG_NET_LOCALSEARCH, //搜索设备,设备端的局域网设备---对应结构体SDK_NetDevList
  538. E_SDK_CFG_NETPLAT_KAINENG = 130,//客户配置---对应结构体SDK_CONFIG_KAINENG_INFO
  539. E_SDK_CFG_ENCODE_STATICPARAM_V2,//DVR编码器静态参数---对应结构体SDK_EncodeStaticParamV2
  540. E_SDK_ABILITY_ENC_STATICPARAM, //静态编码能力集---对应结构体SDK_EncStaticParamAbility (掩码)
  541. E_SDK_CFG_C7_PLATFORM, //C7平台配置---对应结构体SDK_C7PlatformConfig
  542. E_SDK_CFG_MAIL_TEST, //邮件测试---对应结构体SDK_NetEmailConfig
  543. E_SDK_CFG_NET_KEYBOARD, //网络键盘服务---对应结构体SDK_NetKeyboardConfig
  544. E_SDK_ABILITY_NET_KEYBOARD, //网络键盘协议---对应结构体SDK_NetKeyboardAbility
  545. E_SDK_CFG_SPVMN_PLATFORM, //28181协议配置---对应结构体SDK_ASB_NET_VSP_CONFIG
  546. E_SDK_CFG_PMS, //手机服务---对应结构体SDK_PMSConfig
  547. E_SDK_CFG_OSD_INFO, //屏幕提示信息---对应结构体SDK_OSDInfoConfigAll
  548. E_SDK_CFG_KAICONG = 140, //客户配置---对应结构体SDK_KaiCongAlarmConfig
  549. E_SDK_CFG_DIGITAL_REAL, //真正支持的通道模式---对应结构体SDK_VideoChannelManage
  550. E_SDK_ABILITY_PTZCONTROL, //PTZ控制能力集---对应结构体SDK_PTZControlAbility
  551. E_SDK_CFG_XMHEARTBEAT, //对应结构体SDK_XMHeartbeatConfig
  552. E_SDK_CFG_MONITOR_PLATFORM, //平台配置---对应结构体SDK_MonitorPlatformConfig
  553. E_SDK_CFG_PARAM_EX, //摄像头扩展参数---对应结构体SDK_CameraParamEx
  554. E_SDK_CFG_NETPLAT_ANJU_P2P, //安巨P2P---对应结构体SDK_NetPlatformCommonCfg
  555. E_SDK_GPS_STATUS, //GPS连接信息---对应结构体SDK_GPSStatusInfo
  556. E_SDK_WIFI_STATUS, //Wifi连接信息---对应结构体SDK_WifiStatusInfo
  557. E_SDK_3G_STATUS, //3G连接信息---对应结构体SDK_WirelessStatusInfo
  558. E_SDK_DAS_STATUS = 150, //主动注册状态---对应结构体SDK_DASStatusInfo
  559. E_SDK_ABILITY_DECODE_DELEY, //解码策略能力---对应结构体SDK_DecodeDeleyTimePrame
  560. E_SDK_CFG_DECODE_PARAM, //解码最大延时---对应结构体SDK_DecodeParam
  561. E_SDK_CFG_VIDEOCOLOR_CUSTOM, //SDK_VIDEOCOLOR_PARAM_CUSTOM
  562. E_SDK_ABILITY_ONVIF_SUB_PROTOCOL,//onvif子协议---对应结构体SDK_AbilityMask
  563. E_SDK_CONFIG_EXPORT_V2, //导出设备默认配置,即出厂的配置
  564. E_SDK_CFG_CAR_BOOT_TYPE, //车载开关机模式---对应结构体SDK_CarBootTypeConfig
  565. E_SDK_CFG_IPC_ALARM, //IPC网络报警---对应结构体SDK_IPCAlarmConfigAll
  566. E_SDK_CFG_NETPLAT_TUTK_IOTC, //TUTK IOTC平台配置---对应结构体SDK_NetPlatformCommonCfg
  567. E_SDK_CFG_BAIDU_CLOUD, //百度云---对应结构体SDK_BaiduCloudCfg
  568. E_SDK_CFG_PMS_MSGNUM = 160, //手机订阅数---对应结构体SDK_PhoneInfoNum
  569. E_SDK_CFG_IPC_IP, //控制DVR去修改设备IP---对应结构体SDK_IPSetCfg
  570. E_SDK_ABILITY_DIMEN_CODE, //二维码点阵---对应结构体SDK_DimenCodeAll
  571. E_SDK_CFG_MOBILE_WATCH, //中国电信手机看店平台配置---对应结构体SDK_MobileWatchCfg
  572. E_SDK_CFG_BROWSER_LANGUAGE, //使用浏览器时使用的语言---对应结构体SDK_BrowserLanguageType
  573. E_SDK_CFG_TIME_ZONE, //时区配置---对应结构体SDK_TimeZone
  574. E_SDK_CFG_NETBJTHY, //客户配置---对应结构体SDK_MonitorPlatformConfig
  575. E_SDK_ABILITY_MAX_PRE_RECORD, //最大可设置预录时间1~30---对应结构体SDK_AbilityMask
  576. E_SDK_CFG_DIG_TIME_SYN, //数字通道时间同步配置(决定前端同步方式)---对应结构体SDK_TimeSynParam
  577. E_SDK_CONFIG_OSDINFO_DOT, //3行OSD
  578. E_CFG_NET_POS = 170, //POS机配置---对应结构体SDK_NetPosConfigAll
  579. E_SDK_CFG_CUSTOMIZE_OEMINFO, //定制OEM客户版本信息---对应结构体SDK_CustomizeOEMInfo
  580. E_SDK_CFG_DIGITAL_ENCODE, //数字通道精简版编码配置---对应结构体SDK_EncodeConfigAll_SIMPLIIFY
  581. E_SDK_CFG_DIGITAL_ABILITY, //数字通道的编码能力---对应结构体SDK_DigitDevInfo
  582. E_SDK_CFG_ENCODECH_DISPLAY, //IE端编码配置显示的前端通道号---对应结构体SDK_EncodeChDisplay
  583. E_SDK_CFG_RESUME_PTZ_STATE, //开机云台状态---对应结构体SDK_ResumePtzState
  584. E_SDK_CFG_LAST_SPLIT_STATE, //最近一次的画面分割模式,用于重启后恢复之前的分割模式
  585. E_SDK_CFG_SYSTEM_TIMING_WORK, //设备定时开关机时间配置。隐藏在自动维护页面里,要用超级密码登陆才能看到界面
  586. E_SDK_CFG_GBEYESENV, //宝威环境监测平台配置---对应结构体SDK_NetPlatformCommonCfg
  587. E_SDK_ABILITY_AHD_ENCODE_L, //AHDL能力集---对应结构体SDK_AHDEncodeLMask
  588. E_SDK_CFG_SPEEDALARM = 180, //速度报警---对应结构体SDK_SpeedAlarmConfigAll
  589. E_SDK_CFG_CORRESPONDENT_INFO, //用户自定义配置---对应结构体SDK_CorrespondentOwnInfo
  590. E_SDK_SET_OSDINFO, //OSD信息设置---对应结构体SDK_OSDInfo,(此项功能只支持模拟通道)
  591. E_SDK_SET_OSDINFO_V2, //OSD信息叠加,不保存配置---对应结构体SDK_OSDInfoConfigAll,(此项功能只支持模拟通道)
  592. E_SDK_ABILITY_SUPPORT_EXTSTREAM,//支持辅码流录像---对应结构体SDK_AbilityMask
  593. E_SDK_CFG_EXT_RECORD, //辅码流配置---对应结构体SDK_RECORDCONFIG_ALL/SDK_RECORDCONFIG
  594. E_SDK_CFG_APP_DOWN_LINK, //用于用户定制下载链接---对应结构体SDK_AppDownloadLink
  595. E_SDK_CFG_EX_USER_MAP, //用于保存明文数据---对应结构体SDK_UserMap
  596. E_SDK_CFG_TRANS_COMM_DATA, //串口数据主动上传到UDP或TCP服务器,其中TCP服务器可以支持双向通信---对应结构体SDK_NetTransCommData
  597. E_SDK_EXPORT_LANGUAGE, //语言导出
  598. E_SDK_IMPORT_LANGUAGE = 190, //语言导入
  599. E_SDK_DELETE_LANGUAGE, //语言删除
  600. E_SDK_CFG_UPGRADE_VERSION_LIST, //云升级文件列表---对应结构体SDK_CloudUpgradeList
  601. E_SDK_CFG_GSENSORALARM, //GSENSOR报警
  602. E_SDK_CFG_USE_PROGRAM, //启动客户小程序---对应结构体SDK_NetUseProgram
  603. E_SDK_CFG_FTP_TEST, //FTP测试---对应结构体SDK_FtpServerConfig
  604. E_SDK_CFG_FbExtraStateCtrl, //消费类产品的录像灯的状态---对应结构体SDK_FbExtraStateCtrl
  605. E_SDK_CFG_PHONE, //手机用
  606. E_SDK_PicInBuffer, //手机抓图,弃用
  607. E_SDK_GUARD, //布警 弃用
  608. E_SDK_UNGUARD = 200, //撤警,弃用
  609. E_SDK_CFG_START_UPGRADE, //开始升级,弃用
  610. E_SDK_CFG_AUTO_SWITCH, //插座定时开关---获取配置都用H264_DVR_GetDevConfig_Json,配置使用H264_DVR_SetDevConfig_Json(配置时的格式见智能插座用到的命令.doc)(两个接口简称Json接口,下面用简称) "Name":"PowerSocket.AutoSwitch"
  611. E_SDK_CFG_POWER_SOCKET_SET, //控制插座开关---Json接口 "Name":"OPPowerSocketGet"
  612. E_SDK_CFG_AUTO_ARM, //插座的定时布撤防---Json接口 "Name":"PowerSocket.AutoArm"
  613. E_SDK_CFG_WIFI_MODE, //Wifi模式配置,用于行车记录仪切换AP模式---对应结构体SDK_NetWifiMode
  614. E_SDK_CFG_CIENT_INFO, //传递手机客户端信息---Json接口 "Name":"PowerSocket.ClientInfo"
  615. E_SDK_CFG_ATHORITY, //SDK_Authority---Json接口 "Name":"PowerSocket.Authority"
  616. E_SDK_CFG_ARM , //SDK_Arm---Json接口 "Name":"PowerSocket.Arm"
  617. E_SDK_CFG_AUTOLIGHT, //设置夜灯的定时开关功能 --Json接口 "Name" : "PowerSocket.AutoLight",
  618. E_SDK_CFG_LIGHT = 210, //使能和禁止夜灯的动检响应功能---Json接口 "Name" : "PowerSocket.Light",
  619. E_SDK_CFG_WORKRECORD, //进行电量统计---Json接口 "Name" : "PowerSocket.WorkRecord",
  620. E_SDK_CFG_SYSTEMTIME, //设置时间的命令 ,当局域网连接的时候,连接的时候,发送对时命令 --Json接口 "Name":"System.Time"
  621. E_SDK_CFG_USB, //usb接口控制功能---Json接口 "Name":"PowerSocket.Usb"
  622. E_SDK_CFG_NETPLAT_BJHONGTAIHENG,//北京鸿泰恒平台---对应结构体SDK_CONFIG_NET_BJHONGTAIHENG
  623. E_SDK_CFG_CLOUD_STORAGE, //云存储相关配置---对应结构体SDK_CloudRecordConfigAll
  624. E_SDK_CFG_IDLE_PTZ_STATE, //云台空闲动作相关配置---对应结构体SDK_PtzIdleStateAll
  625. E_SDK_CFG_CAMERA_CLEAR_FOG, //去雾功能配置---对应结构体SDK_CameraClearFogAll
  626. E_SDK_CFG_WECHATACCOUNT, //---对应json "Name":"PowerSocket.WechatAccount"
  627. E_SDK_CFG_WECHATRENEW, //---对应json "Name":"PowerSocket.WechatRenew"
  628. E_SDK_CFG_POWERSOCKET_WIFI = 220,//---对应json "Name":"PowerSocket.WiFi"
  629. E_SDK_CFG_CAMERA_MOTOR_CONTROL, //机器人马达控制---对应结构体SDK_CameraMotorCtrl
  630. E_SDK_CFG_ENCODE_ADD_BEEP, //设置编码加入每隔30秒beep声---对应结构体SDK_EncodeAddBeep
  631. E_SDK_CFG_DATALINK, //datalink客户在网络服务中的执行程序使能配置---对应结构体 SDK_DataLinkConfig
  632. E_SDK_CFG_FISH_EYE_PARAM, //鱼眼功能参数配置---对应结构体SDK_FishEyeParam
  633. E_SDK_OPERATION_SET_LOGO, //视频上叠加雄迈等厂家的LOGO---对应结构体SDK_SetLogo
  634. E_SDK_CFG_SPARSH_HEARTBEAT, //Sparsh客户的心跳功能配置---对应结构体 SDK_SparshHeartbeat
  635. E_SDK_CFG_LOGIN_FAILED, //登录失败时发送邮件,使用结构体:基本事件结构---对应结构体 SDK_VIDEOLOSSCONFIG
  636. E_SDK_CFG_NETPLAT_SPVMN_NAS, //安徽超清客户的nas服务器配置---对应结构体SDK_SPVMN_NAS_SERVER
  637. E_SDK_CFG_DDNS_APPLY, //ddns 按键功能测试---对应结构体SDK_NetDDNSConfigALL
  638. E_SDK_OPERATION_NEW_UPGRADE_VERSION_REQ, ///新版云升级版本查询请求---对应结构体SDK_CloudUpgradeVersionRep
  639. E_SDK_CFG_IPV6_ADDRESS, //ipv6------对应的结构体SDK_IPAddressV6
  640. E_SDK_CFG_DDNS_IPMSG, //DDNS外网IP地址
  641. E_SDK_CFG_ONLINE_UPGRADE, //在线升级相关配置-----对应的结构体SDK_OnlineUpgradeCfg
  642. E_SDK_CFG_CONS_SENSOR_ALARM, //家用产品433报警联动项配置-----对应的SDK_ConsSensorAlarmCfg
  643. E_SDK_OPEARTION_SPLIT_CONTROL, //画面分割模式-----对应的结构体SDK_SplitControl
  644. }SDK_CONFIG_TYPE;
  645. /// 报警事件码
  646. enum SDK_EventCodeTypes
  647. {
  648. SDK_EVENT_CODE_INIT = 0,
  649. SDK_EVENT_CODE_LOCAL_ALARM = 1, //本地报警(外部报警)
  650. SDK_EVENT_CODE_NET_ALARM, //网络报警
  651. SDK_EVENT_CODE_MANUAL_ALARM, //手动报警
  652. SDK_EVENT_CODE_VIDEO_MOTION, //动态检测
  653. SDK_EVENT_CODE_VIDEO_LOSS, //视频丢失
  654. SDK_EVENT_CODE_VIDEO_BLIND, //视频遮挡
  655. SDK_EVENT_CODE_VIDEO_TITLE,
  656. SDK_EVENT_CODE_VIDEO_SPLIT,
  657. SDK_EVENT_CODE_VIDEO_TOUR,
  658. SDK_EVENT_CODE_STORAGE_NOT_EXIST,//存储设备不存在
  659. SDK_EVENT_CODE_STORAGE_FAILURE,//存储设备访问失败
  660. SDK_EVENT_CODE_LOW_SPACE, //存储设备容量过低
  661. SDK_EVENT_CODE_NET_ABORT,
  662. SDK_EVENT_CODE_COMM,
  663. SDK_EVENT_CODE_STORAGE_READ_ERROR,//存储设备读错误
  664. SDK_EVENT_CODE_STORAGE_WRITE_ERROR,//存储设备写错误
  665. SDK_EVENT_CODE_NET_IPCONFLICT, //ip冲突
  666. SDK_EVENT_CODE_ALARM_EMERGENCY,
  667. SDK_EVENT_CODE_DEC_CONNECT,
  668. SDK_EVENT_CODE_UPGRADE,
  669. SDK_EVENT_CODE_BACK_UP,
  670. SDK_EVENT_CODE_SHUT_DOWN,
  671. SDK_EVENT_CODE_REBOOT,
  672. SDK_EVENT_CODE_NEWFILE,
  673. SDK_EVENT_CODE_VideoAnalyze,
  674. SDK_EVENT_CODE_IPC_ALARM,
  675. SDK_EVENT_CODE_SPEED_ALARM,
  676. SDK_EVENT_CODE_GSENSOR_AlARM,
  677. SDK_EVENT_CODE_LOGIN_FAILED,//登录失败
  678. SDK_EVENT_Serial_ALARM,
  679. SDK_EVENT_CONSSENSOR_ALARM, //消费类产品绑定的外部设备报警
  680. SDK_EVENT_CODE_NR,
  681. };
  682. //! 编码配置的类型
  683. enum SDK_ENCODE_TYPE_BY_RECORD
  684. {
  685. SDK_ENCODE_TYPE_TIM = 0,
  686. SDK_ENCODE_TYPE_MTD = 1,
  687. SDK_ENCODE_TYPE_ALM = 2,
  688. SDK_ENCODE_TYPE_NUM = 3,
  689. SDK_ENCODE_TYPE_SNAP_TIMER = 0,
  690. SDK_ENCODE_TYPE_SNAP_TRIGGER = 1,
  691. };
  692. #define SDK_EXTRATYPES 3 //辅码流类型
  693. //网络传输策略
  694. enum SDK_TransferPolicy
  695. {
  696. SDK_TRANSFER_POLICY_AUTO, ///< 自适应
  697. SDK_TRANSFER_POLICY_QUALITY, ///< 质量优先
  698. SDK_TRANSFER_POLICY_FLUENCY, ///< 流量优先
  699. SDK_TRANSFER_POLICY_TRANSMISSION,//< 网传优先
  700. SDK_TRANSFER_POLICY_NR,
  701. };
  702. typedef struct {
  703. int left;
  704. int top;
  705. int right;
  706. int bottom;
  707. }sdkRect;
  708. /// 音频输入格式,语音对讲用
  709. typedef struct SDK_AudioInFormatConfig
  710. {
  711. int iBitRate; ///< 码流大小,kbps为单位,比如192kbps,128kbps
  712. int iSampleRate; ///< 采样率,Hz为单位,比如44100Hz
  713. int iSampleBit; ///< 采样的位深
  714. int iEncodeType; ///< 编码方式,参照AudioEncodeTypes定义
  715. }SDK_AudioInFormatConfig;
  716. //语音对讲格式
  717. typedef enum __TALK_CODING_TYPE
  718. {
  719. TALK_DEFAULT = 0,
  720. TALK_PCM = 1, //PCM
  721. TALK_G711a, //G711a
  722. TALK_AMR, //AMR
  723. TALK_G711u, //G711u
  724. TALK_G726, //G726
  725. }TALK_CODING_TYPE;
  726. //语音对讲
  727. typedef struct H264_DVR_TALKDECODE_INFO
  728. {
  729. TALK_CODING_TYPE encodeType; //编码类型
  730. int nAudioBit; //用实际的值表示,如8位 则填值为8
  731. unsigned int dwSampleRate; //采样率,如16k 则填值为16000
  732. char reserved[64];
  733. }H264_DVR_TALKDECODE_INFO;
  734. /// 系统时间结构
  735. typedef struct SDK_SYSTEM_TIME{
  736. int year;///< 年。
  737. int month;///< 月,January = 1, February = 2, and so on.
  738. int day;///< 日。
  739. int wday;///< 星期,Sunday = 0, Monday = 1, and so on
  740. int hour;///< 时。
  741. int minute;///< 分。
  742. int second;///< 秒。
  743. int isdst;///< 夏令时标识。
  744. }SDK_SYSTEM_TIME;
  745. //录像设置相关结构体
  746. typedef struct tagSDK_TIMESECTION
  747. {
  748. //!使能
  749. int enable;
  750. //!开始时间:小时
  751. int startHour;
  752. //!开始时间:分钟
  753. int startMinute;
  754. //!开始时间:秒钟
  755. int startSecond;
  756. //!结束时间:小时
  757. int endHour;
  758. //!结束时间:分钟
  759. int endMinute;
  760. //!结束时间:秒钟
  761. int endSecond;
  762. }SDK_TIMESECTION;
  763. typedef struct{
  764. int dwYear; //年
  765. int dwMonth; //月
  766. int dwDay; //日
  767. int dwHour; //时
  768. int dwMinute; //分
  769. int dwSecond; //秒
  770. }H264_DVR_TIME,*LPH264_DVR_TIME;
  771. //时间结构
  772. typedef struct _NEW_NET_TIME
  773. {
  774. unsigned int second :6; // 秒 1-60
  775. unsigned int minute :6; // 分 1-60
  776. unsigned int hour :5; // 时 1-24
  777. unsigned int day :5; // 日 1-31
  778. unsigned int month :4; // 月 1-12
  779. unsigned int year :6; // 年 2000-2063
  780. }NEW_NET_TIME, *LPNET_TIME;
  781. ///< 夏令时结构
  782. typedef struct DSTPoint
  783. {
  784. int iYear;
  785. int iMonth;
  786. int iWeek; ///<周1:first to2 3 4 -1:last one 0:表示使用按日计算的方法[-1,4]
  787. int iWeekDay; ///<weekday from sunday=0 [0, 6]
  788. int Hour;
  789. int Minute;
  790. }DSTPoint;
  791. typedef struct SDK_VIDEO_FORMAT
  792. {
  793. int iCompression; // 压缩模式(视频格式) 参照enum SDK_CAPTURE_COMP_t
  794. int iResolution; // 分辨率 参照枚举SDK_CAPTURE_SIZE_t
  795. int iBitRateControl; // 码流控制 参照枚举SDK_capture_brc_t
  796. int iQuality; // 码流的画质 档次1-6
  797. int nFPS; // 帧率值,NTSC/PAL不区分,负数表示多秒一帧
  798. int nBitRate; // 0-4096k,该列表主要由客户端保存,设备只接收实际的码流值而不是下标。
  799. int iGOP; // 描述两个I帧之间的间隔时间,2-12
  800. } SDK_VIDEO_FORMAT;
  801. typedef struct SDK_AUDIO_FORMAT
  802. {
  803. int nBitRate; // 码流kbps
  804. int nFrequency; // 采样频率
  805. int nMaxVolume; // 最大音量阈值
  806. }SDK_AUDIO_FORMAT;
  807. // 媒体格式
  808. typedef struct SDK_MEDIA_FORMAT
  809. {
  810. SDK_VIDEO_FORMAT vfFormat; // 视频格式定义
  811. SDK_AUDIO_FORMAT afFormat; // 音频格式定义
  812. bool bVideoEnable; // 开启视频编码
  813. bool bAudioEnable; // 开启音频编码
  814. } SDK_MEDIA_FORMAT;
  815. typedef union { //IP addr
  816. unsigned char c[4];
  817. unsigned short s[2];
  818. unsigned int l;
  819. }CONFIG_IPAddress;
  820. ///////////////////用户帐号管理相关结构体/////////////////////////////////
  821. typedef struct _OPR_RIGHT
  822. {
  823. char name[NET_MAX_USER_LENGTH];
  824. }OPR_RIGHT;
  825. typedef struct _USER_INFO
  826. {
  827. int rigthNum;
  828. char rights[NET_MAX_RIGTH_NUM][NET_MAX_USER_LENGTH];
  829. char Groupname[NET_MAX_USER_LENGTH];
  830. char memo[NET_MAX_USER_LENGTH];
  831. char name[NET_MAX_USER_LENGTH];
  832. char passWord[NET_MAX_USER_LENGTH];
  833. bool reserved; //是否保留
  834. bool shareable; //本用户是否允许复用 1-复用,0-不复用
  835. }USER_INFO;
  836. typedef struct _USER_GROUP_INFO
  837. {
  838. int rigthNum;
  839. char memo[NET_MAX_USER_LENGTH];
  840. char name[NET_MAX_USER_LENGTH];
  841. char rights[NET_MAX_RIGTH_NUM][NET_MAX_USER_LENGTH]; //权限列表
  842. }USER_GROUP_INFO;
  843. //用户信息配置结构
  844. typedef struct _USER_MANAGE_INFO
  845. {
  846. int rigthNum;
  847. OPR_RIGHT rightList[NET_MAX_RIGTH_NUM];
  848. int groupNum;
  849. USER_GROUP_INFO groupList[NET_MAX_GROUP_NUM];
  850. int userNum;
  851. USER_INFO userList[NET_MAX_USER_NUM];
  852. }USER_MANAGE_INFO;
  853. //修改用户
  854. typedef struct _CONF_MODIFYUSER
  855. {
  856. char UserName[NET_MAX_USER_LENGTH];
  857. USER_INFO User;
  858. }CONF_MODIFYUSER;
  859. //修改组
  860. typedef struct _CONF_MODIFYGROUP
  861. {
  862. char GroupName[NET_MAX_USER_LENGTH];
  863. USER_GROUP_INFO Group;
  864. }CONF_MODIFYGROUP;
  865. /// 修改用户密码请求
  866. struct _CONF_MODIFY_PSW
  867. {
  868. char sUserName[NET_MAX_USER_LENGTH];
  869. char Password[NET_MAX_USER_LENGTH];
  870. char NewPassword[NET_MAX_USER_LENGTH];
  871. };
  872. //普通配置页结构体
  873. typedef struct _SDK_CONFIG_NORMAL
  874. {
  875. SDK_SYSTEM_TIME sysTime; //系统时间
  876. int iLocalNo; /*!< 本机编号:[0, 998] */
  877. int iOverWrite; /*!< 硬盘满时处理 "OverWrite(iOverWrite=1)", "StopRecord(iOverWrite=0)" */
  878. char cIranCalendarEnable; ///<伊朗日历
  879. char cFontSize; ///< 矢量字体大小
  880. char reserved[2];
  881. char sMachineName[64]; ///< 机器名
  882. int iVideoStartOutPut; /*!< 输出模式 */
  883. int iAutoLogout; ///< 本地菜单自动注销(分钟) [0, 120]
  884. int iVideoFormat; /*!< 视频制式:“PAL”:0, “NTSC”:1, “SECAM” */
  885. int iLanguage; /*!< 语言选择:“English”, “SimpChinese”, “TradChinese”, “Italian”, “Spanish”, “Japanese”, “Russian”, “French”, “German” */
  886. int iDateFormat; /*!< 日期格式:“YYMMDD”, “MMDDYY”, “DDMMYY” */
  887. int iDateSeparator; /*!< 日期分割符:“.”, “-”, “/” */
  888. int iTimeFormat; /*!< 时间格式:“12”, “24” */
  889. int iDSTRule; ///< 夏令时规则
  890. int iWorkDay; ///< 工作日
  891. DSTPoint dDSTStart;
  892. DSTPoint dDSTEnd;
  893. }SDK_CONFIG_NORMAL;
  894. //以下编码配置相关
  895. // 编码设置
  896. typedef struct SDK_CONFIG_ENCODE
  897. {
  898. SDK_MEDIA_FORMAT dstMainFmt[SDK_ENCODE_TYPE_NUM]; // 主码流格式
  899. SDK_MEDIA_FORMAT dstExtraFmt[SDK_EXTRATYPES]; // 辅码流格式
  900. SDK_MEDIA_FORMAT dstSnapFmt[SDK_ENCODE_TYPE_NUM]; // 抓图格式
  901. }SDK_CONFIG_ENCODE;
  902. typedef struct SDK_EncodeConfigAll
  903. {
  904. SDK_CONFIG_ENCODE vEncodeConfigAll[NET_MAX_CHANNUM];
  905. }SDK_EncodeConfigAll;
  906. // 简化版本编码配置
  907. /// 媒体格式
  908. typedef struct SDK_MEDIA_FORMAT_SIMPLIIFY
  909. {
  910. SDK_VIDEO_FORMAT vfFormat; // 视频格式定义
  911. bool bVideoEnable; // 开启视频编码
  912. bool bAudioEnable; // 开启音频编码
  913. }SDK_MEDIA_FORMAT_SIMPLIIFY;
  914. /// 编码设置
  915. typedef struct SDK_CONFIG_ENCODE_SIMPLIIFY
  916. {
  917. SDK_MEDIA_FORMAT dstMainFmt; // 主码流格式
  918. SDK_MEDIA_FORMAT dstExtraFmt; // 辅码流格式
  919. }SDK_CONFIG_ENCODE_SIMPLIIFY;
  920. /// 全通道编码配置
  921. typedef struct SDK_EncodeConfigAll_SIMPLIIFY
  922. {
  923. SDK_CONFIG_ENCODE_SIMPLIIFY vEncodeConfigAll[NET_MAX_CHANNUM];
  924. }SDK_EncodeConfigAll_SIMPLIIFY;
  925. typedef struct SDK_CombineEncodeConfigAll
  926. {
  927. SDK_CONFIG_ENCODE vEncodeConfigAll[NET_MAX_COMBINE_NUM];
  928. }SDK_CombineEncodeConfigAll;
  929. /// 组合编码模式
  930. typedef struct SDK_CombEncodeParam
  931. {
  932. int iEncodeMode; //见CombineEncodeMode
  933. }SDK_CombEncodeParam;
  934. typedef struct SDK_CombEncodeModeAll
  935. {
  936. SDK_CombEncodeParam vEncodeParam[NET_MAX_COMBINE_NUM];
  937. }SDK_CombEncodeModeAll;
  938. //!视频物件结构
  939. typedef struct SDK_VIDEO_WIDGET
  940. {
  941. unsigned int rgbaFrontground; ///< 物件的前景MakeRGB,和透明度
  942. unsigned int rgbaBackground; ///< 物件的后景MakeRGB,和透明度
  943. sdkRect rcRelativePos; ///< 物件边距与整长的比例*8191
  944. bool bPreviewBlend; ///< 预览叠加,是否显示,1:显示 0:隐藏
  945. bool bEncodeBlend; ///< 编码叠加
  946. }SDK_VIDEO_WIDGET;
  947. //!视频物件设置
  948. typedef struct SDK_CONFIG_VIDEOWIDGET
  949. {
  950. SDK_VIDEO_WIDGET dstCovers[NET_COVERNUM];
  951. SDK_VIDEO_WIDGET ChannelTitle; //通道名称
  952. SDK_VIDEO_WIDGET TimeTitle; //设备时间
  953. struct
  954. {
  955. char strName[NET_NAME_PASSWORD_LEN];
  956. #ifdef WIN32
  957. __int64 iSerialNo;
  958. #else
  959. long long iSerialNo;
  960. #endif
  961. }ChannelName; /// 通道名称
  962. int iCoverNum; /*!< 当前该通道有几个叠加的区域 */
  963. }SDK_CONFIG_VIDEOWIDGET;
  964. /// 视频物件(输出模式对话框)
  965. typedef struct SDK_VideoWidgetConfigAll
  966. {
  967. SDK_CONFIG_VIDEOWIDGET vVideoWidegetConfigAll[NET_MAX_CHANNUM];
  968. }SDK_VideoWidgetConfigAll;
  969. //视频颜色
  970. typedef struct SDK_VIDEOCOLOR_PARAM
  971. {
  972. int nBrightness; ///< 亮度 0-100
  973. int nContrast; ///< 对比度 0-100
  974. int nSaturation; ///< 饱和度 0-100
  975. int nHue; ///< 色度 0-100
  976. int mGain; ///< 增益 0-100 第7位置1表示自动增益
  977. int mWhitebalance; ///< 自动白电平控制,bit7置位表示开启自动控制.0x0,0x1,0x2分别代表低,中,高等级
  978. int nAcutance; ///< 锐度 0-15
  979. }SDK_VIDEOCOLOR_PARAM;
  980. ///< 视频颜色设置
  981. typedef struct SDK_VIDEOCOLOR
  982. {
  983. SDK_TIMESECTION tsTimeSection; /// 时间段
  984. SDK_VIDEOCOLOR_PARAM dstColor; /// 颜色定义
  985. int iEnable;
  986. }SDK_VIDEOCOLOR;
  987. typedef struct SDK_CONFIG_VIDEOCOLOR
  988. {
  989. SDK_VIDEOCOLOR dstVideoColor[NET_N_MIN_TSECT];
  990. }SDK_CONFIG_VIDEOCOLOR;
  991. typedef struct SDK_VideoColorConfigAll
  992. {
  993. SDK_CONFIG_VIDEOCOLOR vVideoColorAll[NET_MAX_CHANNUM];
  994. }SDK_VideoColorConfigAll;
  995. /// 所有通道名称标题
  996. typedef struct SDK_ChannelNameConfigAll
  997. {
  998. char channelTitle[64][NET_NAME_PASSWORD_LEN];
  999. }SDK_ChannelNameConfigAll;
  1000. //输出模式
  1001. typedef struct SDK_GUISetConfig
  1002. {
  1003. int iWindowAlpha; ///< 窗口透明度 [128, 255]
  1004. bool bTimeTitleEn; ///< 时间标题显示使能
  1005. bool bChannelTitleEn; ///< 通道标题显示使能
  1006. bool bAlarmStatus; ///< 报警状态
  1007. bool bRecordStatus; ///< 录像状态显示使能
  1008. bool bChanStateRecEn; ///< 录像标志显示使能
  1009. bool bChanStateVlsEn; ///< 视频丢失标志显示使能
  1010. bool bChanStateLckEn; ///< 通道锁定标志显示使能
  1011. bool bChanStateMtdEn; ///< 动态检测标志显示使能
  1012. bool bBitRateEn; ///< 码流显示使能
  1013. bool bRemoteEnable; ///< 遥控器使能
  1014. bool bDeflick; ///< 抗抖动
  1015. }SDK_GUISetConfig;
  1016. ////!普通网络设置
  1017. typedef struct SDK_CONFIG_NET_COMMON
  1018. {
  1019. //!主机名
  1020. char HostName[NET_NAME_PASSWORD_LEN];
  1021. //!主机IP
  1022. CONFIG_IPAddress HostIP;
  1023. //!子网掩码
  1024. CONFIG_IPAddress Submask;
  1025. //!网关IP
  1026. CONFIG_IPAddress Gateway;
  1027. //!HTTP服务端口
  1028. int HttpPort;
  1029. //!TCP侦听端口
  1030. int TCPPort;
  1031. //!SSL侦听端口
  1032. int SSLPort;
  1033. //!UDP侦听端口
  1034. int UDPPort;
  1035. //!最大连接数
  1036. int MaxConn;
  1037. //!监视协议 {"TCP","UDP","MCAST",⋯}
  1038. int MonMode;
  1039. //!限定码流值
  1040. int MaxBps;
  1041. //!传输策略
  1042. //char TransferPlan[NET_NAME_PASSWORD_LEN];
  1043. int TransferPlan;
  1044. //!是否启用高速录像下载测率
  1045. bool bUseHSDownLoad;
  1046. //!MAC地址
  1047. char sMac[NET_MAX_MAC_LEN];
  1048. }SDK_CONFIG_NET_COMMON;
  1049. typedef enum SDK_DevType
  1050. {
  1051. SDK_DEV_TYPE_IPC,
  1052. SDK_DEV_TYPE_DVR,
  1053. SDK_DEV_TYPE_HVR,
  1054. SDK_DEV_TYPE_POEIPC,
  1055. SDK_DEV_TYPE_NVR,
  1056. SDK_DEV_TYPE_RTSPIPC,
  1057. SDK_DEV_TYPE_NR
  1058. }SDK_DevType;
  1059. ////!普通网络设置 --
  1060. typedef struct SDK_CONFIG_NET_COMMON_V2
  1061. {
  1062. //!主机名
  1063. char HostName[NET_NAME_PASSWORD_LEN];
  1064. //!主机IP
  1065. CONFIG_IPAddress HostIP;
  1066. //!子网掩码
  1067. CONFIG_IPAddress Submask;
  1068. //!网关IP
  1069. CONFIG_IPAddress Gateway;
  1070. //!HTTP服务端口
  1071. int HttpPort;
  1072. //!TCP侦听端口
  1073. int TCPPort;
  1074. //!SSL侦听端口
  1075. int SSLPort;
  1076. //!UDP侦听端口
  1077. int UDPPort;
  1078. //!最大连接数
  1079. int MaxConn;
  1080. //!监视协议 {"TCP","UDP","MCAST",⋯}
  1081. int MonMode;
  1082. //!限定码流值
  1083. int MaxBps;
  1084. //!传输策略
  1085. //char TransferPlan[NET_NAME_PASSWORD_LEN];
  1086. int TransferPlan;
  1087. //!是否启用高速录像下载测率
  1088. bool bUseHSDownLoad;
  1089. //!MAC地址
  1090. char sMac[NET_MAX_MAC_LEN];
  1091. char sSn[NET_MAX_MAC_LEN]; ///序列号
  1092. #ifndef WIN32
  1093. int DeviceType; //设备类型,手机区分是插座还是普通设备
  1094. #endif
  1095. int ChannelNum; ///通道数
  1096. int Device_Type; ///设备类型,见enum SDK_DevType
  1097. char Resume[56]; ///保留
  1098. }SDK_CONFIG_NET_COMMON_V2;
  1099. ////!跨网段设置IP需 --
  1100. typedef struct SDK_CONFIG_NET_COMMON_V3
  1101. {
  1102. //!主机名
  1103. char HostName[NET_NAME_PASSWORD_LEN];
  1104. //!主机IP
  1105. CONFIG_IPAddress HostIP;
  1106. //!子网掩码
  1107. CONFIG_IPAddress Submask;
  1108. //!网关IP
  1109. CONFIG_IPAddress Gateway;
  1110. //!HTTP服务端口
  1111. int HttpPort;
  1112. //!TCP侦听端口
  1113. int TCPPort;
  1114. //!SSL侦听端口
  1115. int SSLPort;
  1116. //!UDP侦听端口
  1117. int UDPPort;
  1118. //!最大连接数
  1119. int MaxConn;
  1120. //!监视协议 {"TCP","UDP","MCAST",?}
  1121. int MonMode;
  1122. //!限定码流值
  1123. int MaxBps;
  1124. //!传输策略
  1125. //char TransferPlan[NET_NAME_PASSWORD_LEN];
  1126. int TransferPlan;
  1127. //!是否启用高速录像下载测率
  1128. bool bUseHSDownLoad;
  1129. //!MAC地址
  1130. char sMac[NET_MAX_MAC_LEN];
  1131. char UserName[NET_NAME_PASSWORD_LEN];//设备用户名
  1132. char Password[NET_NAME_PASSWORD_LEN];//设备密码
  1133. char LocalMac[NET_MAX_MAC_LEN];
  1134. int nPasswordType;
  1135. }SDK_CONFIG_NET_COMMON_V3;
  1136. //DHCP
  1137. #define SDK_MAX_ETH_NUM 4
  1138. typedef struct SDK_NetDHCPConfig
  1139. {
  1140. bool bEnable;
  1141. char ifName[32];
  1142. }SDK_NetDHCPConfig;
  1143. /// 所有网卡的DHCP配置
  1144. typedef struct SDK_NetDHCPConfigAll
  1145. {
  1146. SDK_NetDHCPConfig vNetDHCPConfig[SDK_MAX_ETH_NUM];
  1147. }SDK_NetDHCPConfigAll;
  1148. ///< DNS设置
  1149. typedef struct SDK_NetDNSConfig
  1150. {
  1151. CONFIG_IPAddress PrimaryDNS;
  1152. CONFIG_IPAddress SecondaryDNS;
  1153. }SDK_NetDNSConfig;
  1154. ///< 服务器结构定义
  1155. typedef struct SDK_RemoteServerConfig
  1156. {
  1157. char ServerName[NET_NAME_PASSWORD_LEN]; ///< 服务名
  1158. CONFIG_IPAddress ip; ///< IP地址
  1159. int Port; ///< 端口号
  1160. char UserName[NET_NAME_PASSWORD_LEN]; ///< 用户名
  1161. char Password[NET_NAME_PASSWORD_LEN]; ///< 密码
  1162. bool Anonymity; ///< 是否匿名登录
  1163. }SDK_RemoteServerConfig;
  1164. ///< IP权限设置
  1165. typedef struct SDK_NetIPFilterConfig
  1166. {
  1167. bool Enable; ///< 是否开启
  1168. CONFIG_IPAddress BannedList[NET_MAX_FILTERIP_NUM]; ///< 黑名单列表
  1169. CONFIG_IPAddress TrustList[NET_MAX_FILTERIP_NUM]; ///< 白名单列表
  1170. }SDK_NetIPFilterConfig;
  1171. ///< 组播设置
  1172. typedef struct SDK_NetMultiCastConfig
  1173. {
  1174. bool Enable; ///< 是否开启
  1175. SDK_RemoteServerConfig Server; ///< 组播服务器
  1176. }SDK_NetMultiCastConfig;
  1177. ///< pppoe设置
  1178. typedef struct SDK_NetPPPoEConfig
  1179. {
  1180. bool Enable; ///< 是否开启
  1181. SDK_RemoteServerConfig Server; ///< PPPOE服务器
  1182. CONFIG_IPAddress addr; ///< 拨号后获得的IP地址
  1183. }SDK_NetPPPoEConfig;
  1184. ///< DDNS设置
  1185. typedef struct SDK_NetDDNSConfig
  1186. {
  1187. bool Enable; ///< 是否开启
  1188. bool Online; ///< 是否在线
  1189. char DDNSKey[NET_NAME_PASSWORD_LEN]; ///< DDNS类型名称, 目前有: JUFENG
  1190. char HostName[NET_NAME_PASSWORD_LEN]; ///< 主机名
  1191. SDK_RemoteServerConfig Server; ///< DDNS服务器
  1192. }SDK_NetDDNSConfig;
  1193. ///< DDNS设置
  1194. typedef struct SDK_NetDDNSConfigALL
  1195. {
  1196. SDK_NetDDNSConfig ddnsConfig[NET_MAX_DDNS_TYPE];
  1197. }SDK_NetDDNSConfigALL;
  1198. ///< FTP设置
  1199. typedef struct SDK_FtpServerConfig{
  1200. bool bEnable; ///< 服务器使能
  1201. SDK_RemoteServerConfig Server; ///< FTP服务器
  1202. char cRemoteDir[NET_MAX_PATH_LENGTH]; ///< 远程目录
  1203. int iMaxFileLen; ///< 文件最大长度
  1204. }SDK_FtpServerConfig;
  1205. ///< NTP设置
  1206. typedef struct SDK_NetNTPConfig
  1207. {
  1208. ///< 是否开启
  1209. bool Enable;
  1210. ///< PPPOE服务器
  1211. SDK_RemoteServerConfig Server;
  1212. ///< 更新周期
  1213. int UpdatePeriod;
  1214. ///< 时区
  1215. int TimeZone;
  1216. }SDK_NetNTPConfig;
  1217. #define NET_MAX_EMAIL_TITLE_LEN 64
  1218. #define NET_MAX_EMAIL_RECIEVERS 5
  1219. #define NET_EMAIL_ADDR_LEN 64
  1220. ///< EMAIL设置
  1221. typedef struct SDK_NetEmailConfig
  1222. {
  1223. ///< 是否开启
  1224. bool Enable;
  1225. ///< smtp 服务器地址使用字符串形式填充
  1226. ///< 可以填ip,也可以填域名
  1227. SDK_RemoteServerConfig Server;
  1228. bool bUseSSL;
  1229. ///< 发送地址
  1230. char SendAddr[NET_EMAIL_ADDR_LEN];
  1231. ///< 接收人地址
  1232. char Recievers[NET_MAX_EMAIL_RECIEVERS][NET_EMAIL_ADDR_LEN];
  1233. ///< 邮件主题
  1234. char Title[NET_MAX_EMAIL_TITLE_LEN];
  1235. ///< email有效时间
  1236. SDK_TIMESECTION Schedule[NET_N_MIN_TSECT];
  1237. }SDK_NetEmailConfig;
  1238. ///< ARSP(主动注册服务器)设置
  1239. typedef struct SDK_NetARSPConfig
  1240. {
  1241. bool bEnable; ///< 是否开启
  1242. char sARSPKey[NET_NAME_PASSWORD_LEN]; ///< DNS类型名称
  1243. int iInterval; ///< 保活间隔时间
  1244. char sURL[NET_NAME_PASSWORD_LEN]; ///< 本机域名
  1245. SDK_RemoteServerConfig Server; ///< DDNS服务器
  1246. int nHttpPort; ///< 服务器HTTP端口
  1247. }SDK_NetARSPConfig;
  1248. typedef struct SDK_NetARSPConfigAll
  1249. {
  1250. SDK_NetARSPConfig vNetARSPConfigAll[NET_MAX_ARSP_TYPE];
  1251. }SDK_NetARSPConfigAll;
  1252. ///< 解码器地址设置
  1253. typedef struct SDK_NetDecoderConfig
  1254. {
  1255. bool Enable; ///< 是否开启
  1256. char UserName[NET_NAME_PASSWORD_LEN]; ///< DDNS类型名称, 目前有: JUFENG
  1257. char PassWord[NET_NAME_PASSWORD_LEN]; ///< 主机名
  1258. char Address[NET_NAME_PASSWORD_LEN];
  1259. int Protocol;
  1260. int Port; ///< 解码器连接端口
  1261. int Channel; ///< 解码器连接通道号
  1262. int Interval; ///< 轮巡的间隔时间(s)
  1263. }SDK_NetDecoderConfig;
  1264. /// 所有通道的解码器地址设置
  1265. typedef struct SDK_NetDecoderConfigAll
  1266. {
  1267. SDK_NetDecoderConfig vNetDecoderConfig[NET_MAX_DECORDR_CH];
  1268. }SDK_NetDecoderConfigAll;
  1269. /// 解码器地址设置V2版本
  1270. typedef struct SDK_NetDecoderConfig_V2
  1271. {
  1272. int nTotalNum; //有效的数组个数,最大为NET_MAX_CHANNUM
  1273. SDK_NetDecoderConfig vNetDecoderConfig[NET_MAX_CHANNUM];
  1274. }SDK_NetDecoderConfig_V2;
  1275. /// 所有通道的解码器地址设置V2版本
  1276. typedef struct SDK_NetDecoderConfigAll_V2
  1277. {
  1278. SDK_NetDecoderConfig_V2 vNetDecoderArray[NET_MAX_DECORDR_CH];
  1279. }SDK_NetDecoderConfigAll_V2;
  1280. /// 捕获通道类型
  1281. enum SDK_CaptureChannelTypes
  1282. {
  1283. SDK_CAPTURE_CHN_MAIN = 0, ///< 主通道 - 主码流1
  1284. SDK_CAPTURE_CHN_2END = 1, ///< 辅通道 - 出辅码流2
  1285. SDK_CAPTURE_CHN_3IRD = 2, ///< 辅通道 - 出辅码流3
  1286. SDK_CAPTURE_CHN_4RTH = 3, ///< 辅通道 - 出辅码流4
  1287. SDK_CAPTURE_CHN_JPEG = 4, ///< 辅通道 - 出JPEG抓图
  1288. SDK_CAPTURE_CHN_NR,
  1289. };
  1290. ///< 解码器地址设置
  1291. typedef struct SDK_NetDecorderConfigV3
  1292. {
  1293. bool Enable; ///< 是否开启
  1294. char UserName[NET_NAME_PASSWORD_LEN]; ///< DDNS类型名称, 目前有: JUFENG
  1295. char PassWord[NET_NAME_PASSWORD_LEN]; ///< 主机名
  1296. char Address[NET_NAME_URL_LEN];
  1297. int Protocol; //见enum SDK_TransferProtocol_V2
  1298. int Port; ///< 解码器连接端口
  1299. int Channel; ///< 解码器连接通道号
  1300. int Interval; ///< 轮巡的间隔时间(s),0:表示永久
  1301. char ConfName[NET_NAME_PASSWORD_LEN]; ///<配置名称
  1302. int DevType; ///<设备类型
  1303. int StreamType; ///<连接的码流类型 见enum SDK_CaptureChannelTypes
  1304. char MainRtspUrl[NET_NAME_URL_LEN]; ///<rtsp协议时表示前端设备的主码流地址
  1305. char SubRtspUrl[NET_NAME_URL_LEN]; ///<rtsp协议时表示前端设备的辅码流地址
  1306. }SDK_NetDecorderConfigV3;
  1307. /*解码器连接类型*/
  1308. enum SDK_DecorderConnType
  1309. {
  1310. SDK_CONN_SINGLE = 0, /*单连接*/
  1311. SDK_CONN_MULTI = 1, /*多连接轮巡*/
  1312. SDK_CONN_TYPE_NR,
  1313. };
  1314. /*数字通道的配置*/
  1315. typedef struct SDK_NetDigitChnConfig
  1316. {
  1317. bool Enable; /*数字通道是否开启*/
  1318. int ConnType; /*连接类型,取DecoderConnectType的值*/
  1319. int TourIntv; /*多连接时轮巡间隔*/
  1320. unsigned int SingleConnId; /*单连接时的连接配置ID, 从1开始,0表示无效*/
  1321. bool EnCheckTime; /*开启对时*/
  1322. SDK_NetDecorderConfigV3 NetDecorderConf[32]; /*网络设备通道配置表*/
  1323. int nNetDeorde; // 有多少个
  1324. }SDK_NetDigitChnConfig;
  1325. /*所有数字通道的配置*/
  1326. typedef struct SDK_NetDecorderConfigAll_V3
  1327. {
  1328. SDK_NetDigitChnConfig DigitChnConf[NET_MAX_DECORDR_CH];
  1329. }SDK_NetDecorderConfigAll_V3;
  1330. //通道模式
  1331. #define MAX_HVR_CHNCAP_CHN 32
  1332. typedef struct SDK_HVR_CHNCAP
  1333. {
  1334. int nD1Chn; // 支持的D1路数
  1335. int n960HChn; // 支持的960H路数
  1336. int n720PChn; // 支持的720P路数
  1337. int n1080PChn; // 支持的1080P路数
  1338. int nCIFChn; //支持的CIF通道数
  1339. int nHD1Chn; //支持的HD1通道数
  1340. unsigned char nPlayChn; //支持回放路数
  1341. unsigned char nDigiTalChn; //支持最大数字通道路数
  1342. unsigned char n960PChn; //支持的960P通道数
  1343. unsigned char n3MChn; //支持的3M通道数
  1344. unsigned char n5MChn; //支持的5M通道数
  1345. unsigned char nWUXGAChn; //支持的WUXGA通道数
  1346. unsigned char n1080NChn;//支持1080N通道数
  1347. unsigned char n4MChn;//支持4M通道数
  1348. //unsigned char nResChar[2]; //冗余
  1349. }SDK_HVR_CHNCAP, *SDK_PHVR_CHNCAP;
  1350. typedef struct SDK_HVR_CHNCAPV2
  1351. {
  1352. unsigned char nD1Chn; // 支持的D1路数
  1353. unsigned char n960HChn; // 支持的960H路数
  1354. unsigned char n720PChn; // 支持的720P路数
  1355. unsigned char n1080PChn; // 支持的1080P路数
  1356. unsigned char nCIFChn; //支持的CIF通道数
  1357. unsigned char nHD1Chn; //支持的HD1通道数
  1358. unsigned char nPlayChn; //支持回放路数
  1359. unsigned char nDigiTalChn; //支持最大数字通道路数
  1360. unsigned char n960PChn; //支持的960P通道数
  1361. unsigned char n3MChn; //支持的3M通道数
  1362. unsigned char n5MChn; //支持的5M通道数
  1363. unsigned char nWUXGAChn; //支持的WUXGA通道数
  1364. unsigned char n1080NChn;//支持1080N通道数
  1365. unsigned char n4MChn;//支持4M通道数
  1366. unsigned char n720NChn;//支持720N通道数
  1367. unsigned char nWSVGAChn;//支持WSVGA通道数
  1368. unsigned char nRes[16];
  1369. }SDK_HVR_CHNCAPV2, *SDK_PHVR_CHNCAPV2;
  1370. typedef struct SDK_CAPTURE_HVRCAP //改用CAPTURE_HVRCAPV2,为了兼容老的保留
  1371. {
  1372. SDK_HVR_CHNCAP DigitalCap; // 支持的数字通道信息
  1373. SDK_HVR_CHNCAP AnalogCap; // 支持的模拟通道信息
  1374. }SDK_CAPTURE_HVRCAP, *SDK_PCAPTURE_HVRCAP;
  1375. typedef struct SDK_CAPTURE_HVRCAPV2
  1376. {
  1377. SDK_HVR_CHNCAPV2 DigitalCap; // 支持的数字通道信息
  1378. SDK_HVR_CHNCAPV2 AnalogCap; // 支持的模拟通道信息
  1379. }SDK_CAPTURE_HVRCAPV2, *SDK_PCAPTURE_HVRCAPV2;
  1380. typedef struct SDK_CAPTURE_TOTAL_HVRCAP //改用CAPTURE_TOTAL_HVRCAPV2,为了兼容老的保留
  1381. {
  1382. int nHVRCap; // 实际支持的模式
  1383. SDK_CAPTURE_HVRCAP HVRCap[MAX_HVR_CHNCAP_CHN]; // 所有模式的汇总
  1384. }SDK_CAPTURE_TOTAL_HVRCAP, *SDK_PCAPTURE_TOTAL_HVRCAP;
  1385. typedef struct SDK_CAPTURE_TOTAL_HVRCAPV2
  1386. {
  1387. int nHVRCap; // 实际支持的模式
  1388. SDK_CAPTURE_HVRCAPV2 HVRCap[MAX_HVR_CHNCAP_CHN]; // 所有模式的汇总
  1389. }SDK_CAPTURE_TOTAL_HVRCAPV2, *SDK_PCAPTURE_TOTAL_HVRCAPV2;
  1390. //通道模式配置
  1391. typedef struct SDK_NetDecorderChnModeConfig
  1392. {
  1393. SDK_CAPTURE_TOTAL_HVRCAPV2 HVRTotalCap;
  1394. int HVRCurCapMode;
  1395. }SDK_NetDecorderChnModeConfig;
  1396. /*数字通道状态*/
  1397. typedef struct SDK_NetDecorderChnStatus
  1398. {
  1399. char ChnName[NET_NAME_PASSWORD_LEN];
  1400. char pMaxResName[50];
  1401. char pCurResName[50];
  1402. char pStatus[50];
  1403. }SDK_NetDecorderChnStatus;
  1404. /*所有数字通道状态*/
  1405. typedef struct SDK_NetDecorderChnStatusAll
  1406. {
  1407. SDK_NetDecorderChnStatus ChnStatusAll[MAX_HVR_CHNCAP_CHN];
  1408. }SDK_NetDecorderChnStatusAll;
  1409. //Pos设备类型
  1410. enum SDK_PosDevType
  1411. {
  1412. SDK_POS_TYPE_MANY_LINES, //计算完总金额后才把商品信息一起发送过来
  1413. SDK_POS_TYPE_ONE_LINE, //每统计一件商品就把该商品的信息发送过来
  1414. SDK_POS_NR
  1415. };
  1416. //文字编码格式
  1417. enum SDK_WordEncode
  1418. {
  1419. SDK_WORD_ENCODE_GB2312, //汉字编码GB2312
  1420. SDK_WORD_ENCODE_UNICODE, //万国码 Unicode
  1421. SDK_WORD_ENCODE_UTF8, //UTF-8
  1422. };
  1423. #define SDK_MAX_POS_FUNC_KEYWORDS 4
  1424. // pos相关配置
  1425. typedef struct SDK_NetPosConfig
  1426. {
  1427. bool Enable; /*pos机通道使能*/
  1428. int Devtype; //pos机类型
  1429. int Protocol; //通信协议
  1430. int Port; //协议端口号
  1431. bool SnapEnable; //抓拍使能
  1432. int StartLine; //对收到的信息从多少行开始显示
  1433. int WordEncodeType; //文字编码格式,如枚举值 WordEncodeType 所示
  1434. bool KeyWordEnable; //关键字写日志功能使能
  1435. char SearchWrod[SDK_MAX_POS_FUNC_KEYWORDS][16]; //需要添加到日志里的单词
  1436. int HideTime; //隐藏通道显示的pos信息的时间,单位是秒,0表示不自动隐藏
  1437. int res; //保留
  1438. }SDK_NetPosConfig;
  1439. //所有pos机相关配置
  1440. typedef struct SDK_NetPosConfigAll
  1441. {
  1442. SDK_NetPosConfig PosConfig[MAX_HVR_CHNCAP_CHN];
  1443. }SDK_NetPosConfigAll;
  1444. ///< 3G拨号设置
  1445. typedef struct SDK_Net3GConfig
  1446. {
  1447. bool bEnable; ///< 无线模块使能标志
  1448. int iNetType; ///< 无线网络类型
  1449. char sAPN[NET_NAME_PASSWORD_LEN]; ///< 接入点名称
  1450. char sDialNum[NET_NAME_PASSWORD_LEN]; ///< 拨号号码
  1451. char sUserName[NET_NAME_PASSWORD_LEN]; ///< 拨号用户名
  1452. char sPassword[NET_NAME_PASSWORD_LEN]; ///< 拨号密码
  1453. CONFIG_IPAddress addr; ///< 拨号后获得的IP地址
  1454. }SDK_Net3GConfig;
  1455. ///< 手机监控设置包括
  1456. typedef struct SDK_NetMoblieConfig
  1457. {
  1458. bool bEnable; ///< 是否开启
  1459. SDK_RemoteServerConfig Server; ///< 服务器
  1460. }SDK_NetMoblieConfig;
  1461. //RTSP
  1462. typedef struct SDK_NetRTSPConfig
  1463. {
  1464. bool bServer;
  1465. bool bClient;
  1466. SDK_RemoteServerConfig Server; ///< 服务器模式
  1467. SDK_RemoteServerConfig Client; ///< 客户端模式
  1468. }SDK_NetRTSPConfig;
  1469. ///< UPNP设置
  1470. typedef struct SDK_NetUPNPConfig
  1471. {
  1472. bool bEnable; ///< 使能标志
  1473. bool bState; ///< 状态, 1: OK 0: NOK
  1474. int iHTTPPort; ///< HTTP连接映射后的端口
  1475. int iMediaPort; ///< 媒体连接映射后的端口
  1476. int iMobliePort; ///< 手机监控映射后的端口
  1477. }SDK_NetUPNPConfig;
  1478. ///< WIFI设置
  1479. typedef struct SDK_NetWifiConfig
  1480. {
  1481. bool bEnable;
  1482. char sSSID[36]; //SSID Number
  1483. int nChannel; //channel
  1484. char sNetType[32]; //Infra, Adhoc
  1485. char sEncrypType[32]; //NONE, WEP, TKIP, AES
  1486. char sAuth[32]; //OPEN, SHARED, WEPAUTO, WPAPSK, WPA2PSK, WPANONE, WPA, WPA2
  1487. int nKeyType; //0:Hex 1:ASCII
  1488. char sKeys[NET_IW_ENCODING_TOKEN_MAX];
  1489. CONFIG_IPAddress HostIP; ///< host ip
  1490. CONFIG_IPAddress Submask; ///< netmask
  1491. CONFIG_IPAddress Gateway; ///< gateway
  1492. }SDK_NetWifiConfig;
  1493. enum SDK_RSSI_SINGNAL
  1494. {
  1495. SDK_RSSI_NO_SIGNAL, //<= -90db
  1496. SDK_RSSI_VERY_LOW, //<= -81db
  1497. SDK_RSSI_LOW, //<= -71db
  1498. SDK_RSSI_GOOD, //<= -67db
  1499. SDK_RSSI_VERY_GOOD, //<= -57db
  1500. SDK_RSSI_EXCELLENT //>-57db
  1501. };
  1502. typedef struct SDK_NetWifiDevice
  1503. {
  1504. char sSSID[36]; //SSID Number
  1505. int nRSSI; //SEE SDK_RSSI_SINGNAL
  1506. int nChannel;
  1507. char sNetType[32]; //Infra, Adhoc
  1508. char sEncrypType[32]; //NONE, WEP, TKIP, AES
  1509. char sAuth[32]; //OPEN, SHARED, WEPAUTO, WPAPSK, WPA2PSK, WPANONE, WPA, WPA2
  1510. }SDK_NetWifiDevice;
  1511. typedef struct SDK_NetWifiDeviceAll
  1512. {
  1513. int nDevNumber;
  1514. SDK_NetWifiDevice vNetWifiDeviceAll[NET_MAX_AP_NUMBER];
  1515. }SDK_NetWifiDeviceAll;
  1516. ///< 报警中心设置
  1517. typedef struct SDK_NetAlarmCenterConfig
  1518. {
  1519. bool bEnable; ///< 是否开启
  1520. char sAlarmServerKey[NET_NAME_PASSWORD_LEN]; ///< 报警中心协议类型名称,
  1521. ///< 报警中心服务器
  1522. SDK_RemoteServerConfig Server;
  1523. bool bAlarm;
  1524. bool bLog;
  1525. }SDK_NetAlarmCenterConfig;
  1526. typedef struct SDK_NetAlarmServerConfigAll
  1527. {
  1528. SDK_NetAlarmCenterConfig vAlarmServerConfigAll[NET_MAX_ALARMSERVER_TYPE];
  1529. }SDK_NetAlarmServerConfigAll;
  1530. //互信互通
  1531. typedef struct SDK_CONFIG_NET_MEGA
  1532. {
  1533. bool bEnable;
  1534. bool bNetManEnable;
  1535. CONFIG_IPAddress ServerIP;
  1536. int iServerPort;
  1537. char sDeviceId[32];
  1538. char sUserName[24];
  1539. char sPasswd[32];
  1540. int iMaxCon;
  1541. int iVideoPort;
  1542. int iAudioPort;
  1543. int iMsgPort;
  1544. int iUpdatePort;
  1545. }SDK_CONFIG_NET_MEGA;
  1546. // 新望平台
  1547. typedef struct SDK_CONFIG_NET_XINGWANG
  1548. {
  1549. bool bEnable;
  1550. bool bSyncTime;
  1551. bool bSubStream;
  1552. CONFIG_IPAddress ServerIP;
  1553. int iServerPort;
  1554. int iDownLoadPort;
  1555. char sPasswd[32];
  1556. char szSID[32];
  1557. }SDK_CONFIG_NET_XINGWANG;
  1558. // 视搜平台
  1559. typedef struct SDK_CONFIG_NET_SHISOU
  1560. {
  1561. bool bEnable;
  1562. SDK_RemoteServerConfig Server;
  1563. char szSID[NET_MAX_USERNAME_LENGTH];
  1564. }SDK_CONFIG_NET_SHISOU;
  1565. // VVEYE平台
  1566. typedef struct SDK_CONFIG_NET_VVEYE
  1567. {
  1568. bool bEnable;
  1569. bool bCorpEnable; //只有在使用企业服务器时才需要设置Server
  1570. SDK_RemoteServerConfig Server;
  1571. char szDeviceName[NET_MAX_USERNAME_LENGTH];
  1572. }SDK_CONFIG_NET_VVEYE;
  1573. // 报警中心消息类型
  1574. enum SDK_AlarmCenterMsgType
  1575. {
  1576. SDK_ALARMCENTER_ALARM,
  1577. SDK_ALARMCENTER_LOG,
  1578. };
  1579. // 报警中心消息类型
  1580. enum SDK_AlarmCenterStatus
  1581. {
  1582. SDK_AC_START,
  1583. SDK_AC_STOP,
  1584. };
  1585. // 告警中心消息内容
  1586. typedef struct SDK_NetAlarmCenterMsg
  1587. {
  1588. CONFIG_IPAddress HostIP; ///< 设备IP
  1589. int nChannel; ///< 通道
  1590. int nType; ///< 类型 见AlarmCenterMsgType
  1591. int nStatus; ///< 状态 见AlarmCenterStatus
  1592. SDK_SYSTEM_TIME Time; ///< 发生时间
  1593. char sEvent[NET_MAX_INFO_LEN]; ///< 事件
  1594. char sSerialID[NET_MAX_MAC_LEN]; ///< 设备序列号
  1595. char sDescrip[NET_MAX_INFO_LEN]; ///< 描述
  1596. }SDK_NetAlarmCenterMsg;
  1597. /// 编码信息
  1598. typedef struct SDK_EncodeInfo
  1599. {
  1600. bool bEnable; ///< 使能项
  1601. bool bHaveAudio; ///< 是否支持音频
  1602. int iStreamType; ///< 码流类型,capture_channel_t
  1603. unsigned int uiCompression; ///< capture_comp_t的掩码
  1604. unsigned int uiResolution; ///< SDK_CAPTURE_SIZE_t的掩码
  1605. }SDK_EncodeInfo;
  1606. /// 编码能力
  1607. typedef struct CONFIG_EncodeAbility
  1608. {
  1609. unsigned int iMaxEncodePower; ///< 支持的最大编码能力
  1610. int iChannelMaxSetSync; ///< 每个通道分辨率是否需要同步 0-不同步, 1 -同步
  1611. unsigned int nMaxPowerPerChannel[NET_MAX_CHANNUM]; ///< 每个通道支持的最高编码能力
  1612. unsigned int ImageSizePerChannel[NET_MAX_CHANNUM]; ///< 每个通道支持的图像分辨率
  1613. unsigned int ExImageSizePerChannel[NET_MAX_CHANNUM]; ///< 每个通道支持的辅码流图像分辨率
  1614. SDK_EncodeInfo vEncodeInfo[SDK_CHL_FUNCTION_NUM]; ///< 编码信息,暂时最大就4中码流
  1615. SDK_EncodeInfo vCombEncInfo[SDK_CHL_FUNCTION_NUM]; ///< 组合编码信息,暂时最大就4中码流
  1616. int iMaxBps; ///< 最高码流Kbps
  1617. unsigned int ExImageSizePerChannelEx[NET_MAX_CHANNUM][SDK_CAPTURE_SIZE_EXT_V3_NR]; ///< 每个通道支持的辅码流图像分辨率
  1618. }CONFIG_EncodeAbility;
  1619. // 串口协议
  1620. enum SDK_CommProtocol
  1621. {
  1622. SDK_CONSOLE = 0,
  1623. SDK_KEYBOARD,
  1624. SDK_COM_TYPES,
  1625. };
  1626. /// 串口协议
  1627. typedef struct SDK_COMMFUNC
  1628. {
  1629. //每个协议最多由64个字符组成
  1630. int nProNum;
  1631. char vCommProtocol[100][32];
  1632. }SDK_COMMFUNC;
  1633. /// 云台协议
  1634. typedef struct SDK_PTZPROTOCOLFUNC
  1635. {
  1636. //每个协议最多由64个字符组成
  1637. int nProNum;
  1638. char vPTZProtocol[100][NET_MAX_PTZ_PROTOCOL_LENGTH];
  1639. }SDK_PTZPROTOCOLFUNC;
  1640. /// 区域遮挡能力集
  1641. typedef struct SDK_BlindDetectFunction
  1642. {
  1643. int iBlindConverNum; ///< 区域遮挡块数
  1644. }SDK_BlindDetectFunction;
  1645. /// 动检区域能力集
  1646. typedef struct SDK_MotionDetectFunction
  1647. {
  1648. int iGridRow;
  1649. int iGridColumn;
  1650. }SDK_MotionDetectFunction;
  1651. /// 支持的DDNS类型
  1652. typedef struct SDK_DDNSServiceFunction
  1653. {
  1654. int nTypeNum;
  1655. char vDDNSType[NET_MAX_DDNS_TYPE][64];
  1656. }SDK_DDNSServiceFunction;
  1657. /// 支持语言
  1658. typedef struct SDK_MultiLangFunction
  1659. {
  1660. //每个协议最多由64个字符组成
  1661. int nLangNum;
  1662. char vLanguageName[128][64];
  1663. }SDK_MultiLangFunction;
  1664. /// 支持的视频制式
  1665. typedef struct SDK_MultiVstd
  1666. {
  1667. //每个协议最多由3个字符组成
  1668. int nVstdNum;
  1669. char vVstdName[3][64];
  1670. }SDK_MultiVstd;
  1671. /// 编码功能
  1672. enum SDK_EncodeFunctionTypes
  1673. {
  1674. SDK_ENCODE_FUNCTION_TYPE_DOUBLE_STREAM, ///< 双码流功能
  1675. SDK_ENCODE_FUNCTION_TYPE_COMBINE_STREAM, ///< 组合编码功能
  1676. SDK_ENCODE_FUNCTION_TYPE_SNAP_STREAM, ///< 抓图功能
  1677. SDK_ENCODE_FUNCTION_TYPE_WATER_MARK, ///< 水印功能
  1678. SDK_ENCODE_FUNCTION_TYPE_IFRAME_RANGE, ///< I帧间隔
  1679. SDK_ENCODE_FUNCTION_TYPE_LOW_BITRATE, // 低码流
  1680. SDK_ENCODE_FUNCTION_TYPE_NR,
  1681. };
  1682. /// 报警功能
  1683. enum SDK_AlarmFucntionTypes
  1684. {
  1685. SDK_ALARM_FUNCTION_TYPE_MOTION_DETECT, ///< 动态检测
  1686. SDK_ALARM_FUNCTION_TYPE_BLIND_DETECT, ///< 视屏遮挡
  1687. SDK_ALARM_FUNCTION_TYPE_LOSS_DETECT, ///< 视屏丢失
  1688. SDK_ALARM_FUNCTION_TYPE_LOCAL_ALARM, ///< 本地报警
  1689. SDK_ALARM_FUNCTION_TYPE_NET_ALARM, ///< 网络报警
  1690. SDK_ALARM_FUNCTION_TYPE_IP_CONFLICT, ///< IP地址冲突
  1691. SDK_ALARM_FUNCTION_TYPE_NET_ABORT, ///< 网络异常
  1692. SDK_ALARM_FUNCTION_TYPE_STORAGE_NOTEXIST, ///< 存储设备不存在
  1693. SDK_ALARM_FUNCTION_TYPE_STORAGE_LOWSPACE, ///< 存储设备容量不足
  1694. SDK_ALARM_FUNCTION_TYPE_STORAGE_FAILURE, ///< 存储设备访问失败
  1695. SDK_ALARM_FUNCTION_TYPE_VIDEOANALYSE,///<视频分析
  1696. SDK_ALARM_FUNCTION_TYPE_NET_ABORT_EXTEND, //网络异常扩展
  1697. SDK_ALARM_FUNCTION_TYPE_IPC_ALARM, //IPC报警
  1698. SDK_ALARM_FUNCTION_TYPE_NR
  1699. };
  1700. /// 网络服务功能
  1701. enum SDK_NetServerTypes
  1702. {
  1703. SDK_NET_SERVER_TYPES_IPFILTER, ///< 白黑名单
  1704. SDK_NET_SERVER_TYPES_DHCP, ///< DHCP功能
  1705. SDK_NET_SERVER_TYPES_DDNS, ///< DDNS功能
  1706. SDK_NET_SERVER_TYPES_EMAIL, ///< Email功能
  1707. SDK_NET_SERVER_TYPES_MULTICAST, ///< 多播功能
  1708. SDK_NET_SERVER_TYPES_NTP, ///< NTP功能
  1709. SDK_NET_SERVER_TYPES_PPPOE,
  1710. SDK_NET_SERVER_TYPES_DNS,
  1711. SDK_NET_SERVER_TYPES_ARSP, ///< 主动注册服务
  1712. SDK_NET_SERVER_TYPES_3G, ///< 3G拨号
  1713. SDK_NET_SERVER_TYPES_MOBILE=10, ///< 手机监控
  1714. SDK_NET_SERVER_TYPES_UPNP, ///< UPNP
  1715. SDK_NET_SERVER_TYPES_FTP, ///< FTP
  1716. SDK_NET_SERVER_TYPES_WIFI, ///<WIFI
  1717. SDK_NET_SERVER_TYPES_ALARM_CENTER, ///< 告警中心
  1718. SDK_NET_SERVER_TYPES_NETPLAT_MEGA, ///< 互信互通
  1719. SDK_NET_SERVER_TYPES_NETPLAT_XINWANG, ///< 星望
  1720. SDK_NET_SERVER_TYPES_NETPLAT_SHISOU, ///< 视搜
  1721. SDK_NET_SERVER_TYPES_NETPLAT_VVEYE, ///< 威威眼
  1722. SDK_NET_SERVER_TYPES_RTSP, //RTSP
  1723. SDK_NET_SERVER_TYPES_PHONEMSG=20, //手机信息发送配置
  1724. SDK_NET_SERVER_TYPES_PHONEMULTIMEDIAMSG, //手机信息发送配置
  1725. SDK_NET_SERVER_TYPES_DAS, //主动注册
  1726. SDK_NET_SERVER_TYPES_LOCALSDK_PLATFORM, //网络平台信息设置
  1727. SDK_NET_SERVER_TYPES_GOD_EYE,///<神眼接警中心系统
  1728. SDK_NET_SERVER_TYPES_NAT, ///NAT穿透,MTU配置
  1729. SDK_NET_SERVER_TYPES_VPN, ///VPN
  1730. SDK_NET_SERVER_TYPES_NET_KEYBOARD, ///网络键盘配置
  1731. SDK_NET_SERVER_TYPES_SPVMN, ///28181协议配置
  1732. SDK_NET_SERVER_TYPES_PMS, //手机服务
  1733. SDK_NET_SERVER_TYPE_KAICONG, ///凯聪配置
  1734. SDK_NET_SERVER_TYPE_PROTOCOL_MAC,///支持MAC协议
  1735. SDK_NET_SERVER_TYPE_XMHEARTBEAT, //雄迈心跳
  1736. SDK_NET_SERVER_TYPES_MONITOR_PLATFORM, //神州数码监控平台
  1737. SDK_NET_SERVER_TYPES_ANJUP2P, //
  1738. SDK_NET_SERVER_TYPES_TUTKIOTC, //TUTK IOTC平台
  1739. SDK_NET_SERVER_TYPES_BAIDUCLOUD, //百度云
  1740. SDK_NET_SERVER_TYPES_MOBILWATCH, //手机看店
  1741. SDK_NET_NET_SERVER_TYPES_BJLTHY, //北京龙腾
  1742. SDK_NET_SERVER_TYPES_OPENVPN, //openvpn配置
  1743. SDK_NET_SERVER_TYPES_PROTOCOL_NAT, //支持NAT协议
  1744. SDK_NET_SERVER_TYPES_PLATFORM_GBEYES, //支持环保数据叠加
  1745. SDK_NET_SERVER_TYPES_DATALINK, //DataLink客户网络服务中执行程序使能配置
  1746. SDK_NET_SERVER_TYPES_WIFI_MODE, //是否支持wifi模式相关配置
  1747. SDK_NET_SERVER_TYPES_IPV6, //支持ipv6
  1748. SDK_NET_SERVER_TYPES_PMS_V2, //新版PMS页面
  1749. SDK_NET_SERVER_TYPES_4G, //无线拨号的协议下拉框是否显示4G
  1750. SDK_NET_SERVER_TYPES_NR,
  1751. };
  1752. /// 预览功能
  1753. enum SDK_PreviewTypes
  1754. {
  1755. SDK_PREVIEW_TYPES_TOUR, ///< 轮巡
  1756. SDK_PREVIEW_TYPES_TALK, ///< GUI界面配置
  1757. SDK_PREVIEW_TYPES_NR
  1758. };
  1759. ///串口类型
  1760. enum SDK_CommTypes
  1761. {
  1762. SDK_COMM_TYPES_RS485, ///<485串口
  1763. SDK_COMM_TYPES_RS232, ///<232串口
  1764. SDK_COMM_TYPES_NR
  1765. };
  1766. //输入法限制
  1767. enum SDK_InPutMethod
  1768. {
  1769. SDK_NO_SUPPORT_CHINESE, //不支持中文输入
  1770. SDK_NO_SUPPORT_NR
  1771. };
  1772. //报警中标签显示
  1773. enum SDK_TipShow
  1774. {
  1775. SDK_NO_BEEP_TIP_SHOW, //蜂鸣提示
  1776. SDK_NO_FTP_TIP_SHOW, //FTP提示
  1777. SDK_NO_EMAIL_TIP_SHOW, //EMAIL提示
  1778. SDK_NO_TIP_SHOW_NR
  1779. };
  1780. ///车载功能
  1781. enum SDK_MobileCar
  1782. {
  1783. SDK_MOBILEDVR_STATUS_EXCHANGE,//车辆状态
  1784. SDK_MOBILEDVR_DELAY_SET, //延时设置
  1785. SDK_MOBILEDVR_CARPLATE_SET,
  1786. SDK_MOBILEDVR_GPS_TIMING, //GPS校时
  1787. SDK_MOBILEDVR_DVR_BOOT_TYPE_SET,
  1788. SDK_MOBILEDVR_NR
  1789. };
  1790. ///其他功能
  1791. enum SDK_OtherFunction
  1792. {
  1793. SDK_OTHER_DOWNLOADPAUSE, //录像下载暂停功能
  1794. SDK_OTHER_USB_SUPPORT_RECORD, //USB支持录像功能
  1795. SDK_OTHER_SD_SUPPORT_RECORD, //SD支持录像功能
  1796. SDK_OTHER_ONVIF_CLIENT_SUPPORT, //是否支持ONVIF客户端
  1797. SDK_OTHER_NET_LOCALSEARCH_SUPPORT, //是否支持远程搜索
  1798. SDK_OTHER_MAXPLAYBACK_SUPPORT, //是否支持最大回放通道数显示
  1799. SDK_OTHER_NVR_SUPPORT, //是否是专业NVR
  1800. SDK_OTHER_C7_PLATFORM_SUPPORT,//支持C7平台
  1801. SDK_OTHER_MAIL_TEST_SUPPORT, //支持邮件测试
  1802. SDK_OTHER_SHOW_OSD_INFO, //支持显示3行OSD信息
  1803. SDK_OTHER_HIDE_DIGITAL, //通道模式屏蔽功能
  1804. SDK_OTHER_ACUTANCE_HORIZONTAL, //锐度
  1805. SDK_OTHER_ACUTANCE_VERTIAL,
  1806. SDK_OTHER_BROAD_TRENDS, //宽动态功能
  1807. SDK_OTHER_NO_TALK, //对讲能力
  1808. SDK_OTHER_ALTER_DIGITAL_NAME, //修改数字通道名称
  1809. SDK_OTHER_SHOW_CONNECT_STATUS, //支持显示wifi 3G 主动注册等的连接状态
  1810. SDK_OTHER_SUPPORT_ECACT_SEEK, //支持回放精准定位
  1811. SDK_OTHER_UPLOAD_TITLEANDSTATE, //通道标题和数字通道状态上传能力集
  1812. SDK_OTHER_NO_HDD_RECORD, //无硬盘录像
  1813. SDK_OTHER_MUSICFILE_PLAY, //播放音频文件
  1814. SDK_OTHER_SUPPORT_SET_DIG_IP,//设置前端ip能力
  1815. SDK_OTHER_VERSION_PRODUCT_TYPE,//支持在版本信息里显示设备型号
  1816. SDK_OTHER_SUPPORT_CAMERA_IMG_STYLE,//支持摄像机图像风格
  1817. SDK_OTHER_SUPPORT_TITLE_ABILITY,//支持修改onvif标题
  1818. SDK_OTHER_SUPPORT_DIMEN_CODE,//支持二维码
  1819. SDK_OTHER_SHOWFALSE_CHECKTIME,//屏蔽解码器时间同步功能
  1820. SDK_OTHER_SUPPORT_TIME_ZONE, //时区配置
  1821. SDK_OTHER_SHOW_ALARM_LEVEL_REGION,//显示数字通道报警功能的灵敏度和区域设置
  1822. SDK_OTHER_SUPPORT_POS,//支持POS
  1823. SDK_OTHER_HDD_LOWSPACE_USE_MB,//硬盘空间不足报警下限用MB
  1824. SDK_OTHER_SUPPORT_CUSTOMIZE_OEMINFO,//定制OEM客户版本信息
  1825. SDK_OTHER_DIGITAL_ENCODE,//数字通道编码配置
  1826. SDK_OTHER_RESUME_PTZ_STATE,//开机恢复云台状态
  1827. SDK_OTHER_SUPPORT_SNAP_CFG,//支持抓图配置
  1828. SDK_OTHER_ABNORMITY_SEND_EMAIL,//存储设备存在及存储异常及存储空间不足发邮件
  1829. SDK_OTHER_SUPPORT_DIGITAL_PRE,//支持数字通道预录
  1830. SDK_OTHER_SUPPORT_WRITE_LOG, //报警页面添加是否写日志勾选框
  1831. SDK_OTHER_SUPPORT_CHANGE_ONVIF_PORT,//支持修改onvif端口
  1832. SDK_OTHER_SUPPORT_COMM_DATA_UPLOAD, //支持串口数据上传到指定服务器
  1833. SDK_OTHER_SUPPORT_TEXT_PASSWORD,//记录明文密码
  1834. SDK_OTHER_SUPPORT_CLOUD_UPGRADE, // 支持云升级
  1835. SDK_OTHER_SUPPORT_USE_PROGRAM,//支持启动客户小程序
  1836. SDK_OTHER_SUPPORT_MODIFY_FRONT_CFG,//支持修改前端配置
  1837. SDK_OTHER_SUPPORT_FTP_TEST, //新程序支持FTP支持FTP测试,老程序不支持。
  1838. SDK_OTHER_SUPPORT_PTZ_IDLE_STATE, //云台空闲时执行何种操作的配置
  1839. SDK_OTHER_SUPPORT_IMP_RCD,//web端是否提供关键录像搜索的选项
  1840. SDK_OTHER_SUPPORT_CAMERA_MOTOR_CTRL, //支持机器人马达控制
  1841. SDK_OTHER_SUPPORT_ENCODE_ADD_BEEP,// 视频编码每隔30秒加入beep声
  1842. SDK_OTHER_SUPPORT_FISH_EYE, //鱼眼功能能力集
  1843. SDK_OTHER_SUPPORT_SPVMN_NAS_SERVER, //安徽超清客户的nas服务器配置
  1844. SDK_OTHER_SUPPORT_SMALL_CHN_TITLE_FONT, //IE端传12*18的通道标题点阵
  1845. SDK_OTHER_RTSP_CLIENT_SUPPORT, //数字通道是否支持通过RTSP连接前端设备
  1846. SDK_OTHER_SUPPORT_CFG_CLOUD_UPGRADE, //支持新的云升级功能配置
  1847. SDK_OTHER_SUPPORT_STORAGE_FAIL_REBOOT, //全部硬盘出错后自动重启
  1848. SDK_OTHER_SUPPORT_SPLIT_CONTROL,//支持CMS客户端画面分割
  1849. SDK_OTHER_LOW_LUX_MODE, //微光模式
  1850. SDK_OTHER_SUPPORT_Switch_Resolution, //修改前端数字通道分辨率
  1851. SDK_OTHER_LOW_MOTION, //运动相机慢动作
  1852. SDK_OTHER_NR
  1853. };
  1854. ///支持的系统功能
  1855. typedef struct SDK_SystemFunction
  1856. {
  1857. bool vEncodeFunction[SDK_ENCODE_FUNCTION_TYPE_NR]; ///< 编码功能SDK_EncodeFunctionTypes
  1858. bool vAlarmFunction[SDK_ALARM_FUNCTION_TYPE_NR]; ///< 报警功能AlarmFucntionTypes
  1859. bool vNetServerFunction[SDK_NET_SERVER_TYPES_NR]; ///< 网络服务功能NetServerTypes
  1860. bool vPreviewFunction[SDK_PREVIEW_TYPES_NR]; ///< 预览功能PreviewTypes
  1861. bool vCommFunction[SDK_COMM_TYPES_NR]; ///<串口类型SDK_CommTypes
  1862. bool vInputMethodFunction[SDK_NO_SUPPORT_NR]; //<输入法限制SDK_InPutMethod>
  1863. bool vTipShowFunction[SDK_NO_TIP_SHOW_NR]; //报警标签显示SDK_TipShow>
  1864. bool vMobileCarFunction[SDK_MOBILEDVR_NR];//车载功能
  1865. bool vOtherFunction[SDK_OTHER_NR]; //其他功能OtherFunction
  1866. }SDK_SystemFunction;
  1867. typedef struct SDK_COMMATTRI
  1868. {
  1869. int iDataBits; // 数据位取值为5,6,7,8
  1870. int iStopBits; // 停止位
  1871. int iParity; // 校验位
  1872. int iBaudRate; // 实际波特率
  1873. }SDK_COMMATTRI;
  1874. // 串口配置
  1875. typedef struct SDK_CONFIG_COMM_X
  1876. {
  1877. char iProtocolName[32]; // 串口协议:“Console”
  1878. int iPortNo; // 端口号
  1879. SDK_COMMATTRI aCommAttri; // 串口属性
  1880. }SDK_CONFIG_COMM_X;
  1881. typedef struct SDK_CommConfigAll
  1882. {
  1883. SDK_CONFIG_COMM_X vCommConfig[SDK_COM_TYPES];
  1884. }SDK_CommConfigAll;
  1885. // 云台设置
  1886. typedef struct SDK_STR_CONFIG_PTZ
  1887. {
  1888. char sProtocolName[NET_MAX_PTZ_PROTOCOL_LENGTH]; // 协议名称
  1889. int ideviceNo; // 云台设备地址编号
  1890. int iNumberInMatrixs; // 在矩阵中的统一编号
  1891. int iPortNo; // 串口端口号 [1, 4]
  1892. SDK_COMMATTRI dstComm; // 串口属性
  1893. }SDK_STR_CONFIG_PTZ;
  1894. //所有通道云台协议
  1895. typedef struct SDK_STR_PTZCONFIG_ALL
  1896. {
  1897. SDK_STR_CONFIG_PTZ ptzAll[NET_MAX_CHANNUM];
  1898. }SDK_STR_PTZCONFIG_ALL;
  1899. //RS485
  1900. typedef struct SDK_STR_RS485CONFIG_ALL
  1901. {
  1902. SDK_STR_CONFIG_PTZ ptzAll[NET_MAX_CHANNUM];
  1903. }SDK_STR_RS485CONFIG_ALL;
  1904. typedef struct SDK_CONFIG_WORKSHEET
  1905. {
  1906. SDK_TIMESECTION tsSchedule[NET_N_WEEKS][NET_N_TSECT]; /*!< 时间段 */
  1907. }SDK_CONFIG_WORKSHEET;
  1908. /// 录像模式种类
  1909. enum SDK_RecordModeTypes
  1910. {
  1911. SDK_RECORD_MODE_CLOSED, ///< 关闭录像
  1912. SDK_RECORD_MODE_MANUAL, ///< 手动录像
  1913. SDK_RECORD_MODE_CONFIG, ///< 按配置录像
  1914. SDK_RECORD_MODE_NR,
  1915. };
  1916. ///< 录像设置
  1917. typedef struct SDK_RECORDCONFIG
  1918. {
  1919. int iPreRecord; ///< 预录时间,为零时表示关闭
  1920. bool bRedundancy; ///< 冗余开关
  1921. bool bSnapShot; ///< 快照开关
  1922. int iPacketLength; ///< 录像打包长度(分钟)[1, 255]
  1923. int iRecordMode; ///< 录像模式,0 关闭,1 禁止 2 配置
  1924. SDK_CONFIG_WORKSHEET wcWorkSheet; ///< 录像时间段
  1925. unsigned int typeMask[NET_N_WEEKS][NET_N_TSECT]; ///< 录像类型掩码
  1926. }SDK_RECORDCONFIG;
  1927. //录像设置结构体
  1928. typedef struct SDK_RECORDCONFIG_ALL
  1929. {
  1930. SDK_RECORDCONFIG vRecordConfigAll[NET_MAX_CHANNUM+NET_MAX_CHANNUM];
  1931. }SDK_RECORDCONFIG_ALL;
  1932. ///< 图片设置
  1933. typedef struct SDK_SnapshotConfig
  1934. {
  1935. int iPreSnap; ///< 预抓图片数
  1936. bool bRedundancy; ///< 冗余开关
  1937. int iSnapMode; ///< 录像模式,见RecordModeTypes
  1938. SDK_CONFIG_WORKSHEET wcWorkSheet; ///< 录像时间段
  1939. unsigned int typeMask[NET_N_WEEKS][NET_N_TSECT]; ///< 录像类型掩码,见enum RecordTypes
  1940. }SDK_SnapshotConfig;
  1941. typedef struct SDK_SnapshotConfigAll
  1942. {
  1943. SDK_SnapshotConfig vSnapshotConfigAll[NET_MAX_CHANNUM];
  1944. }SDK_SnapshotConfigAll;
  1945. //报警相关结构体
  1946. // 云台联动结构
  1947. typedef struct SDK_PtzLinkConfig
  1948. {
  1949. int iType; // 联动的类型
  1950. int iValue; // 联动的类型对应的值
  1951. }SDK_PtzLinkConfig;
  1952. #define CHANNELNAME_MAX_LEN 64 //通道名称最大长度
  1953. typedef struct SDK_EventHandler
  1954. {
  1955. unsigned int dwRecord; // 录象掩码
  1956. int iRecordLatch; // 录像延时:10?300 sec
  1957. unsigned int dwTour; // 轮巡掩码
  1958. unsigned int dwSnapShot; // 抓图掩码
  1959. unsigned int dwAlarmOut; // 报警输出通道掩码
  1960. unsigned int dwMatrix; // 矩阵掩码
  1961. int iEventLatch; // 联动开始延时时间,s为单位
  1962. int iAOLatch; // 报警输出延时:10?300 sec
  1963. SDK_PtzLinkConfig PtzLink[NET_MAX_CHANNUM]; // 云台联动项
  1964. SDK_CONFIG_WORKSHEET schedule; // 录像时间段
  1965. bool bRecordEn; // 录像使能
  1966. bool bTourEn; // 轮巡使能
  1967. bool bSnapEn; // 抓图使能
  1968. bool bAlarmOutEn; // 报警使能
  1969. bool bPtzEn;
  1970. // 云台联动使能
  1971. bool bTip; // 屏幕提示使能
  1972. bool bMail; // 发送邮件
  1973. bool bMessage; // 发送消息到报警中心
  1974. bool bBeep; // 蜂鸣
  1975. bool bVoice; // 语音提示
  1976. bool bFTP; // 启动FTP传输
  1977. bool bMatrixEn; // 矩阵使能
  1978. bool bLog; // 日志使能
  1979. bool bMessagetoNet; // 消息上传给网络使能
  1980. bool bShowInfo; // 是否在GUI上和编码里显示报警信息
  1981. unsigned int dwShowInfoMask; // 要联动显示报警信息的通道掩码
  1982. char pAlarmInfo[CHANNELNAME_MAX_LEN];//要显示的报警信息
  1983. bool bShortMsg; //发送短信
  1984. bool bMultimediaMsg; //发送彩信
  1985. }SDK_EventHandler;
  1986. enum SDK_ANALYSE_MODE
  1987. {
  1988. SDK_ANALYSE_TRIPWIRE = 0, //单绊线
  1989. SDK_ANALYSE_PERIMETER //周界检测
  1990. };
  1991. /** 周界检测模式 */
  1992. enum SDK_URP_PERIMETER_MODE_E
  1993. {
  1994. SDK_URP_PMODE_INTRUSION = 0, /**< 入侵 */
  1995. SDK_URP_PMODE_ENTER, /**< 进入 */
  1996. SDK_URP_PMODE_EXIT /**< 离开 */
  1997. };
  1998. /** 最大边界点数 */
  1999. #define SDK_MAX_BOUNDARY_POINT_NUM 8
  2000. #define SDK_MAX_POINT_NUM 4
  2001. #define SDK_NAME_BUF_SIZE 16
  2002. /** 坐标点 */
  2003. typedef struct URP_SDK_POINT_S
  2004. {
  2005. short X; /**< x */
  2006. short Y; /**< y */
  2007. }URP_SDK_POINT_S;
  2008. /** 线结构 */
  2009. typedef struct SDK_URP_LINE_S
  2010. {
  2011. URP_SDK_POINT_S stStartPt; /**< 线段起点 */
  2012. URP_SDK_POINT_S stEndPt; /**< 线段终点 */
  2013. }SDK_URP_LINE_S;
  2014. typedef struct SDK_URP_POLYGON_REGION_S
  2015. {
  2016. int iValid;
  2017. int iPointNum;
  2018. URP_SDK_POINT_S astPoint[SDK_MAX_BOUNDARY_POINT_NUM];
  2019. }SDK_URP_POLYGON_REGION_S;
  2020. /** URP周界检测边界点 */
  2021. typedef struct SDK_URP_PERIMETER_LIMIT_BOUNDARY_S
  2022. {
  2023. int iBoundaryPtNum; /**< 边界点数目 */
  2024. URP_SDK_POINT_S astBoundaryPts[SDK_MAX_BOUNDARY_POINT_NUM]; /**< 边界点集合 */
  2025. }SDK_URP_PERIMETER_LIMIT_BOUNDARY_S;
  2026. /** URP周界检测限制参数 */
  2027. typedef struct SDK_URP_PERIMETER_LIMIT_PARA_S
  2028. {
  2029. int iMinDist; /**< 最小像素距离 */
  2030. int iMinTime; /**< 最短时间 */
  2031. int iDirectionLimit; /**< 是否做方向限制 */
  2032. int iForbiddenDirection; /**< 禁止方向角度(单位: 角度) */
  2033. SDK_URP_PERIMETER_LIMIT_BOUNDARY_S stBoundary; /**< 周界边界区域 */
  2034. }SDK_URP_PERIMETER_LIMIT_PARA_S;
  2035. /** URP周界检测规则参数 */
  2036. typedef struct SDK_URP_PERIMETER_RULE_PARA_S
  2037. {
  2038. int iTypeLimit; /**< 目标类型限制 */
  2039. int iTypeHuman; /**< 目标类别:人(限定类型时使用) */
  2040. int iTypeVehicle; /**< 目标类别:车 */
  2041. int iMode; /**< 周界模式 */
  2042. SDK_URP_PERIMETER_LIMIT_PARA_S stLimitPara; /**< 周界限制参数 */
  2043. }SDK_URP_PERIMETER_RULE_PARA_S;
  2044. // ----------------------------------------------------------------------
  2045. // 绊线数据结构
  2046. /** URP单绊线最多条数 */
  2047. #define SDK_URP_MAX_TRIPWIRE_CNT 8
  2048. /** URP单绊线结构 */
  2049. typedef struct SDK_URP_TRIPWIRE_S
  2050. {
  2051. int iValid; /**< 是否有效 */
  2052. int iIsDoubleDirection; /**< 表示该绊线是否为双向绊线(0: 否, 1: 是) */
  2053. int iForbiddenDirection; /**< 单绊线禁止方向*/
  2054. SDK_URP_LINE_S stLine; /**< 单绊线位置 */
  2055. }SDK_URP_TRIPWIRE_S;
  2056. /** URP单绊线限制参数 */
  2057. typedef struct SDK_URP_TRIPWIRE_LIMIT_PARA_S
  2058. {
  2059. int iMinDist; /**< 最小像素距离 */
  2060. int iMinTime; /**< 最短时间 */
  2061. }SDK_URP_TRIPWIRE_LIMIT_PARA_S;
  2062. /** URP单绊线规则参数 */
  2063. typedef struct SDK_URP_TRIPWIRE_RULE_PARA_S
  2064. {
  2065. int iTypeLimit; /**< 目标类型限制 */
  2066. int iTypeHuman; /**< 目标类别:人(限定类型时使用) */
  2067. int iTypeVehicle; /**< 目标类别:车 */
  2068. SDK_URP_TRIPWIRE_S astLines[SDK_URP_MAX_TRIPWIRE_CNT]; /**< 单绊线 */
  2069. SDK_URP_TRIPWIRE_LIMIT_PARA_S stLimitPara; /**< 单绊线限制参数 */
  2070. }SDK_URP_TRIPWIRE_RULE_PARA_S;
  2071. /** URP目标输出灵敏度级别 */
  2072. enum SDK_SENSITIVITY_LEVEL_E
  2073. {
  2074. SDK_HIGH_LEVEL_SENSITIVITY, /**< 高灵敏度 */
  2075. SDK_MIDDLE_LEVEL_SENSITIVITY, /**< 中灵敏度 */
  2076. SDK_LOW_LEVEL_SENSITIVITY /**< 低灵敏度 */
  2077. };
  2078. /** 算法模块 */
  2079. enum SDK_MODULE_TYPE
  2080. {
  2081. SDK_MODULE_TYPE_PEA = 0,
  2082. SDK_MODULE_TYPE_OSC,
  2083. SDK_MODULE_TYPE_AVD,
  2084. SDK_MODULE_TYPE_ALL
  2085. };
  2086. // ----------------------------------------------------------------------
  2087. // 下面开始是自定义结构
  2088. typedef struct SDK_PEA_RULE_S
  2089. {
  2090. int iShowTrack; /// 是否显示轨迹
  2091. int iShowRule; /// 是否显示规则
  2092. int iLevel; /// 警戒级别(灵敏度)0:高级(默认值);1:中级;2:低级;
  2093. int iPerimeterEnable; /// 周界规则使能
  2094. SDK_URP_PERIMETER_RULE_PARA_S stPerimeterRulePara; /**< 周界检测 */
  2095. int iTripWireEnable; /// 单绊线规则使能
  2096. SDK_URP_TRIPWIRE_RULE_PARA_S stTripwireRulePara; /**< 单绊线检测 */
  2097. }SDK_PEA_RULE_S;
  2098. /// 算法能力结构
  2099. typedef struct SDK_CAPS /// 置1表示该通道支持对应的智能算法,置0表示不支持。
  2100. {
  2101. int dwPEA;
  2102. int dwAVD;
  2103. int dwVFD;
  2104. int dwAAI;
  2105. int dwOSC;
  2106. int iResv[3];
  2107. }SDK_CAPS;
  2108. typedef struct SDK_PEA_STATUS_S
  2109. {
  2110. int dwPerimeter; /// 入侵检测状态,包括了伴线和周界,,uint值是各个报警输入通道报警状态的掩码。
  2111. /// 低通道在低位,高通道在高位。报警置1,无报警置0,不存在的通道置0。
  2112. int iResv[4];
  2113. int avdStatue;
  2114. }SDK_PEA_STATUS_S;
  2115. //物品遗留-begin
  2116. #define NET_MAX_OSC_NUM 4
  2117. #define NET_MAX_POINT_NUM 4
  2118. #define NET_NAME_BUF_SIZE 16
  2119. typedef struct SDK_URP_OSC_SPECL_REGIONS_S
  2120. {
  2121. int nValid; //是否有效
  2122. char chName[NET_NAME_BUF_SIZE]; //区域名称
  2123. SDK_URP_POLYGON_REGION_S stOscRg; //要检测区域定义
  2124. SDK_URP_POLYGON_REGION_S astSubRgA; //检测区域中的无效子区域
  2125. SDK_URP_POLYGON_REGION_S astSubRgB; //检测区域中的无效子区域
  2126. SDK_URP_POLYGON_REGION_S astSubRgC; //检测区域中的无效子区域
  2127. }SDK_URP_OSC_SPECL_REGIONS_S;
  2128. typedef struct SDK_URP_OSC_LMT_PARA_S
  2129. {
  2130. int nTimeMin; //时间约束
  2131. int nSizeMin; //最小尺寸
  2132. int nSizeMax; //最大尺寸
  2133. }SDK_URP_OSC_LMT_PARA_S;
  2134. typedef struct SDK_URP_OSC_RULE_PARA_S
  2135. {
  2136. int nSceneType; //场景类型
  2137. int nCameraType; //相机类型
  2138. SDK_URP_OSC_SPECL_REGIONS_S astSpclRgs[NET_MAX_OSC_NUM]; //要处理的区域个数
  2139. SDK_URP_OSC_LMT_PARA_S stOscPara; //一些约束
  2140. }SDK_URP_OSC_RULE_PARA_S;
  2141. typedef struct SDK_OSC_RULE_S
  2142. {
  2143. int iShowTrack; /// 是否显示轨迹
  2144. int iShowRule; /// 是否显示规则
  2145. int iLevel; /// 警戒级别0:非警报(默认值);1:低级;2:中级;3: 高级
  2146. int iAbandumEnable; /// 物品遗留使能
  2147. SDK_URP_OSC_RULE_PARA_S stObjAbandumRulePara; /// 物品遗留参数
  2148. int iStolenEnable; /// 物品被盗使能
  2149. SDK_URP_OSC_RULE_PARA_S stObjStolenRulePara; /// 物品被盗参数
  2150. int iNoParkingEnable; /// 非法停车使能
  2151. SDK_URP_OSC_RULE_PARA_S stNoParkingRulePara; /// 非法停车参数
  2152. }SDK_OSC_RULE_S;
  2153. typedef struct SDK_AVD_RULE_S
  2154. {
  2155. int iLevel; /// 灵敏度档位,1-5档,数值越大越灵敏越易报警
  2156. int itBrightAbnmlEnable; ///< 亮度异常使能
  2157. int iClarityEnable; ///< 清晰度检测使能
  2158. int iNoiseEnable; ///< 噪声检测使能
  2159. int iColorEnable; ///< 偏色检测使能
  2160. int iFreezeEnable; ///< 画面冻结检测使能
  2161. int iNosignalEnable; ///< 信号缺失检测使能
  2162. int iChangeEnable; ///< 场景变换检测使能
  2163. int iInterfereEnable; ///< 人为干扰检测使能
  2164. int iPtzLoseCtlEnable; ///< PTZ失控检测使能
  2165. }SDK_AVD_RULE_S;
  2166. /** 坐标点 */
  2167. typedef struct SDK_URP_IMP_POINT_S
  2168. {
  2169. short s16X; /**< x */
  2170. short s16Y; /**< y */
  2171. }SDK_URP_IMP_POINT_S;
  2172. typedef struct SDK_CPC_RULE_S
  2173. {
  2174. SDK_URP_IMP_POINT_S stRulePoint[4]; ///检测规则,需要画满4个点
  2175. int s32Sizemin; ///最小像距(0,height/2)
  2176. int s32Sizemax; ///最大像距(sizemin, height/2)
  2177. int s32Countmax; ///最大目标数[1~15],
  2178. int s32Sensitivity; /// 灵敏度档位,1-5档,数值越大越灵敏越易报警
  2179. unsigned int u32Flag; ///标志位,用来判断进出,默认设0
  2180. int s32EnterDirection; ///进入的方向
  2181. }SDK_CPC_RULE_S;
  2182. //各种算法的规则配置集合
  2183. typedef struct SDK_RULECONFIG
  2184. {
  2185. SDK_PEA_RULE_S stRulePea; //周界检测与绊线配置
  2186. SDK_OSC_RULE_S stRuleOSC; //物品盗移、滞留,非法停车配置
  2187. SDK_AVD_RULE_S stRuleAVD;//异常视频信号诊断配置
  2188. SDK_CPC_RULE_S stRuleCPC; //人头计数算法配置
  2189. }SDK_RULECONFIG;
  2190. //一个通道的智能分析配置
  2191. typedef struct SDK_ANALYSECONFIG
  2192. {
  2193. bool bEnable; //是否启用视频分析功能
  2194. int moduleType; //使用的那种算法模块
  2195. SDK_EventHandler hEvent; //联动事件
  2196. SDK_RULECONFIG stRuleConfig; //各种算法的规则配置
  2197. }SDK_ANALYSECONFIG;
  2198. //所有通道的智能分析配置
  2199. typedef struct SDK_ANALYSECONFIG_ALL
  2200. {
  2201. SDK_ANALYSECONFIG vAnalyzeAll[NET_MAX_CHANNUM];
  2202. }SDK_ANALYSECONFIG_ALL;
  2203. //智能分析能力
  2204. typedef struct SDK_ANALYZEABILITY
  2205. {
  2206. UINT uIntelPEA; //智能PEA支持,位对应通道
  2207. UINT uAlgorithmPEA;//PEA支持的算法类型,例如拌线
  2208. UINT uIntelOSC; //智能OSC支持,位对应通道
  2209. UINT uAlgorithmOSC;//OSC支持的算法类型
  2210. UINT uIntelAVD; //智能AVD支持,位对应通道
  2211. UINT uAlgorithmAVD;//AVD支持的算法类型
  2212. UINT uIntelCPC; //人流量记数支持,位对应通道
  2213. UINT uAlgorithmCPC;//CPC支持的算法类型
  2214. }SDK_ANALYZEABILITY;
  2215. ///< 动态检测设置
  2216. typedef struct SDK_MOTIONCONFIG
  2217. {
  2218. bool bEnable; // 动态检测开启
  2219. int iLevel; // 灵敏度
  2220. unsigned int mRegion[NET_MD_REGION_ROW]; // 区域,每一行使用一个二进制串
  2221. SDK_EventHandler hEvent; // 动态检测联动
  2222. }SDK_MOTIONCONFIG;
  2223. /// 全通道动态检测配置
  2224. typedef struct SDK_MOTIONCONFIG_ALL
  2225. {
  2226. SDK_MOTIONCONFIG vMotionDetectAll[NET_MAX_CHANNUM];
  2227. }SDK_MOTIONCONFIG_ALL;
  2228. ///< 遮挡检测配置
  2229. typedef struct SDK_BLINDDETECTCONFIG
  2230. {
  2231. bool bEnable; ///< 遮挡检测开启
  2232. int iLevel; ///< 灵敏度:1?6
  2233. SDK_EventHandler hEvent; ///< 遮挡检测联动
  2234. }SDK_BLINDDETECTCONFIG;
  2235. /// 全通道遮挡检测配置
  2236. typedef struct SDK_BLINDDETECTCONFIG_ALL
  2237. {
  2238. SDK_BLINDDETECTCONFIG vBlindDetectAll[NET_MAX_CHANNUM];
  2239. }SDK_BLINDDETECTCONFIG_ALL;
  2240. ///< 基本事件结构
  2241. typedef struct SDK_VIDEOLOSSCONFIG
  2242. {
  2243. bool bEnable; ///< 使能
  2244. SDK_EventHandler hEvent; ///< 处理参数
  2245. }SDK_VIDEOLOSSCONFIG;
  2246. /// 所有通道的基本时间结构
  2247. typedef struct SDK_VIDEOLOSSCONFIG_ALL
  2248. {
  2249. SDK_VIDEOLOSSCONFIG vGenericEventConfig[NET_MAX_CHANNUM];
  2250. }SDK_VIDEOLOSSCONFIG_ALL;
  2251. ///< 报警输入配置
  2252. typedef struct SDK_ALARM_INPUTCONFIG
  2253. {
  2254. bool bEnable; ///< 报警输入开关
  2255. int iSensorType; ///< 传感器类型常开 or 常闭
  2256. SDK_EventHandler hEvent; ///< 报警联动
  2257. }SDK_ALARM_INPUTCONFIG;
  2258. ///< 所有通道的报警输入配置
  2259. typedef struct SDK_ALARM_INPUTCONFIG_ALL
  2260. {
  2261. SDK_ALARM_INPUTCONFIG vAlarmConfigAll[NET_MAX_CHANNUM];
  2262. }SDK_ALARM_INPUTCONFIG_ALL;
  2263. ///< 网路报警
  2264. typedef struct SDK_NETALARMCONFIG
  2265. {
  2266. bool bEnable; ///< 使能
  2267. SDK_EventHandler hEvent; ///< 处理参数
  2268. }SDK_NETALARMCONFIG;
  2269. /// 所有通道的网路报警结构
  2270. typedef struct SDK_NETALARMCONFIG_ALL
  2271. {
  2272. SDK_NETALARMCONFIG vNetAlarmConfig[NET_MAX_CHANNUM];
  2273. }SDK_NETALARMCONFIG_ALL;
  2274. ///< 本地报警输出配置
  2275. typedef struct SDK_AlarmOutConfig
  2276. {
  2277. int nAlarmOutType; ///< 报警输出类型: 配置,手动,关闭
  2278. int nAlarmOutStatus; ///< 报警状态: 0:打开 1;闭合
  2279. }SDK_AlarmOutConfig;
  2280. //< 硬盘容量不足事件剩余容量类型
  2281. enum SDK_StorageLowSpaceType
  2282. {
  2283. SDK_PERSENT = 0,
  2284. SDK_MB,
  2285. SDK_GB,
  2286. };
  2287. ///< 硬盘容量不足事件结构
  2288. typedef struct SDK_StorageLowSpaceConfig
  2289. {
  2290. bool bEnable;
  2291. int iLowerLimit; ///< 硬盘剩余容量下限, 百分数
  2292. SDK_EventHandler hEvent; ///< 处理参数
  2293. bool bRecordTimeEnable;
  2294. int iRecordTime; ///<录像天数
  2295. int iLowerLimitSpace; ///< 硬盘剩余容量MB或者GB为单位
  2296. int EnableType; ///< 0为用百分比,1为用MB,见枚举StorageLowSpaceType
  2297. }SDK_StorageLowSpaceConfig;
  2298. ///< 所有通道的报警输出配置
  2299. typedef struct SDK_AlarmOutConfigAll
  2300. {
  2301. SDK_AlarmOutConfig vAlarmOutConfigAll[NET_MAX_CHANNUM];
  2302. }SDK_AlarmOutConfigAll;
  2303. /// 所有通道的解码器地址设置V2版本
  2304. typedef struct SDK_AbilitySerialNo
  2305. {
  2306. char serialNo[NET_MAX_SERIALNO_LENGTH];
  2307. char productType[NET_MAX_SERIALNO_LENGTH];
  2308. }SDK_AbilitySerialNo;
  2309. ///< 驱动器信息结构
  2310. typedef struct SDK_DriverInformation
  2311. {
  2312. int iDriverType; ///< 驱动器类型
  2313. bool bIsCurrent; ///< 是否为当前工作盘
  2314. unsigned int uiTotalSpace; ///< 总容量,MB为单位
  2315. unsigned int uiRemainSpace; ///< 剩余容量,MB为单位
  2316. int iStatus; ///< 错误标志,文件系统初始化时被设置
  2317. int iLogicSerialNo; ///< 逻辑序号
  2318. SDK_SYSTEM_TIME tmStartTimeNew; ///< 新录像时间段的开始时间
  2319. SDK_SYSTEM_TIME tmEndTimeNew; ///< 新录像时间段的结束时间
  2320. SDK_SYSTEM_TIME tmStartTimeOld; ///< 老录像时间段的开始时间
  2321. SDK_SYSTEM_TIME tmEndTimeOld; ///< 老录像时间段的结束时间
  2322. }SDK_DriverInformation;
  2323. enum
  2324. {
  2325. SDK_MAX_DRIVER_PER_DISK = 4, ///< 每个磁盘最多的分区数
  2326. SDK_MAX_DISK_PER_MACHINE = 8, ///< 最多支持8块硬盘
  2327. };
  2328. //硬盘管理
  2329. typedef struct SDK_STORAGEDISK
  2330. {
  2331. int iPhysicalNo;
  2332. int iPartNumber; // 分区数
  2333. SDK_DriverInformation diPartitions[SDK_MAX_DRIVER_PER_DISK];
  2334. }SDK_STORAGEDISK;
  2335. typedef struct SDK_StorageDeviceInformationAll
  2336. {
  2337. int iDiskNumber;
  2338. SDK_STORAGEDISK vStorageDeviceInfoAll[SDK_MAX_DISK_PER_MACHINE];
  2339. }SDK_StorageDeviceInformationAll;
  2340. /// 存储设备控制类型
  2341. enum SDK_StorageDeviceControlTypes
  2342. {
  2343. SDK_STORAGE_DEVICE_CONTROL_SETTYPE, ///< 设置类型
  2344. SDK_STORAGE_DEVICE_CONTROL_RECOVER, ///< 恢复错误
  2345. SDK_STORAGE_DEVICE_CONTROL_PARTITIONS, ///< 分区操作
  2346. SDK_STORAGE_DEVICE_CONTROL_CLEAR, ///< 清除操作
  2347. SDK_STORAGE_DEVICE_CONTROL_NR,
  2348. };
  2349. /// 清除磁盘数据类型
  2350. enum SDK_StorageDeviceClearTypes
  2351. {
  2352. SDK_STORAGE_DEVICE_CLEAR_DATA, ///< 清除录像数据
  2353. SDK_STORAGE_DEVICE_CLEAR_PARTITIONS, ///< 清除分区
  2354. SDK_STORAGE_DEVICE_CLEAR_NR,
  2355. };
  2356. /// 驱动器类型
  2357. enum SDK_FileSystemDriverTypes
  2358. {
  2359. SDK_DRIVER_READ_WRITE = 0, ///< 读写驱动器
  2360. SDK_DRIVER_READ_ONLY = 1, ///< 只读驱动器
  2361. SDK_DRIVER_EVENTS = 2, ///< 事件驱动器
  2362. SDK_DRIVER_REDUNDANT = 3, ///< 冗余驱动器
  2363. SDK_DRIVER_SNAPSHOT = 4, ///< 快照驱动器
  2364. SDK_DRIVER_TYPE_NR = 5, ///< 驱动器类型个数
  2365. SDK_DRIVER_UNUSED = 0xff, ///< 没有使用的驱动器结构
  2366. };
  2367. /// 存储设备控制
  2368. typedef struct SDK_StorageDeviceControl
  2369. {
  2370. int iAction; ///< 见enum SDK_StorageDeviceControlTypes
  2371. int iSerialNo; ///< 磁盘序列号
  2372. int iPartNo; ///< 分区号
  2373. int iType; ///< enum SDK_StorageDeviceClearTypes或者SDK_FileSystemDriverTypes
  2374. int iPartSize[4/*MAX_DRIVER_PER_DISK*/]; ///< 各个分区的大小
  2375. }SDK_StorageDeviceControl;
  2376. /// 设备类型
  2377. typedef enum SDK_DeviceType
  2378. {
  2379. SDK_DEVICE_TYPE_DVR, ///< 普通DVR设备
  2380. SDK_DEVICE_TYPE_NVS, ///< NVS设备
  2381. SDK_DEVICE_TYPE_IPC, ///< IPC设备
  2382. SDK_DEVICE_TYPE_HVR, ///<混合dvr
  2383. SDK_DEVICE_TYPE_IVR, ///<智能dvr
  2384. SDK_DEVICE_TYPE_MVR, ///<车载dvr
  2385. SDK_DEVICE_TYPE_NR
  2386. }SDK_DeviceType;
  2387. /// 设备信息
  2388. typedef struct _H264_DVR_DEVICEINFO
  2389. {
  2390. char sSoftWareVersion[64]; ///< 软件版本信息
  2391. char sHardWareVersion[64]; ///< 硬件版本信息
  2392. char sEncryptVersion[64]; ///< 加密版本信息
  2393. SDK_SYSTEM_TIME tmBuildTime;///< 软件创建时间
  2394. char sSerialNumber[64]; ///< 设备序列号
  2395. int byChanNum; ///< 视频输入通道数
  2396. int iVideoOutChannel; ///< 视频输出通道数
  2397. int byAlarmInPortNum; ///< 报警输入通道数
  2398. int byAlarmOutPortNum; ///< 报警输出通道数
  2399. int iTalkInChannel; ///< 对讲输入通道数
  2400. int iTalkOutChannel; ///< 对讲输出通道数
  2401. int iExtraChannel; ///< 扩展通道数
  2402. int iAudioInChannel; ///< 音频输入通道数
  2403. int iCombineSwitch; ///< 组合编码通道分割模式是否支持切换
  2404. int iDigChannel; ///<数字通道数
  2405. unsigned int uiDeviceRunTime; ///<系统运行时间
  2406. SDK_DeviceType deviceTye; ///设备类型
  2407. char sHardWare[64]; ///<设备型号
  2408. char uUpdataTime[20]; ///<更新日期 例如 2013-09-03 14:15:13
  2409. unsigned int uUpdataType; ///<更新内容
  2410. int nLanguage;//国家的语言ID,0:英文/ 1:中文
  2411. char sCloudErrCode[NET_MAX_PATH_LENGTH];//云登陆具体错误内容
  2412. int status[32];
  2413. //判断新过来的连接是不是通过代理转发的,如果是那么按照服务器
  2414. //返回的限制条件来限制。
  2415. //status[0] 路数限制:0代表不限制, n代表限制n路
  2416. //status[1]码流限制。0 :不限制。1限制不能观看主码流。
  2417. //status[2]限制时间。0:不限制。n:限制n分钟。
  2418. //status[3]限制码率,目前分为四档。0:不限制。1:限制为CIF 6帧 100K ,后续待定
  2419. //status[4]保留位,后续扩充。
  2420. //其中status[0]和status[1]在此处体现。
  2421. //status[2]和status[3]在传输码流的过程中体现
  2422. }H264_DVR_DEVICEINFO,*LPH264_DVR_DEVICEINFO;
  2423. //主动服务回调数据
  2424. typedef struct H264_DVR_ACTIVEREG_INFO
  2425. {
  2426. char deviceSarialID[64];//设备序列号,如果大于64位则赋值0
  2427. H264_DVR_DEVICEINFO deviceInfo;//设备信息
  2428. char IP[IP_SIZE]; //外网IP
  2429. }H264_DVR_ACTIVEREG_INFO;
  2430. ///< 自动维护设置
  2431. typedef struct SDK_AutoMaintainConfig
  2432. {
  2433. int iAutoRebootDay; ///< 自动重启设置日期
  2434. int iAutoRebootHour; ///< 重启整点时间 [0, 23]
  2435. int iAutoDeleteFilesDays; ///< 自动删除文件时间[0, 30]
  2436. }SDK_AutoMaintainConfig;
  2437. /// 默认配置种类
  2438. enum SDK_DefaultConfigKinds
  2439. {
  2440. SDK_DEFAULT_CFG_GENERAL, // 普通配置
  2441. SDK_DEFAULT_CFG_ENCODE, // 编码配置
  2442. SDK_DEFAULT_CFG_RECORD, // 录像配置
  2443. SDK_DEFAULT_CFG_NET_SERVICE, // 网络服务
  2444. SDK_DEFAULT_CFG_NET_COMMON, // 通用网络
  2445. SDK_DEFAULT_CFG_ALARM, // 报警
  2446. SDK_DEFAULT_CFG_PTZCOMM, // 云台,串口
  2447. SDK_DEFAULT_CFG_USERMANAGER, // 用户管理
  2448. SDK_DEFAULT_CFG_PREVIEW, // 预览配置
  2449. SDK_DEFAULT_CFG_CAMERA_PARAM, // 网络摄像头配置
  2450. SDK_DEFAULT_CFG_END,
  2451. };
  2452. /// 恢复的默认配置种类
  2453. typedef struct SDK_SetDefaultConfigTypes
  2454. {
  2455. bool vSetDefaultKinds[SDK_DEFAULT_CFG_END];
  2456. }SDK_SetDefaultConfigTypes;
  2457. typedef struct H264_DVR_CLIENTINFO{
  2458. int nChannel; //通道号
  2459. int nStream; //0表示主码流,为1表示子码流
  2460. int nMode; //0:TCP方式,1:UDP方式,2:多播方式,3 - RTP方式,4-音视频分开(TCP)
  2461. int nComType; //只对组合编码通道有效, 组合编码通道的拼图模式
  2462. void* hWnd;
  2463. #ifndef OS_IOS
  2464. H264_DVR_CLIENTINFO()
  2465. {
  2466. hWnd=0;
  2467. }
  2468. #endif
  2469. }*LPH264_DVR_CLIENTINFO;
  2470. // 媒体查询类型(Media Search Type)
  2471. typedef enum EMSType
  2472. {
  2473. EMSType_none = 0, // 未指定;兼容原类型定义SDK_File_Type
  2474. EMSType_h264 = 1, // 录像(h264)
  2475. EMSType_jpg = 2, // 图片 (jpg)
  2476. EMSType_mp4 = 3, // MP4录像 (mp4)
  2477. EMSType_idximg = 4, // 索引图片 (idximg)
  2478. }EMSType;
  2479. // 媒体查询子类型(Media Search SubType)
  2480. typedef enum EMSSubType
  2481. {
  2482. EMSSubType_ALL = 0x3FFFFFF,
  2483. EMSSubType_ALERT = 0, // 外部报警录像/图片('A')
  2484. EMSSubType_DYNAMIC = 12, // 视频侦测录像/图片('M')
  2485. EMSSubType_HAND = 7, // 手动录像/手动抓图('H')
  2486. EMSSubType_SPT_KEY = 10, // 运动相机关键录像('K')
  2487. EMSSubType_KEY = 10, // 普通设备关键录像('K')
  2488. EMSSubType_URGENT = 21, // 紧急录像('V')
  2489. EMSSubType_ORIGINAL = 17, // 原始录像(注意此种Type类型为mp4)('R')
  2490. EMSSubType_INVASION = 8, // 入侵('I')
  2491. EMSSubType_STRANDED = 18, // 盗移、滞留('S')
  2492. EMSSubType_FACE = 5, // 人脸识别录像('F')
  2493. EMSSubType_CARNO = 13, // 车牌识别('N')
  2494. EMSSubType_CHANGE = 6, // 场景切换('G')
  2495. }EMSSubType;
  2496. // 媒体查询返回子类型-位标识(Media Search SubType)
  2497. typedef enum EMRType
  2498. {
  2499. EMRType_ALERT = 0x00, // 外部报警录像/图片
  2500. EMRType_DYNAMIC = 0x01, // 视频侦测录像/图片
  2501. EMRType_HAND = 0x04, // 手动录像/手动抓图
  2502. EMRType_SPT_KEY = 0x05, // 运动相机关键录像
  2503. EMRType_KEY = 0x09, // 普通设备关键录像
  2504. EMRType_URGENT = 0x06, // 紧急录像
  2505. EMRType_ORIGINAL = 0x07, // 原始录像
  2506. EMRType_INVASION = 0x05, // 入侵
  2507. EEMRType_STRANDED = 0x06, // 盗移、滞留
  2508. EMRType_FACE = 0x07, // 人脸识别录像
  2509. EMRType_CARNO = 0x08, // 车牌识别
  2510. EMRType_CHANGE = 0x06, // 场景切换
  2511. }EMRType;
  2512. typedef enum SDK_File_Type
  2513. {
  2514. SDK_RECORD_ALL = 0, // 全部录像(查询类型:h264/子类型:*)
  2515. SDK_RECORD_ALARM = 1, // 外部报警录像(查询类型:h264/子类型:A)
  2516. SDK_RECORD_DETECT = 2, // 视频侦测录像(查询类型:h264/子类型:M)
  2517. SDK_RECORD_REGULAR = 3, // 普通录像(查询类型:h264/子类型:*)
  2518. SDK_RECORD_MANUAL = 4, // 手动录像(查询类型:h264//子类型:H)
  2519. SDK_RECORD_KEY = 5, // 关键录像(查询类型:h264/子类型:K)
  2520. SDK_RECORD_URGENT = 6, // 紧急录像(查询类型:h264/子类型:V)
  2521. SDK_RECORD_ORIGINAL = 7, // 原始录像(查询类型:mp4/子类型:R)
  2522. SDK_PIC_ALL = 10, // 全部图片(查询类型:jpg/子类型:*)
  2523. SDK_PIC_ALARM = 11, // 外部报警图片(查询类型:jpg/子类型:A)
  2524. SDK_PIC_DETECT = 12, // 视频侦测图片(查询类型:jpg/子类型:M)
  2525. SDK_PIC_REGULAR = 13, // 普通图片(查询类型:jpg/子类型:R)
  2526. SDK_PIC_MANUAL = 14, // 手动图片(查询类型:jpg/子类型:H)
  2527. SDK_PIC_IDXIMG = 15, // 索引图片(查询类型:jpg/子类型:*)
  2528. SDK_PIC_KEY = 16, // 关键图片(查询类型:jpg/子类型:K)
  2529. SDK_PIC_INDUCTION = 17, // 感应图片(查询子类型:P)
  2530. }SDK_File_Type;
  2531. typedef struct SMSSearchType
  2532. {
  2533. unsigned int subType:26; // 详见EMSSubType
  2534. unsigned int type:6; // 详见EMSType
  2535. // SMSSearchType()
  2536. // {
  2537. // this->type = EMSType_h264;
  2538. // this->subType = EMSSubType_ALL;
  2539. // };
  2540. //
  2541. // // 新的赋值方式,只查询一种(推荐使用)
  2542. // SMSSearchType(EMSType t, EMSSubType st)
  2543. // {
  2544. // this->type = t;
  2545. // if(EMSSubType_ALL == st)
  2546. // {
  2547. // this->subType = EMSSubType_ALL;
  2548. // }
  2549. // else
  2550. // {
  2551. // this->subType = (0x1 << st);
  2552. // }
  2553. // };
  2554. //
  2555. // // 新的赋值方式,叠加查询多种类型(推荐使用)
  2556. // // st = (1 << EMRType_INVASION) | (1 << EMSSubType_STRANDED)
  2557. // // 表示查询入侵&盗移录像
  2558. // SMSSearchType(EMSType t, unsigned int st)
  2559. // {
  2560. // this->type = t;
  2561. // this->subType = st;
  2562. // };
  2563. //
  2564. // // 老的赋值方式(兼容老版本)
  2565. // SMSSearchType(SDK_File_Type t)
  2566. // {
  2567. // this->type = EMSType_none;
  2568. // this->subType = t;
  2569. // };
  2570. //
  2571. // SMSSearchType(const unsigned int &t)
  2572. // {
  2573. // memcpy(this, &t, sizeof(t));
  2574. // };
  2575. //
  2576. // void operator=(const SDK_File_Type t)
  2577. // {
  2578. // this->type = EMSType_none;
  2579. // this->subType = t;
  2580. // };
  2581. // void operator=(const int &t)
  2582. // {
  2583. // memcpy(this, &t, sizeof(t));
  2584. // };
  2585. // void operator=(const unsigned int &t)
  2586. // {
  2587. // memcpy(this, &t, sizeof(t));
  2588. // };
  2589. // unsigned int Value()
  2590. // {
  2591. // unsigned int t;
  2592. // memcpy(&t, this, sizeof(t));
  2593. // return t;
  2594. // };
  2595. }SMSSearchType;
  2596. //查询录像条件
  2597. typedef struct H264_DVR_FINDINFO
  2598. {
  2599. int nChannelN0; //通道号
  2600. unsigned int nFileType; //文件类型, 见SMSSearchType
  2601. H264_DVR_TIME startTime;//开始时间
  2602. H264_DVR_TIME endTime; //结束时间
  2603. char szFileName[32]; //文件名,为空的话,系统处理,有值,系统采用
  2604. void *hWnd;
  2605. int StreamType; //查询的码流类型,主码流:0,辅码流:1
  2606. #ifndef OS_IOS
  2607. H264_DVR_FINDINFO()
  2608. {
  2609. hWnd=0;
  2610. StreamType =0;
  2611. }
  2612. #endif
  2613. }H264_DVR_FINDINFO;
  2614. //录像文件返回结构体
  2615. typedef struct H264_DVR_FILE_DATA
  2616. {
  2617. int ch; //通道号
  2618. int size; //文件大小
  2619. char sFileName[108]; //文件名
  2620. SDK_SYSTEM_TIME stBeginTime;//文件开始时间
  2621. SDK_SYSTEM_TIME stEndTime; //文件结束时间
  2622. void *hWnd; //窗口句柄
  2623. int StreamType; //码流类型是回放主码流还是辅助码流
  2624. #ifndef OS_IOS
  2625. H264_DVR_FILE_DATA()
  2626. {
  2627. hWnd=0;
  2628. StreamType =0;
  2629. };
  2630. #endif
  2631. }H264_DVR_FILE_DATA;
  2632. //图片下载
  2633. typedef struct H264_DVR_FILE_DATA_IMG_LIST
  2634. {
  2635. int ch; //通道号
  2636. int nOrderType; //正倒序标记
  2637. int nFileNum; //文件数量
  2638. char sFileDirName[108]; //文件名
  2639. //char szFileListMsk[10][16]; //掩码(下载序列)
  2640. SDK_SYSTEM_TIME stBeginTime;//文件开始时间
  2641. SDK_SYSTEM_TIME stEndTime; //文件结束时间
  2642. }H264_DVR_FILE_DATA_IMG_LIST;
  2643. //回放动作
  2644. enum SDK_PlayBackAction
  2645. {
  2646. SDK_PLAY_BACK_PAUSE, /*<! 暂停回放 */
  2647. SDK_PLAY_BACK_CONTINUE, /*<! 继续回放 */
  2648. SDK_PLAY_BACK_SEEK, /*<! 回放定位,时间s为单位 */
  2649. SDK_PLAY_BACK_FAST, /*<! 加速回放 */
  2650. SDK_PLAY_BACK_SLOW, /*<! 减速回放 */
  2651. SDK_PLAY_BACK_SEEK_PERCENT, /*<! 回放定位百分比 */
  2652. };
  2653. //按时间段查询
  2654. typedef struct SDK_SearchByTime
  2655. {
  2656. int nHighChannel; ///< 33~64录像通道号掩码
  2657. int nLowChannel; ///< 1~32录像通道号掩码
  2658. unsigned int nFileType; ///< 文件类型, 见SMSSearchType
  2659. SDK_SYSTEM_TIME stBeginTime;///< 查询开始时间
  2660. SDK_SYSTEM_TIME stEndTime; ///< 查询结束时间
  2661. int iSync; ///< 是否需要同步
  2662. unsigned int nHighStreamType;///< 33~64录像的码流类型,二进制位为0代表主码流,1代表辅码流
  2663. unsigned int nLowStreamType;///< 1~32录像的码流类型,二进制位为0代表主码流,1代表辅码流
  2664. }SDK_SearchByTime;
  2665. //按时间段查询
  2666. typedef struct SDK_SearchByTimeV2
  2667. {
  2668. int nHighChannel; ///< 33~64录像通道号掩码
  2669. int nLowChannel; ///< 1~32录像通道号掩码
  2670. char fileType[32]; ///< 文件类型, 见SDK_File_Type
  2671. char fileSubType[64]; ///< 文件类型, 见SDK_File_Type
  2672. SDK_SYSTEM_TIME stBeginTime; ///< 查询开始时间
  2673. SDK_SYSTEM_TIME stEndTime; ///< 查询结束时间
  2674. int iSync; ///< 是否需要同步
  2675. unsigned int nHighStreamType;///< 33~64录像的码流类型,二进制位为0代表主码流,1代表辅码流
  2676. unsigned int nLowStreamType;///< 1~32录像的码流类型,二进制位为0代表主码流,1代表辅码流
  2677. }SDK_SearchByTimeV2;
  2678. //每个通道的录像信息
  2679. typedef struct SDK_SearchByTimeInfo
  2680. {
  2681. int iChannel; ///< 录像通道号
  2682. ///< 录像记录用720个字节的5760位来表示一天中的1440分钟
  2683. ///< 0000:无录像 0001:F_COMMON 0002:F_ALERT 0003:F_DYNAMIC 0004:F_CARD 0005:F_HAND
  2684. unsigned char cRecordBitMap[720];
  2685. }SDK_SearchByTimeInfo;
  2686. typedef struct SDK_SearchByTimeResult
  2687. {
  2688. int nInfoNum; ///< 通道的录像记录信息个数
  2689. SDK_SearchByTimeInfo ByTimeInfo[NET_MAX_CHANNUM]; ///< 通道的录像记录信息
  2690. }SDK_SearchByTimeResult;
  2691. //报警信息
  2692. typedef struct SDK_ALARM_INFO
  2693. {
  2694. int nChannel;
  2695. int iEvent; //报警事件码:见枚举SDK_EventCodeTypes
  2696. int iStatus;//0:报警开始,1:报警结束
  2697. SDK_SYSTEM_TIME SysTime;
  2698. char pExtInfo[128]; //附加信息,发送者和接收者对各种报警类型进行格式约定
  2699. }SDK_AlarmInfo;
  2700. /// 日志查询条件
  2701. typedef struct SDK_LogSearchCondition
  2702. {
  2703. int nType; ///< 日志类型
  2704. int iLogPosition; ///< 从上次查询的结束时的日志指针
  2705. SDK_SYSTEM_TIME stBeginTime; ///< 查询日志开始时间
  2706. SDK_SYSTEM_TIME stEndTime; ///< 查询日志结束时间
  2707. }SDK_LogSearchCondition;
  2708. typedef struct SDK_LogItem
  2709. {
  2710. char sType[24]; ///< 日志类型
  2711. char sUser[32]; ///< 日志用户
  2712. char sData[68]; ///< 日志数据
  2713. SDK_SYSTEM_TIME stLogTime; ///< 日志时间
  2714. int iLogPosition; ///< 从上次查询的结束时的日志指针
  2715. }SDK_LogItem;
  2716. //日志返回信息
  2717. typedef struct SDK_LogList
  2718. {
  2719. int iNumLog;
  2720. SDK_LogItem Logs[NET_MAX_RETURNED_LOGLIST];
  2721. }SDK_LogList;
  2722. /// 语音对讲格式
  2723. typedef struct SDK_AudioInFormatConfigAll
  2724. {
  2725. SDK_AudioInFormatConfig vAudioInFormatConfig[SDK_AUDIO_ENCODE_TYPES_NR];
  2726. }SDK_AudioInFormatConfigAll;
  2727. /// 告警状态
  2728. typedef struct SDK_DVR_ALARMSTATE
  2729. {
  2730. int iVideoMotion; ///< 移动侦测状态,用掩码表示通道号,bit0代表通道一,以此类推 1: 有告警 0: 无告警
  2731. int iVideoBlind; ///< 视频遮挡状态,用掩码表示通道号,bit0代表通道一,以此类推 1: 有告警 0: 无告警
  2732. int iVideoLoss; ///< 视频丢失状态,用掩码表示通道号,bit0代表通道一,以此类推 1: 有告警 0: 无告警
  2733. int iAlarmIn; ///< 告警输入状态,用掩码表示通道号,bit0代表通道一,以此类推 1: 有告警 0: 无告警
  2734. int iAlarmOut; ///< 告警输出状态,用掩码表示通道号,bit0代表通道一,以此类推 1: 有告警 0: 无告警
  2735. }SDK_DVR_ALARMSTATE;
  2736. // 通道状态
  2737. typedef struct SDK_DVR_CHANNELSTATE
  2738. {
  2739. bool bRecord; ///< 是否正在录像
  2740. int iBitrate; ///< 当前码率
  2741. }SDK_DVR_CHANNELSTATE;
  2742. // DVR工作状态
  2743. typedef struct SDK_DVR_WORKSTATE
  2744. {
  2745. SDK_DVR_CHANNELSTATE vChnState[NET_MAX_CHANNUM];
  2746. SDK_DVR_ALARMSTATE vAlarmState;
  2747. }SDK_DVR_WORKSTATE;
  2748. /// 按键值, 不能随便更改
  2749. enum SDK_NetKeyBoardValue
  2750. {
  2751. SDK_NET_KEY_0, SDK_NET_KEY_1, SDK_NET_KEY_2, SDK_NET_KEY_3, SDK_NET_KEY_4, SDK_NET_KEY_5, SDK_NET_KEY_6, SDK_NET_KEY_7, SDK_NET_KEY_8, SDK_NET_KEY_9,
  2752. SDK_NET_KEY_10, SDK_NET_KEY_11, SDK_NET_KEY_12, SDK_NET_KEY_13, SDK_NET_KEY_14, SDK_NET_KEY_15, SDK_NET_KEY_16, SDK_NET_KEY_10PLUS,SDK_NET_KEY_DIGIT,
  2753. SDK_NET_KEY_UP = 20, // 上或者云台向上
  2754. SDK_NET_KEY_DOWN, // 下或者云台向下
  2755. SDK_NET_KEY_LEFT, // 左或者云台向左
  2756. SDK_NET_KEY_RIGHT, // 右或者云台向右
  2757. SDK_NET_KEY_SHIFT,
  2758. SDK_NET_KEY_PGUP, // 上一页
  2759. SDK_NET_KEY_PGDN, // 下一页
  2760. SDK_NET_KEY_RET, // 确认
  2761. SDK_NET_KEY_ESC, // 取消或退出
  2762. SDK_NET_KEY_FUNC, // 切换输入法
  2763. SDK_NET_KEY_PLAY, // 播放/暂停
  2764. SDK_NET_KEY_BACK, // 倒放
  2765. SDK_NET_KEY_STOP, // 停止
  2766. SDK_NET_KEY_FAST, // 快放
  2767. SDK_NET_KEY_SLOW, // 慢放
  2768. SDK_NET_KEY_NEXT, // 下一个文件
  2769. SDK_NET_KEY_PREV, // 上一个文件
  2770. SDK_NET_KEY_PAUSE, // 暂停
  2771. SDK_NET_KEY_FUNC_A, // 功能键A
  2772. SDK_NET_KEY_FUNC_B, // 功能键B(在消费类产品上,A和B的功能会根据设备的不同而有不同的表现)
  2773. SDK_NET_KEY_REC = 40, // 录像设置
  2774. SDK_NET_KEY_SEARCH, // 录像查询
  2775. SDK_NET_KEY_INFO, // 系统信息
  2776. SDK_NET_KEY_ALARM, // 告警输出
  2777. SDK_NET_KEY_ADDR, // 遥控器地址设置
  2778. SDK_NET_KEY_BACKUP, // 备份
  2779. SDK_NET_KEY_SPLIT, // 画面分割模式切换,每按一次切换到下一个风格模式
  2780. SDK_NET_KEY_SPLIT1, // 单画面
  2781. SDK_NET_KEY_SPLIT4, // 四画面
  2782. SDK_NET_KEY_SPLIT8, // 八画面
  2783. SDK_NET_KEY_SPLIT9, // 九画面
  2784. SDK_NET_KEY_SPLIT16, // 16画面
  2785. SDK_NET_KEY_SHUT, // 关机
  2786. SDK_NET_KEY_MENU, // 菜单
  2787. SDK_NET_KEY_SPLIT25, // 25画面
  2788. SDK_NET_KEY_SPLIT36, // 36画面
  2789. SDK_NET_KEY_PTZ = 60, // 进入云台控制模式
  2790. SDK_NET_KEY_TELE, // 变倍减
  2791. SDK_NET_KEY_WIDE, // 变倍加
  2792. SDK_NET_KEY_IRIS_SMALL, // 光圈增
  2793. SDK_NET_KEY_IRIS_LARGE, // 光圈减
  2794. SDK_NET_KEY_FOCUS_NEAR, // 聚焦远
  2795. SDK_NET_KEY_FOCUS_FAR, // 聚焦近
  2796. SDK_NET_KEY_BRUSH, // 雨刷
  2797. SDK_NET_KEY_LIGHT, // 灯光
  2798. SDK_NET_KEY_SPRESET, // 设置预置点
  2799. SDK_NET_KEY_GPRESET, // 转至预置点
  2800. SDK_NET_KEY_DPRESET, // 清除预置点
  2801. SDK_NET_KEY_PATTERN, // 模式
  2802. SDK_NET_KEY_AUTOSCAN, // 自动扫描开始结束
  2803. SDK_NET_KEY_AUTOTOUR, // 自动巡航
  2804. SDK_NET_KEY_AUTOPAN, // 线扫开始/结束
  2805. };
  2806. /// 按键状态
  2807. enum SDK_NetKeyBoardState
  2808. {
  2809. SDK_NET_KEYBOARD_KEYDOWN, // 按键按下
  2810. SDK_NET_KEYBOARD_KEYUP, // 按键松开
  2811. };
  2812. typedef struct SDK_NetKeyBoardData
  2813. {
  2814. int iValue; //枚举SDK_NetKeyBoardValue
  2815. int iState; //枚举SDK_NetKeyBoardState
  2816. }SDK_NetKeyBoardData;
  2817. // 升级信息获取
  2818. typedef struct SDK_UpgradeInfo
  2819. {
  2820. char szSerial[64];
  2821. char szHardware[64];
  2822. char szVendor[64];
  2823. unsigned int uiLogoArea[2];
  2824. }SDK_UpgradeInfo;
  2825. /// 网络报警
  2826. typedef struct SDK_NetAlarmInfo
  2827. {
  2828. int iEvent; //目前未使用
  2829. int iState; //每bit表示一个通道,bit0:第一通道,0-无报警 1-有报警, 依次类推
  2830. }SDK_NetAlarmInfo;
  2831. typedef enum SERIAL_TYPE
  2832. {
  2833. RS232 = 0,
  2834. RS485 = 1,
  2835. }SERIAL_TYPE;
  2836. enum MEDIA_PACK_TYPE
  2837. {
  2838. FILE_HEAD = 0, // 文件头
  2839. VIDEO_I_FRAME = 1, // 视频I帧
  2840. VIDEO_B_FRAME = 2, // 视频B帧
  2841. VIDEO_P_FRAME = 3, // 视频P帧
  2842. VIDEO_BP_FRAME = 4, // 视频BP帧
  2843. VIDEO_BBP_FRAME = 5, // 视频B帧B帧P帧
  2844. VIDEO_J_FRAME = 6, // 图片帧
  2845. AUDIO_PACKET = 10, // 音频包
  2846. };
  2847. typedef struct
  2848. {
  2849. int nPacketType; // 包类型,见MEDIA_PACK_TYPE
  2850. char* pPacketBuffer; // 缓存区地址
  2851. unsigned int dwPacketSize; // 包的大小
  2852. // 绝对时标
  2853. int nYear; // 时标:年
  2854. int nMonth; // 时标:月
  2855. int nDay; // 时标:日
  2856. int nHour; // 时标:时
  2857. int nMinute; // 时标:分
  2858. int nSecond; // 时标:秒
  2859. unsigned int dwTimeStamp; // 相对时标低位,单位为毫秒
  2860. unsigned int dwTimeStampHigh; //相对时标高位,单位为毫秒
  2861. unsigned int dwFrameNum; //帧序号
  2862. unsigned int dwFrameRate; //帧率
  2863. unsigned short uWidth; //图像宽度
  2864. unsigned short uHeight; //图像高度
  2865. unsigned int Reserved[6]; //保留
  2866. } PACKET_INFO_EX;
  2867. typedef struct SDK_OEMInfo
  2868. {
  2869. int nOEMID; //OEM ID
  2870. char sCompanyName[NET_MAX_USERNAME_LENGTH]; //公司名
  2871. char sTel[NET_MAX_USERNAME_LENGTH]; //电话
  2872. char sAddr[NET_MAX_USERNAME_LENGTH]; //地址
  2873. }SDK_OEMInfo;
  2874. typedef struct __TransComChannel//透明窗口
  2875. {
  2876. SERIAL_TYPE TransComType;//SERIAL_TYPE
  2877. unsigned int baudrate;
  2878. unsigned int databits;
  2879. unsigned int stopbits;
  2880. unsigned int parity;
  2881. } TransComChannel;
  2882. typedef enum SDK_State_Type
  2883. {
  2884. DEV_STATE_DDNS=0,
  2885. }SDK_State_Type;
  2886. //摄象机参数.....
  2887. //曝光配置
  2888. typedef struct SDK_ExposureCfg
  2889. {
  2890. int level; //曝光等级
  2891. unsigned int leastTime;//自动曝光时间下限或手动曝光时间,单位微秒
  2892. unsigned int mostTime; //自动曝光时间上限,单位微秒
  2893. }SDK_ExposureCfg;
  2894. //增益配置
  2895. typedef struct SDK_GainCfg
  2896. {
  2897. int gain; //自动增益上限(自动增益启用)或固定增益值
  2898. int autoGain;//自动增益是否启用,0:不开启 1:开启
  2899. }SDK_GainCfg;
  2900. //网络摄像机配置
  2901. typedef struct SDK_CameraParam
  2902. {
  2903. unsigned int whiteBalance; //白平衡
  2904. unsigned int dayNightColor; //日夜模式,取值有彩色、自动切换和黑白
  2905. int elecLevel; //参考电平值
  2906. unsigned int apertureMode; //自动光圈模式
  2907. unsigned int BLCMode; //背光补偿模式
  2908. SDK_ExposureCfg exposureConfig;//曝光配置
  2909. SDK_GainCfg gainConfig; //增益配置
  2910. unsigned int PictureFlip; //图片上下翻转
  2911. unsigned int PictureMirror; //图片左右翻转(镜像)
  2912. unsigned int RejectFlicker; //日光灯防闪功能
  2913. unsigned int EsShutter; //电子慢快门功能
  2914. int ircut_mode; //IR-CUT切换 0 = 红外灯同步切换 1 = 自动切换
  2915. int dnc_thr; //日夜转换阈值
  2916. int ae_sensitivity; //ae灵敏度配置
  2917. int Day_nfLevel; //noise filter 等级,0-5,0不滤波,1-5 值越大滤波效果越明显
  2918. int Night_nfLevel;
  2919. int Ircut_swap; //ircut 正常序= 0 反序= 1
  2920. }SDK_CameraParam;
  2921. //所有摄象机配置
  2922. typedef struct SDK_AllCameraParam
  2923. {
  2924. SDK_CameraParam vCameraParamAll[NET_MAX_CHANNUM]; //所有的通道
  2925. }SDK_AllCameraParam;
  2926. //曝光能力级
  2927. typedef struct SDK_CameraAbility
  2928. {
  2929. int count; //支持曝光速度数量
  2930. unsigned int speeds[CAMERAPARA_MAXNUM]; //曝光速度
  2931. int status; //工作状态 >= 0 正常 < 0 异常
  2932. int elecLevel; //参考电平值
  2933. int luminance; //平均亮度
  2934. char pVersion[64];//xm 2a版本
  2935. char reserve[32];//保留
  2936. }SDK_CameraAbility;
  2937. //本地播放控制
  2938. enum SDK_LoalPlayAction
  2939. {
  2940. SDK_Local_PLAY_PAUSE, /*<! 暂停播放 */
  2941. SDK_Local_PLAY_CONTINUE, /*<! 继续正常播放 */
  2942. SDK_Local_PLAY_FAST, /*<! 加速播放 */
  2943. SDK_Local_PLAY_SLOW, /*<! 减速播放 */
  2944. };
  2945. //短信配置
  2946. typedef struct SDK_NetShortMsgCfg
  2947. {
  2948. bool bEnable; //发送手机短信的功能是否启用
  2949. char pDesPhoneNum[MAX_RECIVE_MSG_PHONE_COUNT][16];
  2950. int sendTimes; //需要向每个手机发送多少次短信
  2951. }SDK_NetShortMsgCfg;
  2952. //手机彩信配置
  2953. typedef struct SDK_NetMultimediaMsgCfg
  2954. {
  2955. bool bEnable; // 发送手机彩信的功能是否启用
  2956. char pDesPhoneNum[MAX_RECIVE_MSG_PHONE_COUNT][16]; //接收彩信的手机号,现支持3个手机号
  2957. char pGateWayDomain[40]; // 网关地址,域名或IP
  2958. int gateWayPort; // 网关端口
  2959. char pMmscDomain[40]; // 彩信服务器地址,IP或域名
  2960. int mmscPort; // 彩信服务器端口号
  2961. }SDK_NetMultimediaMsgCfg;
  2962. typedef struct SDK_DASSerInfo
  2963. {
  2964. bool enable;
  2965. char serAddr[NET_NAME_PASSWORD_LEN];
  2966. int port;
  2967. char userName[NET_NAME_PASSWORD_LEN];
  2968. char passwd[NET_NAME_PASSWORD_LEN];
  2969. char devID[NET_NAME_PASSWORD_LEN];
  2970. }SDK_DASSerInfo;
  2971. typedef enum UploadDataType //上传数据类型
  2972. {
  2973. VEHICLE=0,//车载信息
  2974. SDK_RECORD_STATE,//录像状态
  2975. SDK_DIGITCHN_STATE, //数字通道连接状态
  2976. SDK_TITLE_INFO, //通道标题
  2977. SDK_FUNCTION_STATE, // 功能状态例如运动相机录像,延时拍等
  2978. SDK_ELECT_STATE, //电量
  2979. }UploadDataType;
  2980. //车载相关************************************************************************
  2981. //车辆状态
  2982. enum SDK_CAR_STATUS_TYPE
  2983. {
  2984. SDK_CAR_WORKING, //是否在运行
  2985. SDK_CAR_LIGHT_LEFT_TURN, //左转灯是否点亮
  2986. SDK_CAR_LIGHT_RIGHT_TURN, //右转灯是否点亮
  2987. SDK_CAR_DOOR_LEFT_FRONT, //左前门是否打开
  2988. SDK_CAR_DOOR_RIGHT_FRONT, //右前门是否打开
  2989. SDK_CAR_DOOR_LEFT_BACK, //左后门是否打开
  2990. SDK_CAR_DOOR_RIGHT_BACK, //右后门是否打开
  2991. SDK_CAR_DOOR_BACK, //后门是否打开
  2992. SDK_CAR_BRAKE, //是否踩刹车
  2993. SDK_CAR_URGENCY_ALARM, //紧急报警
  2994. SDK_CAR_STATUS_NR, //状态种类数目
  2995. };
  2996. //外部输入类型
  2997. enum SDK_IO_INPUT_TYPE
  2998. {
  2999. SDK_LOCAL_ALARM_INPUT,//本地报警输入
  3000. SDK_RS232_INPUT, //通过232串口输入
  3001. SDK_RS485_INPUT, //通过485串口输入
  3002. };
  3003. //外部信息输入与车辆状态的对应关系
  3004. typedef struct SDK_CarStatusExchange
  3005. {
  3006. int statusType; //哪一种车辆状态,比如左转灯
  3007. bool bExist; //是否有该种状态的信息输入,根据车辆的实际情况进行设置
  3008. bool bEnable; //是否检测该种状态
  3009. int inputType; //该种状态对应的信息输入类型,从IO_INPUT_TYPE枚举的值中取
  3010. int addr; //地址,比如是本地报警输入口一对应0,输入口二对应1
  3011. int sensorType; //常开(NO)或常闭(NC),当inputType是本地报警输入时有效
  3012. }SDK_CarStatusExchange;
  3013. typedef struct SDK_CarStatusExchangeAll
  3014. {
  3015. SDK_CarStatusExchange exchangeAll[16];
  3016. }SDK_CarStatusExchangeAll;
  3017. typedef struct SDK_CarStatusNum
  3018. {
  3019. int iCarStatusNum;
  3020. }SDK_CarStatusNum;
  3021. typedef struct SDK_CarDelayTimeConfig
  3022. {
  3023. bool bStartDelay;
  3024. bool bCloseDelay;
  3025. int timeStartDelay; //单位:分钟
  3026. int timeCloseDelay; //单位:分钟
  3027. }SDK_CarDelayTimeConfig;
  3028. enum SDK_network_media {
  3029. SDK_NM_WIRED = 0, //有线网卡
  3030. SDK_NM_WLAN, //Wifi
  3031. SDK_NM_3G, //3G网卡
  3032. SDK_NM_NR, //种类数
  3033. };
  3034. //网络连接优先级
  3035. typedef struct SDK_tagNetLinkOrder
  3036. {
  3037. int netType; //取值是network_media类型的
  3038. int netOrder; //数字越小,优先级越高,0是最高优先级
  3039. }SDK_NetLinkOrder;
  3040. //网络优先级
  3041. typedef struct SDK_NetOrderConfig
  3042. {
  3043. bool bEnable; //是否设置网络优先级
  3044. int netCount; //网络类型数目
  3045. SDK_NetLinkOrder pNetOrder[SDK_NM_NR];//网络优先级
  3046. SDK_NetLinkOrder pReserve[7-SDK_NM_NR];//给新的网络类型预留
  3047. }SDK_NetOrderConfig;
  3048. ///网络优先级能力
  3049. typedef struct SDK_NetOrderFunction
  3050. {
  3051. bool bNetOrder;
  3052. }SDK_NetOrderFunction;
  3053. #define MAX_CAR_INFOR 24
  3054. /// 车载牌号
  3055. struct SDK_CarPlates
  3056. {
  3057. char sPlateName[MAX_CAR_INFOR];
  3058. };
  3059. enum NET_ISP
  3060. {
  3061. ISP_AUTO, //自动选择
  3062. ISP_TELCOM, //电信
  3063. ISP_UNIONCOM, //联通
  3064. ISP_CNC,//网通
  3065. ISP_MOBILE,//移动,铁通
  3066. ISP_USER,//自定义
  3067. };
  3068. //网络平台信息设置
  3069. typedef struct SDK_LocalSdkNetPlatformConfig
  3070. {
  3071. int Enable;
  3072. int nISP; ///参见NET_ISP
  3073. char sServerName[32];
  3074. char ID[32];
  3075. char sUserName[32];
  3076. char sPassword[32];
  3077. CONFIG_IPAddress HostIP; ///< host ip
  3078. int port;
  3079. }SDK_LOCALSDK_NET_PLATFORM_CONFIG;
  3080. //GPS校时配置
  3081. typedef struct SDK_GPSTimingConfig
  3082. {
  3083. bool bEnable; // 是否启用
  3084. int timeChange; // 相对于UTC时间需要改变多少,单位:秒
  3085. int updatePeriod; // 更新周期 单位:分钟
  3086. }SDK_GPSTimingConfig;
  3087. //神眼接警中心系统
  3088. typedef struct SDK_GodEyeConfig
  3089. {
  3090. bool bEnable;
  3091. char MainSeverName[NET_NAME_PASSWORD_LEN]; //主域名
  3092. int MainPort; //主端口
  3093. char ExSeverName[NET_NAME_PASSWORD_LEN]; //备用域名
  3094. int ExPort; //备用端口
  3095. }SDK_GodEyeConfig;
  3096. enum SDK_DigManagerShowStatus
  3097. {
  3098. SDK_DM_SHOW_NONE,
  3099. SDK_DM_SHOW_ALL,
  3100. };
  3101. //数字通道显示状态
  3102. typedef struct SDK_DigitalManagerShow
  3103. {
  3104. int nDigitalManagerShowSta;
  3105. }SDK_DigitalManagerShow;
  3106. //NAT传输,MTU值
  3107. typedef struct SDK_NatConfig
  3108. {
  3109. bool bEnable;
  3110. #if 0
  3111. bool CloudpushEnable;
  3112. #endif
  3113. int nMTU; // 范围 (100,1400)
  3114. char serverAddr[64]; //云服务的域名或者IP地址。
  3115. int serverPort; //云服务的端口;
  3116. CONFIG_IPAddress dnsSvr1;//云服务的DNS服务器地址
  3117. CONFIG_IPAddress dnsSvr2;
  3118. #if 0
  3119. char pResv[16]; //保留
  3120. #endif
  3121. }SDK_NatConfig;
  3122. typedef enum SubConnType
  3123. {
  3124. conn_realTimePlay=1,
  3125. conn_talk,
  3126. conn_playback
  3127. }SubConnType;
  3128. //*** */向设备注册
  3129. enum SocketStyle
  3130. {
  3131. TCPSOCKET=0,
  3132. UDPSOCKET,
  3133. PLUGLANSOCKET=4, //插座局域网登陆
  3134. PLUGOUTERSOCKET, //插座外网登陆
  3135. P2P_TUTKSOCKET, //TUTK P2P
  3136. SOCKETNR
  3137. };
  3138. enum SDK_NatStatusType
  3139. {
  3140. SDK_NAT_STATUS_DISENABLE,//未开启
  3141. SDK_NAT_STATUS_PROBING, //正在探测DNS
  3142. SDK_NAT_STATUS_CONNECTING,//正在连接服务器
  3143. SDK_NAT_STATUS_CONNECTED,//连接成功
  3144. };
  3145. //nat状态信息
  3146. typedef struct SDK_NatStatusInfo
  3147. {
  3148. int iNatStatus;
  3149. char NatInfoCode[256];//增加内容,加大
  3150. }SDK_NatStatusInfo;
  3151. /// 数字水印配置
  3152. typedef struct SDK_WaterMarkConfig
  3153. {
  3154. bool bEnable; // 开启水印
  3155. char sKey[8];
  3156. char sUserData[16];
  3157. }SDK_WaterMarkConfig;
  3158. typedef struct SDK_WaterMarkConfigAll
  3159. {
  3160. SDK_WaterMarkConfig vWaterMarkConfigAll[NET_MAX_CHANNUM];
  3161. }SDK_WaterMarkConfigAll;
  3162. ///编码器静态参数
  3163. typedef struct SDK_EncodeStaticParam
  3164. {
  3165. int profile;
  3166. int level;
  3167. int reserved1[4];
  3168. }SDK_EncodeStaticParam;
  3169. typedef struct SDK_EncodeStaticParamAll
  3170. {
  3171. SDK_EncodeStaticParam EncodeStaticParamAll[NET_MAX_CHANNUM];
  3172. }SDK_EncodeStaticParamAll;
  3173. enum
  3174. {
  3175. sdk_maxCPCDataItem = 2048,
  3176. sdk_maxCPCDataReturn = 512,
  3177. sdk_itemtotalLength = 96, //2位通道号,20位开始时间,20位结束时间,和两个13位的数据,加冗余
  3178. sdk_maxpack=4,// sdk_maxCPCDataItem/sdk_maxCPCDataReturn
  3179. };
  3180. typedef struct SDK_CPCDataItem //人数统计项结构体
  3181. {
  3182. int channel; //对应的通道号
  3183. SDK_SYSTEM_TIME startTime; //开始时间
  3184. SDK_SYSTEM_TIME endTime; //结束时间
  3185. int inNum; //进入人数
  3186. int outNum; //离开人数
  3187. }SDK_CPCDataItem;
  3188. typedef struct SDK_CPCData
  3189. {
  3190. int nItemNum;
  3191. SDK_CPCDataItem CPCData[sdk_maxCPCDataReturn];
  3192. }SDK_CPCData;
  3193. typedef struct SDK_CPCDataAll
  3194. {
  3195. int nCount;
  3196. SDK_CPCData nCpcData[sdk_maxpack] ;
  3197. }SDK_CPCDataAll;
  3198. /// 录像存储设备类型,以下类型的一种或者多种
  3199. typedef struct SDK_RecordStorageType
  3200. {
  3201. bool SATA_as;
  3202. bool USB_as;
  3203. bool SD_as;
  3204. bool DVD_as;
  3205. }SDK_RecordStorageType;
  3206. //VPN结构体
  3207. typedef struct SDK_VPNConfig
  3208. {
  3209. bool Enable; ///< 是否开启
  3210. CONFIG_IPAddress ServiceIp; ///< 服务器IP地址
  3211. char UserName[NET_NAME_PASSWORD_LEN]; ///< 用户名
  3212. char Password[NET_NAME_PASSWORD_LEN]; ///< 密码
  3213. CONFIG_IPAddress addr; ///< 拨号后获得的IP地址
  3214. char ServerName[NET_NAME_PASSWORD_LEN]; ///< openvpn服务器地址
  3215. int port;
  3216. }SDK_VPNConfig;
  3217. //当前VGA分辨率
  3218. typedef struct SDK_VGAresolution
  3219. {
  3220. int nHeight;
  3221. int nWidth;
  3222. }SDK_VGAresolution;
  3223. //支持VGA分辨率列表
  3224. typedef struct SDK_VGAResolutionAbility
  3225. {
  3226. int vVGANum;
  3227. char vVGAList[VGA_MAXNUM][VGA_NAME_LENGTH];
  3228. }SDK_VGAResolutionAbility;
  3229. //设备列表(设备搜索的)
  3230. typedef struct SDK_NetDevList
  3231. {
  3232. int vNetDevNum;
  3233. SDK_CONFIG_NET_COMMON_V2 vNetDevList[DEV_LIST_SHOW];
  3234. }SDK_NetDevList;
  3235. //温州凯能平台
  3236. /***用户信息***/
  3237. typedef struct SDK_CONFIG_KAINENG_USERINFO
  3238. {
  3239. char szUserName[16]; //用户姓名:5个汉字或十个字母;
  3240. char szUserAddr[128]; //用户地址:30个汉字或60个字母;
  3241. char szUserAttr[16]; //用户性质:5个汉字或十个字母;
  3242. char szBelongUnit[64]; //归管单位:15个汉字或30个字母;
  3243. char szBelongUnitPhone[16]; //归管单位电话:14位数字;分机用"-" 隔离符;
  3244. char szPoliceUnit[64]; //出警单位:15个汉字或30个字母;
  3245. char szPoliceUnitAddr[128]; //出警单位地址:30个汉字或60个字母;
  3246. char szPoliceUnitPhone[16]; //出警单位电话:14位数字;分机用"-"隔离符;
  3247. char szPolicePhone[4][16];
  3248. char szPolOrCenPhone[2][16]; //警联/中心电话1、2:14位数字;分机用"-" 隔离符;
  3249. char szFTP[64]; //FTP:50个字符;
  3250. char szEMail[64]; //E-Mail: 50个字符;
  3251. CONFIG_IPAddress PoliceIP; //接警中心IP地址
  3252. int nHttpPort; //接警中心IP端口
  3253. }SDK_CONFIG_KAINENG_USERINFO;
  3254. /***设备信息***/
  3255. //闲置布防类型枚举
  3256. typedef enum SDK_GuardType
  3257. {
  3258. SDK_FORBID = 0, //禁止
  3259. SDK_TEN_MIN, //十分钟
  3260. SDK_THIRTY_MIN, //三十分钟
  3261. SDK_SIXTY_MIN, //六十分钟
  3262. SDK_MAX,
  3263. }SDK_GUARDTYEP;
  3264. typedef struct SDK_CONFIG_KAINENG_DEVINFO
  3265. {
  3266. char ProbeNum1; //条件布防:两个下拉框,每个下拉框从 1号到10号探测器选择 ;默认两个为 <1号探测器>
  3267. char ProbeNum2; //条件布防:两个下拉框,每个下拉框从 1号到10号探测器选择 ;默认两个为 <1号探测器>
  3268. char nProbeType; //条件:下拉框 可选择3种为 <禁止> <AND> <OR> 默认为 <禁止>
  3269. char nGuardType; //闲置布防, 参照GUARDTYEP
  3270. int AlarmTime; //警笛开启时间:三位数字从000-999 默认为:180
  3271. int nGuardArea; //有线防区类型:八位数字,每位最小0最大3,即00000000 到33333333; 默认:00000000;
  3272. char szRemConAddr[4][4]; //遥控器1-4号地址 :八位16进制字符允许空(即0-9 A-F),默认为空;
  3273. char szLinDevAddr[6][4]; //联运设备地1-6地址:八位16进制字符允许空(即0-9 A-F),默认为空;
  3274. char szProbeAddr[10][4]; //探测器1-10号地址:八位16进制字符允许空(即0-9 A-F),默认为空;
  3275. //定时布撤防
  3276. char szGuardTime[3][9]; //定时布撤防,每组都为char [8] 类型 即00 00 00 00,表达由开始时分到结束时分,不需要年月日期
  3277. }SDK_CONFIG_KAINENG_DEVINFO;
  3278. /***联动设置***/
  3279. //联动动作枚举
  3280. typedef enum SDK_KNAlarmLink
  3281. {
  3282. SDK_LINK_EMPTY = 0,
  3283. SDK_LINK_SWITH,
  3284. SDK_LINK_10S,
  3285. SDK_LINK_30S,
  3286. SDK_LINK_60S,
  3287. SDK_LINK_200S,
  3288. SDK_LINK_600S,
  3289. SDK_LINK_METHOD_1,
  3290. SDK_LINK_METHOD_2,
  3291. SDK_LINK_MAX,
  3292. }SDK_KNALARMLINK;
  3293. typedef struct SDK_CONFIG_KAINENG_LINKINFO
  3294. {
  3295. char eLink[10][7]; //联动设置,取值为联动动作枚举
  3296. }SDK_CONFIG_KAINENG_LINKINFO;
  3297. //凯能定制,3个界面信息全在这里。
  3298. typedef struct SDK_CONFIG_KAINENG_INFO
  3299. {
  3300. SDK_CONFIG_KAINENG_USERINFO UserInfo;
  3301. SDK_CONFIG_KAINENG_DEVINFO DevInfo;
  3302. SDK_CONFIG_KAINENG_LINKINFO LinkInfo;
  3303. }SDK_CONFIG_KAINENG_INFO;
  3304. //搜索设备协议
  3305. typedef enum SDK_TransferProtocol_V2
  3306. {
  3307. SDK_TRANSFER_PROTOCOL_NETIP,
  3308. SDK_TRANSFER_PROTOCOL_ONVIF,
  3309. SDK_TRANSFER_TRANSFER_PROTOCOL_MAC,
  3310. SDK_TRANSFER_PROTOCOL_NAT,
  3311. SDK_TRANSFER_PROTOCOL_DAHUA,
  3312. SDK_TRANSFER_PROTOCOL_RTSP,
  3313. SDK_TRANSFER_PROTOCOL_NR_V2,
  3314. SDK_TRANSFER_PROTOCOL_ONVIF_DEFAULT = 128,
  3315. SDK_TRANSFER_PROTOCOL_ONVIF_NR_V2
  3316. }SDK_TransferProtocol_V2;
  3317. typedef struct SDK_EncodeStaticParamV2
  3318. {
  3319. int profile; //当前静态编码
  3320. int reserved1[4]; //保留字段
  3321. }SDK_EncodeStaticParamV2;
  3322. /*
  3323. == DVR静态编码能力集,现在3种
  3324. == 0 不支持 1 支持baseline 2 支持main profile 4 支持high profile
  3325. == 掩码操作
  3326. */
  3327. typedef struct SDK_EncStaticParamAbility
  3328. {
  3329. unsigned int encStaticParam;
  3330. }SDK_EncStaticParamAbility;
  3331. //安徽创世C7平台配置
  3332. typedef struct SDK_C7PlatformConfig
  3333. {
  3334. char pServerAddr[64];//平台地址,IP地址或域名
  3335. int servPort; //平台端口
  3336. char pPUID[32]; //PUID
  3337. char pPassword[32]; //密码
  3338. char pStatus[64]; //接入状态,在LocalSDK中是可读可写的,其它地方是只读
  3339. char pResv[60]; //保留
  3340. }SDK_C7PlatformConfig;
  3341. ///网络键盘
  3342. typedef struct SDK_NetKeyboardConfig
  3343. {
  3344. bool Enable; ///< 是否开启
  3345. char sTransProtocol[4]; //传输协议
  3346. int ListenPort; //监听端口
  3347. char sParserProtocol[32];
  3348. int deviceaddr; //设备地址
  3349. }SDK_NetKeyboardConfig;
  3350. ////// 网络键盘协议
  3351. typedef struct SDK_NetKeyboardAbility
  3352. {
  3353. //每个协议最多由64个字符组成
  3354. int nTransPNum;
  3355. char vTransProtocol[32][NET_MAX_PTZ_PROTOCOL_LENGTH];
  3356. int nParserNum;
  3357. char vParserProtocol[32][NET_MAX_PTZ_PROTOCOL_LENGTH];
  3358. }SDK_NetKeyboardAbility;
  3359. //28181协议配置
  3360. typedef struct SDK_ASB_NET_VSP_CONFIG
  3361. {
  3362. bool bCsEnable; //使能标记
  3363. char szCsIP[64]; //服务器地址
  3364. short sCsPort; //服务器端口
  3365. short sUdpPort; //本地绑定udp端口
  3366. char szServerNo[64]; //服务器序列号
  3367. char szServerDn[64]; //服务器所在的域名称
  3368. char szDeviceNO[64]; //设备序列号
  3369. char szConnPass[64]; //设备接入密码
  3370. int iHsIntervalTime; //心跳间隔时间,单位是秒
  3371. int iRsAgedTime; //重新发送注册时间间隔,单位为秒
  3372. char Camreaid[NET_MAX_CHANNUM][64]; //设备中摄像头ID
  3373. int CamreaLevel[NET_MAX_CHANNUM]; //报警等级
  3374. char Alarmid[NET_MAX_CHANNUM][64]; //设备中摄像头ID
  3375. int AlarmLevel[NET_MAX_CHANNUM]; //报警等级
  3376. unsigned int uiAlarmStateGpinEnable; //外部报警使能
  3377. unsigned int uiAlarmStateLoseEnable; //视频丢失告警使能
  3378. unsigned int uiAlarmStateMotionEnable;//视频动态侦测告警使能
  3379. unsigned int uiAlarmStateBlindEnable; //屏幕遮挡告警使能
  3380. unsigned int uiAlarmStatePerformanceEnable; //系统异常告警使能
  3381. unsigned int uiAlarmStateConnectEnable; //用户连接告警使能
  3382. }SDK_ASB_NET_VSP_CONFIG;
  3383. //手机服务配置
  3384. typedef struct SDK_PMSConfig
  3385. {
  3386. bool Enable; ///< 是否开启
  3387. char servname[64];
  3388. int port;
  3389. char boxid[128];
  3390. char resume[24]; //保留
  3391. }SDK_PMSConfig;
  3392. //屏幕提示信息
  3393. typedef struct SDK_OSDInfoConfig
  3394. {
  3395. SDK_VIDEO_WIDGET OSDInfoWidget;
  3396. char ppInfo[NET_MAX_LINE_PER_OSD_AREA][NET_CHANNEL_NAME_MAX_LEN];
  3397. }SDK_OSDInfoConfig ;
  3398. enum SDK_wordEncType
  3399. {
  3400. SDK_wordEnc_GB2312, //汉字编码GB2312
  3401. SDK_wordEnc_Unicode, //万国码 Unicode
  3402. SDK_wordEnc_UTF8, //UTF-8
  3403. SDK_wordEnc_NR,
  3404. };
  3405. //所有通道的屏幕提示信息
  3406. typedef struct SDK_OSDInfoConfigAll
  3407. {
  3408. SDK_OSDInfoConfig vOSDInfoAll[NET_MAX_CHANNUM];
  3409. int strEnc;//编码格式,默认为UTF-8,不做任何处理;主要用于客户特殊需求,枚举参见SDK_wordEncType
  3410. }SDK_OSDInfoConfigAll;
  3411. //
  3412. typedef struct SDK_KaiCongAlarmConfig
  3413. {
  3414. bool Enable; ///< 是否开启
  3415. char ServerName[NET_NAME_PASSWORD_LEN]; ///< 服务名
  3416. int Port; ///< 端口号
  3417. char UserName[NET_NAME_PASSWORD_LEN]; ///< 用户名
  3418. char Password[NET_NAME_PASSWORD_LEN]; ///< 密码
  3419. }SDK_KaiCongAlarmConfig;
  3420. //
  3421. typedef struct SDK_VideoChannelManage
  3422. {
  3423. int nHVRCap;
  3424. int curMode;
  3425. bool bhide[MAX_HVR_CHNCAP_CHN];
  3426. SDK_CAPTURE_HVRCAPV2 HVRCap[MAX_HVR_CHNCAP_CHN];
  3427. }SDK_VideoChannelManage ;
  3428. //PTZ控制能力集
  3429. typedef struct SDK_PTZControlAbility
  3430. {
  3431. unsigned int nPTZPosition;
  3432. }SDK_PTZControlAbility;
  3433. typedef struct SDK_PositionPoint
  3434. {
  3435. int iPointStart_x;
  3436. int iPointStart_y;
  3437. int iPointEnd_x;
  3438. int iPointEnd_y;
  3439. }SDK_PositionPoint;
  3440. typedef struct SDK_XMHeartbeatConfig
  3441. {
  3442. bool bEnable; ///< 是否开启
  3443. int iInterval; ///< 保活间隔时间
  3444. char ServerName[NET_NAME_PASSWORD_LEN]; ///< 服务名
  3445. int Port; ///< 端口号
  3446. char UserName[NET_NAME_PASSWORD_LEN]; ///< 用户名
  3447. char Password[NET_NAME_PASSWORD_LEN]; ///< 密码
  3448. char resume[24];
  3449. }SDK_XMHeartbeatConfig;
  3450. typedef struct SDK_MonitorPlatformConfig
  3451. {
  3452. int Enable; ///< 是否开启
  3453. char servname[NET_NAME_PASSWORD_LEN];
  3454. int port;
  3455. char resume[24];
  3456. char agentid[128]; //客户端id,深广平台使用(以SSJC开头)
  3457. char type[128]; //
  3458. }SDK_MonitorPlatformConfig;
  3459. enum SDK_IMG_TYPE
  3460. {
  3461. SDK_IMG_TYPE_DEFAULT,
  3462. SDK_IMG_TYPE_1,
  3463. SDK_IMG_TYPE_2,
  3464. SDK_IMG_TYPE_NR,
  3465. };
  3466. //网络摄像头扩展参数
  3467. typedef struct SDK_CameraParamEx
  3468. {
  3469. SDK_GainCfg broadTrends; //宽动态
  3470. int style; //enum SDK_IMG_TYPE
  3471. unsigned int exposureTime;//实际生效的曝光时间
  3472. int Dis ;/**电子防抖设置 0:关闭 1:开启**/
  3473. int Ldc; //镜头畸变校正 0:关闭 1:开启**/
  3474. int AeMeansure; //**测光模式校正 0:平均测光 1:中央测光**/
  3475. int LowLuxMode; //微光模式 mode:0 关闭 1开启 ==only imx291
  3476. int res[49]; //冗余
  3477. }SDK_CameraParamEx;
  3478. // 摄像头所有扩展参数
  3479. typedef struct SDK_CameraParamExAll
  3480. {
  3481. SDK_CameraParamEx vCameraParamExAll[NET_MAX_CHANNUM];
  3482. }SDK_CameraParamExAll;
  3483. //网络服务定制平台通用配置,以后定制都用这个
  3484. typedef struct SDK_NetPlatformCommonCfg
  3485. {
  3486. int Enable;
  3487. int Port; ///< 端口号
  3488. char ServerName[NET_NAME_PASSWORD_LEN]; ///< 服务名
  3489. char ID[NET_NAME_PASSWORD_LEN];
  3490. char UserName[NET_NAME_PASSWORD_LEN]; ///< 用户名
  3491. char Password[NET_NAME_PASSWORD_LEN]; ///< 密码
  3492. char resume[128]; ///预留
  3493. }SDK_NetPlatformCommonCfg;
  3494. enum SDK_INFO_NET_LINK_STATUS
  3495. {
  3496. SDK_INFO_NET_LINK_OK = 0,
  3497. SDK_INFO_NET_LINK_FAILED = 1,
  3498. SDK_INFO_NET_LINK_NO_DEVICE = 2,
  3499. SDK_INFO_NET_LINK_INVALID = 9,
  3500. };
  3501. enum SDK_POSITIONING_DIRECTION
  3502. {
  3503. SDK_POS_DIRECTION_EAST = 'E',
  3504. SDK_POS_DIRECTION_WEST = 'W',
  3505. SDK_POS_DIRECTION_SOUTH = 'S',
  3506. SDK_POS_DIRECTION_NORTH = 'N'
  3507. };
  3508. typedef struct SDK_POSITIONING_POS//经纬度
  3509. {
  3510. int degree; //以(度/1000)为单位
  3511. char direction; //方位 取值如枚举值POSITIONING_DIRECTION所示
  3512. char res[3];
  3513. }SDK_POSITIONING_POS;
  3514. //GPS状态
  3515. typedef struct SDK_GPSStatusInfo
  3516. {
  3517. int positioningStatus; //定位状态,取值如枚举SDK_INFO_NET_LINK_STATUS所述
  3518. SDK_POSITIONING_POS longitudePos; //经度
  3519. SDK_POSITIONING_POS latitudePos; //纬度
  3520. char rev[12];
  3521. }SDK_GPSStatusInfo;
  3522. //wifi状态
  3523. typedef struct SDK_WifiStatusInfo
  3524. {
  3525. int connectStatus; //wifi连接状态 如枚举SDK_INFO_NET_LINK_STATUS所述
  3526. int strength; //信号强度
  3527. char rev[24];
  3528. }SDK_WifiStatusInfo;
  3529. //3G状态
  3530. typedef struct SDK_WirelessStatusInfo
  3531. {
  3532. int connectStatus; //3G连接状态 如枚举SDK_INFO_NET_LINK_STATUS所述
  3533. int strength; //信号强度
  3534. char rev[24];
  3535. }SDK_WirelessStatusInfo;
  3536. //主动注册状态
  3537. typedef struct SDK_DASStatusInfo
  3538. {
  3539. int connectStatus; //DAS连接状态 如枚举SDK_INFO_NET_LINK_STATUS所述
  3540. char rev[28];
  3541. }SDK_DASStatusInfo;
  3542. typedef struct SDK_RecordStorageInfo
  3543. {
  3544. unsigned int bStart;//是否录像标志位
  3545. SDK_SYSTEM_TIME beginTime;//录像开始时间
  3546. SDK_SYSTEM_TIME endTime;//录像结束时间
  3547. unsigned int storageCapacity;//硬盘总容量
  3548. unsigned int useCapacity;//使用容量
  3549. int res[16];//冗余
  3550. }SDK_RecordStorageInfo;
  3551. /// 解码延时等级
  3552. enum SDK_DecodeDeleyTypes
  3553. {
  3554. SDK_DecodeDeley_0 = 0,
  3555. SDK_DecodeDeley_1,
  3556. SDK_DecodeDeley_2,
  3557. SDK_DecodeDeley_3,
  3558. SDK_DecodeDeley_4,
  3559. SDK_DecodeDeley_5,
  3560. SDK_DecodeDeley_6,
  3561. SDK_DecodeDeley_TYPE_NR,
  3562. };
  3563. typedef struct SDK_DecodeDeleyTimePrame
  3564. {
  3565. unsigned int DecodeDeleyTime[SDK_DecodeDeley_TYPE_NR];
  3566. }SDK_DecodeDeleyTimePrame;
  3567. // 数字通道
  3568. typedef struct SDK_DecodeParam
  3569. {
  3570. int iMaxDeleyTime[NET_MAX_CHANNUM]; // 最大的解码延时
  3571. }SDK_DecodeParam;
  3572. typedef struct SDK_RecordStateInfo
  3573. {
  3574. int nchannel;
  3575. int RecordState;
  3576. }SDK_RecordStateInfo;
  3577. //定制视频颜色结构
  3578. typedef struct SDK_VIDEOCOLOR_PARAM_EX
  3579. {
  3580. int BrightnessRef; ///< 亮度ref1,取值0-100。
  3581. int ContrastRef; ///< 对比度ref1,取值0-100。
  3582. int ContrastThRef; ///< 对比度阀值ref1,取值0-100。
  3583. int ContrastSlopeRef; ///< 对比度斜率ref1,取值0-100。
  3584. int DarkBlfRef;
  3585. int DarkNfRef;
  3586. int DarkEcPthRef;
  3587. int DarkEcMthRef;
  3588. int DarkDcRef;
  3589. int CbGain; //high low middle
  3590. int CrGain; //higg low middle
  3591. int reserved; //保留
  3592. }SDK_VIDEOCOLOR_PARAM_EX;
  3593. typedef struct SDK_VIDEOCOLOR_PARAM_CUSTOM
  3594. {
  3595. SDK_VIDEOCOLOR_PARAM_EX VideoColor[3];
  3596. int Saturation; ///< 饱和度,取值0-100。
  3597. int Gain; ///< 增益,取值0-100。bit7置位表示自动增益,其他位被忽略。
  3598. int Acutance; ///< 锐度,取值0-100
  3599. int AeWight; //背光补偿
  3600. }SDK_VIDEOCOLOR_PARAM_CUSTOM;
  3601. enum SDK_FileControlType
  3602. {
  3603. SDK_FILE_DEL, //删除文件
  3604. SDK_FILE_DIR_DEL, //删除文件夹
  3605. SDK_FILE_DIR_CLEAR, //清空文件夹
  3606. SDK_FILE_NR,
  3607. };
  3608. typedef struct SDK_NetFileControl
  3609. {
  3610. int iAction; //enum FileControlType
  3611. char strfile[256];
  3612. }SDK_NetFileControl;
  3613. enum SDK_DecChnStateType
  3614. {
  3615. SDK_DEC_STA_NONE, //无用
  3616. SDK_DEC_STA_NOCONFIG, //未配置
  3617. SDK_DEC_STA_NOLOGIN, //未登陆
  3618. SDK_DEC_STA_NOCONNECT, //未连接
  3619. SDK_DEC_STA_CONNECTED, //已连接
  3620. SDK_DEC_STA_LOGIN_FAILED, //登录失败
  3621. };
  3622. typedef struct SDK_DigitStateInfo
  3623. {
  3624. int nchannel;
  3625. int DigitState; //SDK_DecChnStateType
  3626. }SDK_DigitStateInfo;
  3627. typedef struct SDK_TitleNameInfo
  3628. {
  3629. int nchannel;
  3630. char titleName[256];
  3631. }SDK_TitleNameInfo;
  3632. /*
  3633. ==SDK_TransferProtocol_V2
  3634. ==第一位代表SDK_TRANSFER_PROTOCOL_ONVIF_DEFAULT = 128,以此内推
  3635. */
  3636. typedef struct SDK_AbilityMask
  3637. {
  3638. unsigned int AbilityPram;
  3639. }SDK_AbilityMask;
  3640. enum SDK_Music_Play_Action
  3641. {
  3642. SDK_MUSIC_ACTION_PLAY,
  3643. SDK_MUSIC_ACTION_STOP,
  3644. SDK_MUSIC_ACTION_PAUSE,
  3645. SDK_MUSIC_ACTION_CONTINUE
  3646. };
  3647. typedef struct SDK_LocalMusicControl
  3648. {
  3649. int iAction; //参考SDK_Music_Play_Action
  3650. char sFileName[20];
  3651. }SDK_LocalMusicControl;
  3652. /// 音频文件列表信息
  3653. typedef struct SDK_MusicFileList
  3654. {
  3655. int iNumFiles; ///< 文件数量
  3656. char sFileName[8][20];
  3657. }SDK_MusicFileList;
  3658. enum SDK_CAR_BOOT_TYPE
  3659. {
  3660. SDK_CAR_BOOT_TYPE_SPARK, //点火熄火开关机
  3661. SDK_CAR_BOOT_TYPE_TIMING, //定时开关机
  3662. SDK_CAR_BOOT_TYPE_NR,
  3663. };
  3664. //点火开关机延时配置
  3665. typedef struct SDK_CarSparkWork
  3666. {
  3667. int bootDelayMinute; //开机延时分钟数
  3668. int shutDelayMinute; //关机延时分钟数
  3669. char resv[24]; //保留
  3670. }SDK_CarSparkWork;
  3671. //车载定时开关机配置
  3672. typedef struct SDK_CarTimingWork
  3673. {
  3674. SDK_TIMESECTION workSection1; //工作时间段1
  3675. SDK_TIMESECTION workSection2; //工作时间段2
  3676. char resv[32]; //保留
  3677. }SDK_CarTimingWork;
  3678. typedef struct SDK_CarBootTypeConfig
  3679. {
  3680. int bootType; //如枚举 SDK_CAR_BOOT_TYPE 所述
  3681. SDK_CarSparkWork sparkWorkConfig; //点火开关机配置
  3682. SDK_CarTimingWork timingWorkConfig; //定时开关机时间段1
  3683. char resv[48];
  3684. }SDK_CarBootTypeConfig;
  3685. //单个IPC
  3686. typedef struct SDK_ALARM_IPCCONFIG
  3687. {
  3688. bool bEnable; ///< 报警输入开关
  3689. int iSensorType; ///< 传感器类型常开 or 常闭
  3690. SDK_EventHandler hEvent; ///< 报警联动
  3691. }SDK_ALARM_IPCCONFIG;
  3692. ///< 所有数字通道的报警配置
  3693. typedef struct SDK_IPCAlarmConfigAll
  3694. {
  3695. SDK_ALARM_IPCCONFIG vAlarmConfigAll[NET_DECORDR_CH];
  3696. }SDK_IPCAlarmConfigAll;
  3697. //百度云
  3698. typedef struct SDK_BaiduCloudCfg
  3699. {
  3700. bool enable;
  3701. char APIKey[NET_NAME_TOKEN_LEN]; //应用API密钥
  3702. char SecretKey[NET_NAME_TOKEN_LEN]; //应用密钥
  3703. char AuthorizationCode[NET_NAME_TOKEN_LEN]; //授权码
  3704. char accessToken[NET_NAME_TOKEN_LEN]; //访问权限码
  3705. char refreshToken[NET_NAME_TOKEN_LEN]; //刷新权限码
  3706. char deviceID[NET_NAME_TOKEN_LEN]; //设备ID
  3707. char userCode[NET_NAME_TOKEN_LEN]; //用户授权码
  3708. char qrcodeUrl[NET_NAME_TOKEN_LEN]; //二维码
  3709. char streamID[NET_NAME_TOKEN_LEN]; //流ID
  3710. char describe[NET_NAME_TOKEN_LEN]; //设备名称
  3711. int state; //状态
  3712. SDK_SYSTEM_TIME refreshTime; //上次刷新Token时间
  3713. int channelMain[NET_MAX_CHANNUM]; //是否开启标记
  3714. int channelExtra[NET_MAX_CHANNUM]; //是否开启标记
  3715. int recordFileMode; //配置录像模式
  3716. int recordFileSize; //录像文件大小
  3717. int recordFileTime; //录像最长时间
  3718. char resume[128]; ///预留
  3719. }SDK_BaiduCloudCfg;
  3720. //手机订阅数
  3721. typedef struct SDK_PhoneInfoNum
  3722. {
  3723. int nNum;
  3724. }SDK_PhoneInfoNum;
  3725. typedef struct SDK_LOGIN_CFG//修改前端ip登录用
  3726. {
  3727. char sUserName[NET_MAX_USER_LENGTH]; ///< 登陆名字
  3728. char sPassword[NET_MAX_USER_LENGTH]; ///< 登陆密码
  3729. int iEncryptType; ///< 密码加密方式 固定值 1
  3730. }SDK_LOGIN_CFG;
  3731. typedef struct
  3732. {
  3733. int ch;
  3734. int devtype;
  3735. SDK_CONFIG_NET_COMMON netcfg;
  3736. SDK_LOGIN_CFG loginPram;
  3737. }SDK_IPSetCfg;
  3738. //二维
  3739. typedef struct SDK_DimenCode
  3740. {
  3741. int size;
  3742. unsigned char code[3920];// 177*177/32*4=3920,局部变量
  3743. }SDK_DimenCode;
  3744. typedef struct SDK_DimenCodeAll
  3745. {
  3746. SDK_DimenCode sn;
  3747. SDK_DimenCode appIOS;
  3748. SDK_DimenCode appAndroid;
  3749. SDK_DimenCode otherInfo; //客户自定义信息
  3750. }SDK_DimenCodeAll;
  3751. //中国电信手机看店平台
  3752. typedef struct SDK_MobileWatchCfg
  3753. {
  3754. int Enable;
  3755. char DevID[NET_NAME_ID_LEN]; // 设备编码
  3756. char DevKey[NET_NAME_ID_LEN]; // 设备验证码
  3757. char ManufacturerNo[NET_NAME_ID_LEN]; // 厂商编号
  3758. char Mode[NET_NAME_ID_LEN]; // 设备型号
  3759. char GroupAddr[NET_NAME_URL_LEN]; // 集团平台地址
  3760. char ProvinceAddr[NET_NAME_URL_LEN]; // 省平台地址
  3761. char NatIP[NET_NAME_ID_LEN]; // 设备主服务器接入地址
  3762. int NatPort; // 设备主服务器接入端口
  3763. char BackupNatIP[NET_NAME_ID_LEN]; // 设备备用服务器接入地址
  3764. int BackupNatPort; // 设备备用服务器接入端口
  3765. char TurnIP[NET_NAME_ID_LEN]; // TurnServer服务器地址
  3766. int TurnPort; // TurnServer服务器端口
  3767. char BackupTurnIP[NET_NAME_ID_LEN]; // TurnServer备份服务器地址
  3768. int BackupTurnPort; // TurnServer备份服务器端口
  3769. char FtpIP[NET_NAME_ID_LEN]; // 图片上传FTP服务器地址
  3770. int FtpPort; // 图片上传FTP服务器端口
  3771. char FtpAccount[NET_NAME_ID_LEN]; // 图片上传FTP服务器帐号
  3772. char FtpPassword[NET_NAME_ID_LEN]; // 图片上传FTP服务器密码
  3773. char resume[NET_NAME_URL_LEN]; // 预留
  3774. }SDK_MobileWatchCfg;
  3775. typedef struct SDK_BrowserLanguageType
  3776. {
  3777. int type;
  3778. }SDK_BrowserLanguageType;
  3779. typedef struct SDK_TimeZone
  3780. {
  3781. int minuteswest; //跟UTC时间的差值,单位分钟,可以为负
  3782. int FistFlag; //用于保证第一次使用的时候时间不变
  3783. }SDK_TimeZone;
  3784. enum SDK_TimeSynTypes
  3785. {
  3786. SDK_TST_OFF = 0,
  3787. SDK_TST_TIME_UTC,
  3788. SDK_TST_TIME_LOCAL,
  3789. SDK_TST_TIME_ALL,
  3790. SDK_TST_NR,
  3791. };
  3792. // 数字通道时间同步
  3793. typedef struct SDK_TimeSynParam
  3794. {
  3795. int iTimeModel[NET_MAX_CHANNUM]; //参考SDK_TimeSynTypes
  3796. }SDK_TimeSynParam;
  3797. typedef struct SDK_CustomizeOEMInfo
  3798. {
  3799. unsigned int typeMask;//类型: BITMSK(BURN_OEM_ID),BITMSK(BURN_OEM_PRODUCT),BITMSK(BURN_OEM_SERIAL)
  3800. unsigned int oemID;
  3801. unsigned int oemProduct;
  3802. unsigned int oemSerial;
  3803. }SDK_CustomizeOEMInfo;
  3804. typedef struct SDK_DigitDevInfo
  3805. {
  3806. bool enable; //配置是否可用,本地设备使用
  3807. int nCapture;//模拟通道数
  3808. int nAudio;//音频通道数
  3809. int videoFormat;//视频制式
  3810. CONFIG_EncodeAbility ability;//编码能力
  3811. }SDK_DigitDevInfo;
  3812. typedef struct SDK_EncodeChDisplay
  3813. {
  3814. unsigned int displayChanelMask; //IE显示的编码配置通道号掩码
  3815. }SDK_EncodeChDisplay;
  3816. //点间巡航
  3817. typedef struct SDK_TourState
  3818. {
  3819. bool bRunning;
  3820. int lineID; //点间巡航线路编号
  3821. }SDK_TourState;
  3822. //巡迹
  3823. typedef struct SDK_PatternState
  3824. {
  3825. bool bRunning;
  3826. int lineID; //巡迹线路编号 (未使用)
  3827. }SDK_PatternState;
  3828. //线扫
  3829. typedef struct SDK_ScanState
  3830. {
  3831. bool bRunning;
  3832. int lineID; //线扫线路编号 (未使用)
  3833. }SDK_ScanState;
  3834. //水平旋转
  3835. typedef struct SDK_PanonState
  3836. {
  3837. bool bRunning;
  3838. int lineID; //水平旋转线路编号 (未使用)
  3839. }SDK_PanonState;
  3840. //开机转到指定预置点
  3841. typedef struct SDK_PresetState
  3842. {
  3843. bool bEnable;
  3844. int iPresetID;
  3845. }SDK_PresetState;
  3846. //断电前位置
  3847. typedef struct SDK_PoweroffState
  3848. {
  3849. bool bEnable;
  3850. int iPresetID;
  3851. }SDK_PoweroffState;
  3852. //一个通道的云台操作状态
  3853. typedef struct SDK_PtzState
  3854. {
  3855. SDK_TourState tourState;
  3856. SDK_PatternState patternState;
  3857. SDK_ScanState scanState;
  3858. SDK_PanonState panonState;
  3859. SDK_PresetState presetState;
  3860. SDK_PoweroffState poweroffState;
  3861. }SDK_PtzState;
  3862. //重启后恢复之前的云台操作状态
  3863. typedef struct SDK_ResumePtzState
  3864. {
  3865. bool bEnable; //是否启用设备重启后恢复云台状态功能
  3866. SDK_PtzState ptzStateAll[NET_MAX_CHANNUM];
  3867. }SDK_ResumePtzState;
  3868. typedef struct SDK_AHDEncodeLMask
  3869. {
  3870. unsigned int AHDLMask;
  3871. }SDK_AHDEncodeLMask;
  3872. /// 速度报警类型
  3873. enum SDK_SpeedAlarmTypes
  3874. {
  3875. SDK_SPEED_ALARM_HIGH, // 高速报警
  3876. SDK_SPEED_ALARM_LOW, // 低速报警
  3877. SDK_SPEED_ALARM_NR
  3878. };
  3879. ///< 速度报警配置
  3880. typedef struct SDK_SpeedAlarmConfig
  3881. {
  3882. bool bEnable; ///< 速度报警开启
  3883. int iSpeed; ///< 速度
  3884. SDK_EventHandler hEvent; ///< 速度报警联动参数
  3885. }SDK_SpeedAlarmConfig;
  3886. /// 全部类型的速度报警配置
  3887. typedef struct SDK_SpeedAlarmConfigAll
  3888. {
  3889. SDK_SpeedAlarmConfig vSpeedAlarmAll[SDK_SPEED_ALARM_NR];
  3890. }SDK_SpeedAlarmConfigAll;
  3891. typedef struct SDK_CorrespondentOwnInfo
  3892. {
  3893. char brand[64];
  3894. char pModel[32];
  3895. char pFirmwareVersion[32];
  3896. char pHardwareId[32];
  3897. int port;
  3898. }SDK_CorrespondentOwnInfo;
  3899. typedef struct SDK_OSDInfo
  3900. {
  3901. int index;//设置通道标题和时间标题之外的区域,取值0和1
  3902. int nX;//范围0-1000
  3903. int nY;//范围0-1000
  3904. int nChannel;//要设置的通道
  3905. char pOSDStr[128];//要叠加的字符串
  3906. }SDK_OSDInfo;
  3907. typedef struct SDK_AppDownloadLink
  3908. {
  3909. bool IOSEnable; //是否显示iphone客户端二维码
  3910. bool AndroidEnable;//是否显示安卓客户端二维码
  3911. bool SNEnable; //是否显示序列号对应的二维码
  3912. bool OtherEnable; //是否显示客户自定义二维码
  3913. char inkIOS[128];
  3914. char linkAndroid[128];
  3915. char nameOther[128]; //客户自定义二维码名称
  3916. char linkOther[128]; //客户自定义二维码
  3917. }SDK_AppDownloadLink;
  3918. typedef struct SDK_UserMap
  3919. {
  3920. int size;
  3921. USER_INFO UserCfg[64];
  3922. }SDK_UserMap;
  3923. //上传串口数据到指定服务器
  3924. typedef struct SDK_NetTransCommData
  3925. {
  3926. bool bEnable; ///< 是否开启
  3927. int SerialType; //串口类型,0表示RS232,1表示RS485
  3928. int ServerType; ///协议类型名称,0表示TCP,1表示UDP
  3929. char ServerAddr[NET_NAME_PASSWORD_LEN]; //域名或者IP地址。
  3930. int ServerPort; //端口;
  3931. int ReportTime; //状态消息发送间隔时间,单位分钟
  3932. char LastReportTime[16]; //最后一次报告时间(客户增加配置)
  3933. char KeyPadNu[32]; //设备编号(客户增加配置)
  3934. char ConnStatus[16]; //连接状态(客户增加配置)
  3935. }SDK_NetTransCommData;
  3936. typedef struct SDK_PhoneInfo
  3937. {
  3938. char command[NET_NAME_PASSWORD_LEN];
  3939. char type[12];
  3940. char asid[128];
  3941. char username[NET_NAME_PASSWORD_LEN];
  3942. char password[NET_NAME_PASSWORD_LEN];
  3943. char acme[NET_NAME_PASSWORD_LEN];
  3944. char resume[24];
  3945. }SDK_PhoneInfo;
  3946. enum
  3947. {
  3948. SDK_MAX_VERSION_NUM = 20,
  3949. };
  3950. typedef struct SDK_CloudUpgradeVersion
  3951. {
  3952. char name[128];// 版本名
  3953. char date[12];//版本日期,格式:"2014-08-26"
  3954. unsigned int length; // 升级文件长度
  3955. }SDK_CloudUpgradeVersion;
  3956. typedef struct SDK_CloudUpgradeList
  3957. {
  3958. int num;
  3959. SDK_CloudUpgradeVersion versions[SDK_MAX_VERSION_NUM];
  3960. }SDK_CloudUpgradeList;
  3961. //启动客户demo
  3962. typedef struct SDK_NetUseProgram
  3963. {
  3964. bool bEnable; //是否开启
  3965. char UserName[NET_NAME_PASSWORD_LEN]; ///< 用户名
  3966. char Password[NET_NAME_PASSWORD_LEN]; ///< 密码
  3967. int Port; ///< 端口号
  3968. char ServerAddr[NET_NAME_PASSWORD_LEN]; //域名或者IP地址。
  3969. char Describe[NET_MAX_RIGTH_NUM]; //设备名称
  3970. }SDK_NetUseProgram;
  3971. typedef struct I_VERSION_INFO_T
  3972. {
  3973. char name[128];// 版本名
  3974. char date[12];//版本日期,格式:"2014-08-26"
  3975. unsigned int length; // 升级文件长度
  3976. }I_VERSION_INFO_T;
  3977. //wifi模式相关配置,用于行车记录仪自动切换AP模式
  3978. typedef struct SDK_NetWifiMode
  3979. {
  3980. int autoSwitchAPMode; //取值 1:自动切换成AP模式(家用模式) 0:不自动切换
  3981. int reserve[7];
  3982. }SDK_NetWifiMode;
  3983. //消费类产品的录像灯的状态
  3984. typedef struct SDK_FbExtraStateCtrl
  3985. {
  3986. int ison;
  3987. }SDK_FbExtraStateCtrl;
  3988. typedef struct SDK_AutoSwitch
  3989. {
  3990. int nStartTime;
  3991. int nStopTime;
  3992. int nStartDay;
  3993. int nStopDay;
  3994. bool bEnable;
  3995. }SDK_AutoSwitch;
  3996. typedef struct SDK_AutoSwitchAll
  3997. {
  3998. SDK_AutoSwitch Aswitch[10];
  3999. }SDK_AutoSwitchAll;
  4000. typedef struct SDK_tagPoint
  4001. {
  4002. int x;
  4003. int y;
  4004. }SDK_Point;
  4005. typedef struct SDK_TitleDot
  4006. {
  4007. int width;
  4008. int height;
  4009. char pDotBuf[NET_MAX_TITLE_DOT_BUF_LEN];
  4010. }SDK_TitleDot;
  4011. typedef struct SDK_PowerSocketSet
  4012. {
  4013. int nSwitch;
  4014. int nLight;
  4015. }SDK_PowerSocketSet;
  4016. typedef struct SDK_ClientInfo
  4017. {
  4018. char Description[NET_NAME_PASSWORD_LEN];
  4019. char Uuid[NET_NAME_PASSWORD_LEN];
  4020. char Phone[NET_NAME_PASSWORD_LEN];
  4021. char LoginTime[NET_NAME_PASSWORD_LEN];
  4022. char Number[NET_NAME_PASSWORD_LEN];
  4023. int Permission;
  4024. bool DeleThisClient;
  4025. }SDK_ClientInfo;
  4026. typedef struct SDK_ClientInfoAll
  4027. {
  4028. SDK_ClientInfo info[10];
  4029. }SDK_ClientInfoAll;
  4030. typedef struct SDK_Authority
  4031. {
  4032. int Level;
  4033. int Ability;
  4034. }SDK_Authority;
  4035. typedef struct SDK_Arm
  4036. {
  4037. int Guard;
  4038. }SDK_Arm;
  4039. typedef struct SDK_AlarmInfo_V2
  4040. {
  4041. char Descrip[64];
  4042. char SerialID[64];
  4043. char Type[32];
  4044. char iEvent[20];
  4045. char iStatus[20];
  4046. SDK_SYSTEM_TIME SysTime;
  4047. }SDK_AlarmInfo_V2;
  4048. /// 用户登陆方式
  4049. enum SDK_LoginType
  4050. {
  4051. H264_DVR_LOGIN_TYPE_WEB, ///< WEB登陆(默认)
  4052. H264_DVR_LOGIN_TYPE_LOCALUPGRADE, ///< 升级工具(局域网升级)登陆
  4053. H264_DVR_LOGIN_TYPE_CLOUDUPGRADE, ///< 云升级登陆
  4054. H264_DVR_LOGIN_TYPE_PCCLIENT, ///< PC客户端登陆
  4055. H264_DVR_LOGIN_TYPE_MOBILE, ///< 移动终端(IPhone)登陆
  4056. H264_DVR_LOGIN_TYPE_FUTRUE_HOME, //未来家庭客户端登陆
  4057. H264_DVR_LOGIN_TYPE_XM030,//xmeye客户端登陆
  4058. H264_DVR_LOGIN_TYPE_NR, ///< 登陆类型
  4059. };
  4060. typedef struct SDK_Xpms_Search_AlarmInfo_Req
  4061. {
  4062. char Uuid[100];
  4063. char authCode[100];
  4064. SDK_SYSTEM_TIME StarTime; //报警信息查询起始时间
  4065. SDK_SYSTEM_TIME EndTime; //报警信息查询结束时间,全0表示当前时间
  4066. int Channel; //Channel < 0 表示全部查询,通道号是从0开始的
  4067. int AlarmType; //报警类型(暂时无用)
  4068. int Number; //请求要查的报警条数 ,Number <= 0 表示查全部
  4069. int Index; //需要从查询的结果中哪一条开始取
  4070. char Res[32];
  4071. }SDK_XPMS_SEARCH_ALARMINFO_REQ;
  4072. typedef struct SDK_Xpms_Search_AlarmPic_Req
  4073. {
  4074. char Uuid[100];
  4075. char authCode[100];
  4076. #ifdef WIN32
  4077. __int64 ID;
  4078. #else
  4079. long long ID; //报警信息ID号
  4080. #endif
  4081. char Res[32];
  4082. }SDK_XPMS_SEARCH_ALARMPIC_REQ;
  4083. // 北京鸿泰恒平台
  4084. typedef struct SDK_CONFIG_NET_BJHONGTAIHENG
  4085. {
  4086. bool bEnable;
  4087. char ServerUrl[64]; //服务器地址
  4088. char DevID[16]; //设备id
  4089. char Password[16]; //设备验证码
  4090. char DevModel[16]; //设备型号
  4091. char SerialNo[20]; //设备序列号
  4092. }SDK_CONFIG_NET_BJHONGTAIHENG;
  4093. typedef enum
  4094. {
  4095. SDK_LocalAlarm = (int)0x00001,
  4096. SDK_MotionDetect = (int)0x00002,
  4097. }SDK_AlarmRecType;
  4098. //云存储配置相关结构体
  4099. typedef struct SDK_CloudRecordConfig
  4100. {
  4101. int EnableMsk; //0全不存,1是定时存,2报警存,3定时&& 报警
  4102. int StreamType; //码流类型
  4103. int AlarmRecTypeMsk; //需要上传录像的报警类型,AlarmRecType类型掩码
  4104. SDK_CONFIG_WORKSHEET wcWorkSheet; //普通录像需存储的时间段
  4105. }SDK_CloudRecordConfig;
  4106. typedef struct SDK_CloudRecordConfigAll
  4107. {
  4108. SDK_CloudRecordConfig vRecordConfigAll[NET_MAX_CHANNUM];
  4109. }SDK_CloudRecordConfigAll;
  4110. // 空闲动作
  4111. typedef struct SDK_PtzIdleState
  4112. {
  4113. bool bEnable; // 空闲动作使能位
  4114. int iTime; // 空闲时间 单位: 秒
  4115. int iIdleState; // 空闲动作类型
  4116. int iId; // 相应空闲动作类型的动作编号
  4117. }SDK_PtzIdleState;
  4118. typedef struct SDK_PtzIdleStateAll
  4119. {
  4120. SDK_PtzIdleState pPtzIdleStateAll[NET_MAX_CHANNUM];
  4121. }SDK_PtzIdleStateAll;
  4122. typedef struct SDK_CameraClearFog
  4123. {
  4124. bool enable; //0 打开,1 不打开
  4125. int level ; // 强度等级[0,100]
  4126. char rev[4];
  4127. }SDK_CameraClearFog;
  4128. typedef struct SDK_CameraClearFogAll
  4129. {
  4130. SDK_CameraClearFog vCameraClearFogAll[NET_MAX_CHANNUM];
  4131. }SDK_CameraClearFogAll;
  4132. //机器人马达控制
  4133. typedef struct SDK_CameraMotorCtrl
  4134. {
  4135. bool UDDireOverturn; //上下方向翻转
  4136. bool LRDireOverturn; //左右方向翻转
  4137. bool UDRestOverturn; //上下限位翻转
  4138. bool LRRestOverturn; //左右限位翻转
  4139. int rev[8];
  4140. }SDK_CameraMotorCtrl;
  4141. typedef struct SDK_EncodeAddBeep
  4142. {
  4143. int Enable; //置1 视频编码每隔30秒beep声,置0没有此功能
  4144. char res[4];
  4145. }SDK_EncodeAddBeep;
  4146. typedef struct SDK_DataLinkConfig
  4147. {
  4148. int DoProgramEnable;
  4149. int NIP2Enable;
  4150. }SDK_DataLinkConfig;
  4151. //安装位置
  4152. typedef enum{
  4153. SDK_FISHEYE_APP_CEIL = 0, //天花板
  4154. SDK_FISHEYE_APP_TABL = 1, //桌上
  4155. SDK_FISHEYE_APP_WALL = 2, //墙上
  4156. }SDK_FISHEYE_APP_TYPE_E;
  4157. //鱼眼模式
  4158. typedef enum{
  4159. SDK_FISHEYE_SECENE_ORIG = 0,
  4160. SDK_FISHEYE_SECENE_R = 1,
  4161. SDK_FISHEYE_SECENE_P180_ALL = 2,
  4162. SDK_FISHEYE_SECENE_P180_ONE = 3,
  4163. SDK_FISHEYE_SECENE_P180_TWO = 4,
  4164. SDK_FISHEYE_SECENE_P360_FULL = 5,
  4165. SDK_FISHEYE_SECENE_P360_SEPE = 6,
  4166. SDK_FISHEYE_SECENE_P360_HALF = 7,
  4167. SDK_FISHEYE_SECENE_ROP_R = 8,
  4168. SDK_FISHEYE_SECENE_RORR_R = 9,
  4169. SDK_FISHEYE_SECENE_RRRR_R = 10,
  4170. SDK_FISHEYE_SECENE_RRP_R = 11,
  4171. SDK_FISHEYE_SECENE_P360_FE = 12,
  4172. }SDK_FISHEYE_SECENE_E;
  4173. typedef struct SDK_FishEyeParam
  4174. {
  4175. int appType; //如枚举FISHEYE_APP_TYPE_E
  4176. int secene; //如枚举FISHEYE_SECENE_E
  4177. int duty; // 灯泡亮度 0~100级
  4178. unsigned int reserv[7];
  4179. }SDK_FishEyeParam;
  4180. /////////////////////////硬校正时使用的信息帧内容//////////////////////////
  4181. typedef struct SDK_FishEyeFrameHW
  4182. {
  4183. unsigned char secene; // 参考SDK_FISHEYE_SECENE_E定义,
  4184. // 目前只有SDK_FISHEYE_SECENE_P360_FE需要校正
  4185. unsigned char resv[3]; // 预留
  4186. }SDK_FishEyeFrameHW;
  4187. /////////////////////////软校正信息//////////////////////////
  4188. typedef enum FISHEYE_LENS_TYPE_E
  4189. {
  4190. SDK_FISHEYE_LENS_GENERAL = 0,
  4191. SDK_FISHEYE_LENS_360VR = 1,
  4192. SDK_FISHEYE_LENS_360LVR = 2,
  4193. SDK_FISHEYE_LENS_180VR = 3,
  4194. SDK_FISHEYE_LENS_DUAL_360VR = 4,
  4195. SDK_FISHEYE_LENS_DUAL_180VR = 5,
  4196. }FISHEYE_LENS_TYPE_E;
  4197. typedef struct SDK_FishEyeFrameSW
  4198. {
  4199. char version; //结构体的版本号(如果修改下面的成员导致app需要对新老程序分开处理时,则需要让扩展部将参数设置工具中的版本号加1,并修改设备上的默认配置)
  4200. char lensType; //镜头类型,如枚举E_FISH_LENS_TYPE
  4201. short centerOffsetX; //圆心偏差横坐标 单位:像素点
  4202. short centerOffsetY; //圆心偏差纵坐标 单位:像素点
  4203. short radius; //半径 单位:像素点
  4204. short imageWidth; //圆心校正时的图像宽度 单位:像素点
  4205. short imageHeight; //圆心校正时的图像高度 单位:像素点
  4206. char viewAngle; //视角 0:俯视 1:平视
  4207. char viewMode; //显示模式 0:360VR
  4208. char resv[10]; // 预留
  4209. }SDK_FishEyeFrameSW;
  4210. /////////////////////////普通镜头畸变矫正信息帧内容//////////////////////////
  4211. typedef struct SDK_FishEyeFrameCM
  4212. {
  4213. unsigned char cameraType;
  4214. unsigned char resv[7]; // 预留
  4215. }SDK_FishEyeFrameCM;
  4216. //是否叠加OSD logo
  4217. typedef struct SDK_SetLogo
  4218. {
  4219. int Enable;
  4220. int reserve[8];
  4221. }SDK_SetLogo;
  4222. typedef struct SDK_SparshHeartbeat
  4223. {
  4224. bool bEnable; ///是否启用
  4225. int IntevalTime; ///间隔上报时间
  4226. char AlarmType[NET_NAME_PASSWORD_LEN]; ///名称
  4227. }SDK_SparshHeartbeat;
  4228. typedef struct SDK_SDevicesState
  4229. {
  4230. int num; //设备数量
  4231. char uuid[32][32];//最大32个序列号
  4232. int state[32]; //0:不在线,1:在线
  4233. }SDK_SDevicesState;
  4234. typedef enum SDK_EncMode
  4235. {
  4236. WIFI_ENC_OPEN = 0,
  4237. WIFI_ENC_AES = 1,
  4238. WIFI_ENC_TKIP = 2,
  4239. WIFI_ENC_WEP =3
  4240. }SDK_EncMode;
  4241. typedef struct SDK_SWifiInfo
  4242. {
  4243. char wifiSsid[64];
  4244. char wifiPassword[64];
  4245. char wifiMac[64]; // 以:分隔的十六进制字符串
  4246. char wifiGateWay[64]; // 网关
  4247. char wifiSubmark[64]; // 子网掩码
  4248. char wifiDNS1[64]; // DNS1
  4249. char wifiDNS2[64]; // DNS2
  4250. int wifiEncMode; // 加密方式--EncMode
  4251. char mobileIp[32];
  4252. char mobileMac[32];
  4253. }SDK_SWifiInfo;
  4254. //客户的nas服务配置
  4255. typedef struct SDK_SPVMN_NAS_SERVER
  4256. {
  4257. char ServerIP[16];
  4258. int Port;
  4259. char RootDir[256];
  4260. char DowloadIP[16];
  4261. char DowloadPath[256];
  4262. }SDK_SPVMN_NAS_SERVER;
  4263. //IE端请求获取升级版本信息
  4264. typedef struct SDK_CloudUpgradeVersionReq
  4265. {
  4266. char uuid[20]; //设备序列号
  4267. char devID[32]; //设备类型的ID号
  4268. char curVersion[16]; //当前版本日期
  4269. char Language[32]; //语言类型
  4270. char devType; //类型
  4271. char expect; //0表示最新版本1表示查询重要版本
  4272. char manual; //1表示手动查询,0表示自动查询
  4273. char rev;
  4274. }SDK_CloudUpgradeVersionReq;
  4275. //后端回复给IE端获取的升级版本信息
  4276. typedef struct SDK_CloudUpgradeVersionRep
  4277. {
  4278. char FileName[128]; //文件名,下载请求时需填这个值
  4279. char DevID[32]; //设备类型的ID号
  4280. char Date[16]; //版本日期
  4281. int FileSize; //升级文件的大小
  4282. int FileLevel; //版本重要程度
  4283. char ChangeLog[512]; //change log,加到512字节,日志可能有很多
  4284. }SDK_CloudUpgradeVersionRep;
  4285. //web端发送给后端的升级程序请求
  4286. typedef struct SDK_CloudUpgradeStartReq
  4287. {
  4288. char uuid[20]; //设备序列号
  4289. char DevID[32]; //设备类型ID号
  4290. char FileName[128]; //升级文件名
  4291. char Date[16]; //版本日期
  4292. bool manual; //1表示用户手动的升级,0表示自动升级,手机端该值一般传1即可
  4293. }SDK_CloudUpgradeStartReq;
  4294. //ipv6
  4295. typedef struct SDK_IPAddressV6
  4296. {
  4297. bool bEnable; //是否启用ipv6
  4298. char pLocalLinkAddr[32]; //本地链路地址
  4299. char pAddr[64]; //ipv6地址
  4300. char pGateway[64]; //网关
  4301. int iPrefix; //ipv6前缀长度
  4302. } SDK_IPAddressV6;
  4303. typedef struct SDK_OnlineUpgradeCfg
  4304. {
  4305. char cEnable; //是否启用在线升级功能
  4306. char pServerAddr[63];
  4307. int serverPort;
  4308. int iFirmwareCheckMode; //是否自动检测有没有新固件,如枚举ENUM_CHECK_FIRMWARE_FREQ
  4309. char cAutoUpgrade; //自动升级到新版本
  4310. char cAutoUpgradeImp; //只自动升级重要更新
  4311. char cIgnoreAllVersion; //忽略所有版本的页面提示
  4312. char cIgnoreCurVersion; //忽略当前版本的页面提示,发现更新的版本后也只提示一次
  4313. unsigned int IgnoreCurTime; //忽略掉的当前版本的时间,与 bIgnoreCurVersion联用
  4314. char cJustImpVersion; //只有重要版本提示
  4315. char rev[3];
  4316. } SDK_OnlineUpgradeCfg;
  4317. //家用产品433报警联动项配置
  4318. typedef struct SDK_ConsSensorAlarmCfg
  4319. {
  4320. bool bEnable; // 动态检测开启
  4321. SDK_EventHandler hEvent; // 动态检测联动
  4322. } SDK_ConsSensorAlarmCfg;
  4323. ///<硬盘出错事件结构
  4324. typedef struct SDK_StorageFailConfig
  4325. {
  4326. bool bEnable;
  4327. SDK_EventHandler hEvent; ///< 处理参数
  4328. bool bRebootEnable; //系统重启全能:hutianhao
  4329. int bRebooted; //是否出错重启过;0:未出错重启过;非0:出错重启过
  4330. }SDK_StorageFailConfig;
  4331. //CMS客户端端发来的画面分割条件
  4332. typedef struct SDK_SplitControl
  4333. {
  4334. int iSplitChannel;//分割通道
  4335. int iSplitWinType;//分割类型(如:四通道)
  4336. char rev[4];
  4337. }SDK_SplitControl;
  4338. // 数据上传通道回调函数原型
  4339. typedef void (CALL_METHOD *fUploadDataCallBack) (long lLoginID, long UploadType, char *pBuffer, unsigned long dwBufSize, unsigned long dwUser);
  4340. // 透明串口回调函数原形
  4341. typedef void (CALL_METHOD *fTransComCallBack) (long lLoginID, long lTransComType, char *pBuffer, unsigned long dwBufSize, unsigned long dwUser);
  4342. //服务器断开回调原形
  4343. typedef void (CALL_METHOD *fDisConnect)(long lLoginID, char *pchDVRIP, long nDVRPort, unsigned long dwUser);
  4344. //原始数据回调原形
  4345. typedef int(CALL_METHOD *fRealDataCallBack) (long lRealHandle, long dwDataType, unsigned char *pBuffer,long lbufsize,long dwUser);
  4346. typedef int(CALL_METHOD *fRealDataCallBack_V2) (long lRealHandle, const PACKET_INFO_EX *pFrame, unsigned int dwUser);
  4347. // 回放录像进度回调原形
  4348. typedef void(CALL_METHOD *fDownLoadPosCallBack) (long lPlayHandle, long lTotalSize, long lDownLoadSize, long dwUser);
  4349. //消息(报警,主动注册)回调原形
  4350. /*
  4351. 1.报警,pBuf说明,
  4352. SDK_AlarmInfo alarmInfo;
  4353. memcpy ( &alarmInfo, pBuf, dwBufLen );
  4354. 2.主动注册,pBuf说明,
  4355. H264_DVR_ACTIVEREG_INFO activeInfo;
  4356. memcpy ( &alarmInfo, pBuf, dwBufLen );
  4357. */
  4358. typedef bool (CALL_METHOD *fMessCallBack)(long lLoginID, char *pBuf,
  4359. unsigned long dwBufLen, long dwUser);
  4360. //升级设备程序回调原形
  4361. /*
  4362. nSendSize = -1 说明升级完成
  4363. nSendSize = -2 说明升级出错
  4364. nTotalSize = -1时, nSendSize:1-99返回升级进度
  4365. nTotalSize =0时,nSendSize = H264_DVR_NOENOUGH_MEMORY-H264_DVR_INVALID_WIFI_DRIVE 升级错误具体码
  4366. 其他就是发送进度
  4367. 云升级增加了这一步:nTotalSize=-2时,nSendSize:0 - 100=下载进度,没有发送进度
  4368. */
  4369. typedef void(CALL_METHOD *fUpgradeCallBack) (long lLoginID, long lUpgradechannel,
  4370. int nTotalSize, int nSendSize, long dwUser);
  4371. // 语音对讲的音频数据回调函数原形
  4372. typedef void (CALL_METHOD *pfAudioDataCallBack)(long lVoiceHandle, char *pDataBuf,
  4373. long dwBufSize, char byAudioFlag, long dwUser);
  4374. //本地播放结束回调原形
  4375. typedef void (CALL_METHOD * fLocalPlayFileCallBack)(long lPlayHand, long nUser);
  4376. //信息帧回调设置
  4377. typedef void (CALL_METHOD *InfoFramCallBack)(long lPlayHand, long nType, LPCSTR pBuf,long nSize, long nUser);
  4378. //子连接断线回调
  4379. typedef void (CALL_METHOD *fSubDisConnectCallBack)(long lLoginID, SubConnType type, long nChannel, long dwUser);
  4380. #ifdef WIN32
  4381. //RigisterDraw回调原形
  4382. typedef void (CALL_METHOD * fPlayDrawCallBack)(long lPlayHand,HDC hDc,long nUser);
  4383. #else//linux没用到这个回调
  4384. typedef void (CALL_METHOD * fPlayDrawCallBack)(long lPlayHand,void* hDc,long nUser);
  4385. #endif // WIN32
  4386. /*
  4387. 描述:SDK初始化
  4388. 参数:
  4389. cbDisConnect[out]:断线回调函数
  4390. dwUser[in]:回调函数参数
  4391. 返回值:
  4392. =1: 成功
  4393. <=0:失败
  4394. */
  4395. H264_DVR_API long CALL_METHOD H264_DVR_Init(fDisConnect cbDisConnect, unsigned long dwUser);
  4396. /*
  4397. 描述:SDK退出清理
  4398. 返回值:
  4399. true: 成功
  4400. false:失败
  4401. */
  4402. H264_DVR_API bool CALL_METHOD H264_DVR_Cleanup();
  4403. /*
  4404. 描述:获取错误信息
  4405. 返回值:
  4406. 错误码
  4407. */
  4408. H264_DVR_API long CALL_METHOD H264_DVR_GetLastError();
  4409. /*
  4410. 描述:设置登录设备超时时间和尝试次数
  4411. 参数:
  4412. nWaitTime[in]:单位ms不设置时默认5000ms,
  4413. nTryTimes[in]:次数,不设置时默认3次
  4414. */
  4415. H264_DVR_API bool CALL_METHOD H264_DVR_SetConnectTime(long nWaitTime, long nTryTimes);
  4416. /*
  4417. 描述:登陆设备
  4418. 参数:
  4419. sDVRIP[in]: ip
  4420. wDVRPort[in]: 端口
  4421. sUserName[in]: 用户名
  4422. sPassword[in]: 密码
  4423. lpDeviceInfo[out]:返回设备信息
  4424. error[out]: 返回登陆错误码
  4425. socketType[in]: 登陆方式
  4426. 返回值:
  4427. >0或<0:成功
  4428. =0: 失败
  4429. */
  4430. H264_DVR_API long CALL_METHOD H264_DVR_Login(char *sDVRIP, unsigned short wDVRPort, char *sUserName, char *sPassword,
  4431. LPH264_DVR_DEVICEINFO lpDeviceInfo, int *error,int socketType DEF_PARAM(0));
  4432. /*
  4433. 描述:登陆设备扩展接口
  4434. 参数:
  4435. sDVRIP[in]: ip
  4436. wDVRPort[in]: 端口
  4437. sUserName[in]: 用户名
  4438. sPassword[in]: 密码
  4439. lpDeviceInfo[out]:返回设备信息
  4440. nType[in]: 登陆类型,0==web 1 ==升级工具 2 == 搜索工具 102 == 外部加密,内部就不用加密了
  4441. error[out]: 返回登陆错误码
  4442. 返回值:
  4443. >0或<0:成功
  4444. =0: 失败
  4445. */
  4446. H264_DVR_API long CALL_METHOD H264_DVR_LoginEx(char *sDVRIP, unsigned short wDVRPort, char *sUserName, char *sPassword,
  4447. LPH264_DVR_DEVICEINFO lpDeviceInfo, int nType, int *error);
  4448. /*
  4449. 描述:登陆接口V2版本,可以指定客户端类型登陆
  4450. 参数:
  4451. sDVRIP[in]: ip
  4452. wDVRPort[in]: 端口
  4453. sUserName[in]: 用户名
  4454. sPassword[in]: 密码
  4455. lpDeviceInfo[out]:返回设备信息
  4456. nType[in]: 登陆类型,见enum SDK_LoginType
  4457. error[out]: 返回登陆错误码
  4458. socketType[in]: 登陆方式
  4459. 返回值:
  4460. >0或<0:成功
  4461. =0: 失败
  4462. */
  4463. H264_DVR_API long CALL_METHOD H264_DVR_LoginEx_V2(char *sDVRIP, unsigned short wDVRPort, char *sUserName, char *sPassword,
  4464. LPH264_DVR_DEVICEINFO lpDeviceInfo, int nType, int *error,int socketType);
  4465. /*
  4466. 描述:客户云登陆接口
  4467. 参数:
  4468. sDVRIP[in]: 设备序列号
  4469. wDVRPort[in]: 端口
  4470. sUserName[in]: 用户名
  4471. sPassword[in]: 密码
  4472. lpDeviceInfo[out]:返回设备信息
  4473. error[out]: 返回登陆错误码
  4474. uuid[in]: uuid
  4475. 返回值:
  4476. >0或<0:成功
  4477. =0: 失败
  4478. */
  4479. H264_DVR_API long CALL_METHOD H264_DVR_Login_Cloud(char *sDVRIP, unsigned short wDVRPort, char *sUserName, char *sPassword,
  4480. LPH264_DVR_DEVICEINFO lpDeviceInfo, int *error,char* uuid);
  4481. /*
  4482. 描述:向设备注销,登出设备
  4483. 参数:
  4484. lLoginID[in]:登陆句柄
  4485. 返回值:
  4486. =1:成功
  4487. =0:失败
  4488. */
  4489. H264_DVR_API long CALL_METHOD H264_DVR_Logout(long lLoginID);
  4490. /*
  4491. 描述:设置接收DVR信息回调, 例如报警信息,以ID号区分
  4492. 参数:
  4493. cbAlarmcallback[out]:回调函数
  4494. lUser[in]: 回调函数参数
  4495. 返回值:
  4496. true: 成功
  4497. false:失败
  4498. */
  4499. H264_DVR_API bool CALL_METHOD H264_DVR_SetDVRMessCallBack(fMessCallBack cbAlarmcallback, unsigned long lUser);
  4500. /*
  4501. 描述:建立报警上传通道
  4502. 参数:
  4503. lLoginID[in]:登陆句柄
  4504. 返回值:
  4505. =1:成功
  4506. =0:失败
  4507. */
  4508. H264_DVR_API long CALL_METHOD H264_DVR_SetupAlarmChan(long lLoginID);
  4509. /*
  4510. 描述:关闭报警上报
  4511. 参数:
  4512. lLoginID[in]:登陆句柄
  4513. 返回值:
  4514. =1:成功
  4515. =0:失败
  4516. */
  4517. H264_DVR_API bool CALL_METHOD H264_DVR_CloseAlarmChan(long lLoginID);
  4518. /*
  4519. 描述:远程获取配置参数
  4520. 参数:
  4521. lLoginID[in]: 登陆句柄
  4522. dwCommand[in]: 控制命令,见enum SDK_CONFIG_TYPE
  4523. nChannelNO[in]: -1代表全通道,0-n代表单个通道
  4524. lpOutBuffer[out]: 接收缓冲
  4525. dwOutBufferSize[in]: 接收缓冲大小
  4526. lpBytesReturned[out]:返回的数据大小
  4527. waittime[in]: 等待时间
  4528. 返回值:
  4529. =1:成功
  4530. <0:失败
  4531. */
  4532. H264_DVR_API long CALL_METHOD H264_DVR_GetDevConfig(long lLoginID, unsigned long dwCommand, int nChannelNO, char * lpOutBuffer, unsigned long dwOutBufferSize, unsigned long* lpBytesReturned,int waittime DEF_PARAM(1000));
  4533. /*
  4534. 描述:远程设置配置参数
  4535. 参数:
  4536. lLoginID[in]: 登陆句柄
  4537. dwCommand[in]: 控制命令,见enum SDK_CONFIG_TYPE
  4538. nChannelNO[in]: -1代表全通道,0-n代表单个通道
  4539. lpInBuffer[out]: 输入缓冲
  4540. dwInBufferSize[in]: 输入缓冲大小
  4541. waittime[in]: 等待时间
  4542. 返回值:
  4543. =1:成功
  4544. <0:失败
  4545. */
  4546. H264_DVR_API long CALL_METHOD H264_DVR_SetDevConfig(long lLoginID, unsigned long dwCommand, int nChannelNO, char * lpInBuffer, unsigned long dwInBufferSize, int waittime DEF_PARAM(1000));
  4547. /*
  4548. 描述:跨网段设置设备配置,目前只支持对网络配置进行设置
  4549. 参数:
  4550. dwCommand[in]: E_SDK_CONFIG_SYSNET
  4551. nChannelNO[in]: 1临时保存,其他为永久保存
  4552. lpInBuffer[in]: SDK_CONFIG_NET_COMMON_V3结构体地址
  4553. dwInBufferSize[in]:sizeof(SDK_CONFIG_NET_COMMON_V3)
  4554. waittime[in]: 等待时间
  4555. 返回值:
  4556. =0:成功
  4557. <0:失败
  4558. */
  4559. H264_DVR_API long CALL_METHOD H264_DVR_SetConfigOverNet(unsigned long dwCommand, int nChannelNO, char * lpInBuffer, unsigned long dwInBufferSize, int waittime DEF_PARAM(1000));
  4560. /*
  4561. 描述:日志查询
  4562. 参数:
  4563. lLoginID[in]:登陆句柄
  4564. pFindParam[in]:查询条件
  4565. pRetBuffer[out]:日志返回信息
  4566. lBufSize[in]:接收日志信息大小
  4567. waittime:等待时间
  4568. 返回值:
  4569. true: 成功
  4570. false:失败
  4571. */
  4572. H264_DVR_API bool CALL_METHOD H264_DVR_FindDVRLog(long lLoginID, SDK_LogSearchCondition *pFindParam, SDK_LogList *pRetBuffer, long lBufSize, int waittime DEF_PARAM(2000));
  4573. /*
  4574. 描述:打开实时预览
  4575. 参数:
  4576. lLoginID[in]: 登陆句柄
  4577. lpClientInfo[in]:播放信息
  4578. 返回值:
  4579. >0或<0:成功,预览播放句柄
  4580. =0:失败,经常出现的错误码分析例如-11202见文档
  4581. */
  4582. H264_DVR_API long CALL_METHOD H264_DVR_RealPlay(long lLoginID, LPH264_DVR_CLIENTINFO lpClientInfo);
  4583. /*
  4584. 描述:停止实时预览
  4585. 参数:
  4586. lRealHandle[in]: 预览播放句柄
  4587. lpClientInfo[in]:播放信息
  4588. 返回值:
  4589. >0或<0:成功
  4590. =0:失败
  4591. */
  4592. H264_DVR_API bool CALL_METHOD H264_DVR_StopRealPlay(long lRealHandle,void*hWnd DEF_PARAM(0));
  4593. /*
  4594. 描述:控制实时预览
  4595. 参数:
  4596. lRealHandle[in]:预览播放句柄
  4597. bPause[in]: 暂停或继续 1-暂停 0-继续
  4598. 返回值:
  4599. =1:成功
  4600. =0:失败
  4601. */
  4602. H264_DVR_API long CALL_METHOD H264_DVR_PauseRealPlay(long lRealHandle, bool bPause);
  4603. /*
  4604. 描述:设置数据回调
  4605. 参数:
  4606. lRealHandle[in]:预览播放句柄
  4607. cbRealData[out]:实时数据回调
  4608. dwUser[in]: 回调函数参数
  4609. 返回值:
  4610. true: 成功
  4611. false:失败
  4612. */
  4613. H264_DVR_API bool CALL_METHOD H264_DVR_SetRealDataCallBack(long lRealHandle,fRealDataCallBack cbRealData, long dwUser);
  4614. /*
  4615. 描述:数据经过码流分析过,带有帧的具体信息,其他与H264_DVR_SetRealDataCallBack相同
  4616. */
  4617. H264_DVR_API bool CALL_METHOD H264_DVR_SetRealDataCallBack_V2(long lRealHandle,fRealDataCallBack_V2 cbRealData, long dwUser);
  4618. /*
  4619. 描述:清除回调函数,该函数需要在H264_DVR_StopRealPlay前调用
  4620. 参数:
  4621. lRealHandle[in]:预览播放句柄
  4622. cbRealData[in]: 实时回调函数
  4623. dwUser[in]: 实时回调函数参数
  4624. 返回值:
  4625. true: 成功
  4626. false:失败
  4627. */
  4628. H264_DVR_API bool CALL_METHOD H264_DVR_DelRealDataCallBack(long lRealHandle,fRealDataCallBack cbRealData, long dwUser);
  4629. /*
  4630. 描述:清除回调函数V2版本
  4631. 参数:
  4632. lRealHandle[in]:预览播放句柄
  4633. cbRealData[in]: 实时回调函数V2版本
  4634. dwUser[in]: 实时回调函数参数
  4635. 返回值:
  4636. true: 成功
  4637. false:失败
  4638. */
  4639. H264_DVR_API bool CALL_METHOD H264_DVR_DelRealDataCallBack_V2(long lRealHandle,fRealDataCallBack_V2 cbRealData, long dwUser);
  4640. /*
  4641. 描述:按文件名查询录像
  4642. 参数:
  4643. lLoginID[in]:登陆句柄
  4644. lpFindInfo[in]:查询条件
  4645. lpFileData[out]:查询结果
  4646. lMaxCount[in]:查询的最大录像数量
  4647. findcount[out]:查询到的录像数量
  4648. waittime[in]:等待时间
  4649. 返回值:
  4650. =1:成功
  4651. =0:失败
  4652. */
  4653. H264_DVR_API long CALL_METHOD H264_DVR_FindFile(long lLoginID, H264_DVR_FINDINFO* lpFindInfo, H264_DVR_FILE_DATA *lpFileData, int lMaxCount, int *findcount, int waittime DEF_PARAM(5000));
  4654. /*
  4655. 描述:按时间查询录像文件
  4656. 参数:
  4657. lLoginID[in]:登陆句柄
  4658. lpFindInfo[in]:查询条件
  4659. lpFileData[out]:查询结果
  4660. waittime[in]:等待时间
  4661. 返回值:
  4662. =1:成功
  4663. =0:失败
  4664. */
  4665. H264_DVR_API long CALL_METHOD H264_DVR_FindFileByTime(long lLoginID, SDK_SearchByTime* lpFindInfo, SDK_SearchByTimeResult *lpFileData, int waittime DEF_PARAM(10000));
  4666. /*
  4667. 描述:按文件名回放录像
  4668. 参数:
  4669. lLoginID[in]: 登陆句柄
  4670. sPlayBackFile[in]: 回放的文件参数
  4671. cbDownLoadPos[out]:进度回调,用户通知用户设备是否已经将数据发送完毕,回调中的lDownLoadSize=-1代表数据发送完毕
  4672. 客户如果想实时显示进度,应该从码流里面获取时间来计算网络部分不分析码流,如果以当前接收数据大小/总大小来计算进度的话不是很准,应该以当前时间,根据开始时间和结束时间来计算进度
  4673. fDownLoadDataCallBack[out]:回放数据回调
  4674. dwDataUser[in]: 数据回调参数
  4675. 返回值:
  4676. >0或<0:成功
  4677. =0: 失败
  4678. */
  4679. H264_DVR_API long CALL_METHOD H264_DVR_PlayBackByName(long lLoginID, H264_DVR_FILE_DATA *sPlayBackFile, fDownLoadPosCallBack cbDownLoadPos, fRealDataCallBack fDownLoadDataCallBack, long dwDataUser);
  4680. /*
  4681. 描述:按文件名回放录像
  4682. 参数:
  4683. lLoginID[in]: 登陆句柄
  4684. sPlayBackFile[in]: 回放的文件参数
  4685. cbDownLoadPos[out]:进度回调,用户通知用户设备是否已经将数据发送完毕,回调中的lDownLoadSize=-1代表数据发送完毕
  4686. 客户如果想实时显示进度,应该从码流里面获取时间来计算网络部分不分析码流,如果以当前接收数据大小/总大小来计算进度的话不是很准,应该以当前时间,根据开始时间和结束时间来计算进度
  4687. fDownLoadDataCallBack[out]:回放数据回调,数据经过码流分析
  4688. dwDataUser[in]: 数据回调参数
  4689. 返回值:
  4690. >0或<0:成功
  4691. =0: 失败
  4692. */
  4693. H264_DVR_API long CALL_METHOD H264_DVR_PlayBackByName_V2(long lLoginID, H264_DVR_FILE_DATA *sPlayBackFile, fDownLoadPosCallBack cbDownLoadPos, fRealDataCallBack_V2 fDownLoadDataCallBack, long dwDataUser);
  4694. /*
  4695. 描述:按时间回放录像
  4696. 参数:
  4697. lLoginID[in]: 登陆句柄
  4698. lpFindInfo[in]: 查询录像条件
  4699. cbDownLoadPos[out]:进度回调,用户通知用户设备是否已经将数据发送完毕,回调中的lDownLoadSize=-1代表数据发送完毕
  4700. fDownLoadDataCallBack[out]:回放数据回调
  4701. dwDataUser[in]: 数据回调参数
  4702. 返回值:
  4703. >0或<0:成功
  4704. =0: 失败
  4705. */
  4706. H264_DVR_API long CALL_METHOD H264_DVR_PlayBackByTime(long lLoginID, H264_DVR_FINDINFO* lpFindInfo, fDownLoadPosCallBack cbDownLoadPos, fRealDataCallBack fDownLoadDataCallBack, long dwDataUser);
  4707. /*
  4708. 描述:按时间回放录像Ex,进度回调和数据回调用不同的回调参数,其他与H264_DVR_PlayBackByTime相同
  4709. */
  4710. H264_DVR_API long CALL_METHOD H264_DVR_PlayBackByTimeEx(long lLoginID, H264_DVR_FINDINFO* lpFindInfo,fRealDataCallBack fDownLoadDataCallBack, long dwDataUser,
  4711. fDownLoadPosCallBack cbDownLoadPos, long dwPosUser);
  4712. /*
  4713. 描述:fDownLoadDataCallBack数据回调出来的数据的码流分析过,其他与H264_DVR_PlayBackByTimeEx相同
  4714. */
  4715. H264_DVR_API long CALL_METHOD H264_DVR_PlayBackByTime_V2(long lLoginID, H264_DVR_FINDINFO* lpFindInfo,fRealDataCallBack_V2 fDownLoadDataCallBack, long dwDataUser,
  4716. fDownLoadPosCallBack cbDownLoadPos, long dwPosUser);
  4717. /*
  4718. 描述:停止录像回放
  4719. 参数:
  4720. lPlayHandle[in]:回放句柄
  4721. 返回值:
  4722. true: 成功
  4723. false:失败
  4724. */
  4725. H264_DVR_API bool CALL_METHOD H264_DVR_StopPlayBack(long lPlayHandle);
  4726. /*
  4727. 描述:回放控制
  4728. 参数:
  4729. lPlayHandle[in]:回放句柄
  4730. lControlCode[in]:控制命令,见enum SDK_PlayBackAction
  4731. lCtrlValue[in]:控制值
  4732. 返回值:
  4733. true: 成功
  4734. false:失败
  4735. */
  4736. H264_DVR_API bool CALL_METHOD H264_DVR_PlayBackControl(long lPlayHandle, long lControlCode,long lCtrlValue);
  4737. /*
  4738. 描述:按文件名下载,用户可以不使用回调,自己通过H264_DVR_GetDownloadPos获取进度
  4739. 参数:
  4740. lLoginID[in]: 登陆句柄
  4741. sPlayBackFile[in]: 下载的录像信息
  4742. sSavedFileName[in]: 保存的文件路径
  4743. cbDownLoadPos[out]:下载进度回调
  4744. dwDataUser[in]: 回调函数参数
  4745. fDownLoadDataCallBack[out]:数据回调
  4746. 返回值:
  4747. <0或>0:成功
  4748. =0: 失败
  4749. */
  4750. H264_DVR_API long CALL_METHOD H264_DVR_GetFileByName(long lLoginID,H264_DVR_FILE_DATA *sPlayBackFile,char *sSavedFileName,
  4751. fDownLoadPosCallBack cbDownLoadPos DEF_0_PARAM, long dwDataUser DEF_0_PARAM,fRealDataCallBack fDownLoadDataCallBack DEF_0_PARAM);
  4752. /*
  4753. 描述:按文件名下载V2版本,数据回调是经过码流分析过,其他与H264_DVR_GetFileByName相同
  4754. */
  4755. H264_DVR_API long CALL_METHOD H264_DVR_GetFileByName_V2(long lLoginID,H264_DVR_FILE_DATA *sPlayBackFile,char *sSavedFileName,
  4756. fDownLoadPosCallBack cbDownLoadPos DEF_0_PARAM, long dwDataUser DEF_0_PARAM,fRealDataCallBack_V2 fDownLoadDataCallBack_V2 DEF_0_PARAM);
  4757. /*
  4758. 描述:按时间下载V2版本
  4759. 参数:
  4760. lLoginID[in]: 登陆句柄
  4761. lpFindInfo[in]: 录像查询条件
  4762. sSavedFileDIR[in]: 录像文件保存路径
  4763. bMerge[in]: 文件是否合并
  4764. cbDownLoadPos[out]: 进度回调,用户通知用户设备是否已经将数据发送完毕,回调中的lDownLoadSize=-1代表数据发送完毕
  4765. dwDataUser[in]: 回调函数参数
  4766. fDownLoadDataCallBack[in]:数据回调
  4767. 返回值:
  4768. >0或<0:成功
  4769. =0:失败
  4770. */
  4771. H264_DVR_API long CALL_METHOD H264_DVR_GetFileByTime(long lLoginID, H264_DVR_FINDINFO* lpFindInfo, char *sSavedFileDIR, bool bMerge DEF_PARAM(0),
  4772. fDownLoadPosCallBack cbDownLoadPos DEF_0_PARAM, long dwDataUser DEF_0_PARAM,fRealDataCallBack fDownLoadDataCallBack DEF_0_PARAM);
  4773. /*
  4774. 描述:数据回调出来的数据的码流分析过,其他与H264_DVR_GetFileByTime相同
  4775. */
  4776. H264_DVR_API long CALL_METHOD H264_DVR_GetFileByTime_V2(long lLoginID, H264_DVR_FINDINFO* lpFindInfo, char *sSavedFileDIR, bool bMerge
  4777. ,fDownLoadPosCallBack cbDownLoadPos DEF_0_PARAM,long dwDataUser DEF_0_PARAM,fRealDataCallBack_V2 fDownLoadDataCallBack_V2 DEF_0_PARAM);
  4778. /*
  4779. 描述:停止下载文件
  4780. 参数:
  4781. lFileHandle[in]:下载文件句柄
  4782. 返回值:
  4783. true: 成功
  4784. false:失败
  4785. */
  4786. H264_DVR_API bool CALL_METHOD H264_DVR_StopGetFile(long lFileHandle);
  4787. /*
  4788. 描述:下载控制
  4789. 参数:
  4790. lPlayHandle[in]: 下载句柄
  4791. lControlCode[in]:控制命令,见enum SDK_PlayBackAction
  4792. bDown[in]: 是否位下载,默认为1
  4793. 返回值:
  4794. true: 成功
  4795. false:失败
  4796. */
  4797. H264_DVR_API bool CALL_METHOD H264_DVR_GetFileControl(long lPlayHandle, long lControlCode, bool bDown DEF_PARAM(1));
  4798. /*
  4799. 描述:获取下载进度
  4800. 参数:
  4801. lFileHandle[in]:下载句柄
  4802. 返回值:
  4803. >=0:下载进度
  4804. <0: 失败
  4805. */
  4806. H264_DVR_API int CALL_METHOD H264_DVR_GetDownloadPos(long lFileHandle);
  4807. /*
  4808. 描述:本地升级
  4809. 参数:
  4810. lLoginID[in]: 登陆句柄
  4811. sFileName[in]:升级文件路径
  4812. nType[in]: 升级类型,1-开始升级 0-终止升级
  4813. cbUpgrade[in]:升级进度回调
  4814. dwUser[in]: 回调函数参数
  4815. 返回值:
  4816. >0或<0: 成功
  4817. =0: 失败
  4818. */
  4819. H264_DVR_API long CALL_METHOD H264_DVR_Upgrade(long lLoginID, char *sFileName, int nType DEF_0_PARAM, fUpgradeCallBack cbUpgrade DEF_0_PARAM, long dwUser DEF_0_PARAM);
  4820. /*
  4821. 描述:得到升级状态
  4822. 参数:
  4823. lUpgradeHandle[in]:升级句柄
  4824. 返回值:
  4825. 1:成功
  4826. 2:正在升级
  4827. 3:失败
  4828. */
  4829. H264_DVR_API int CALL_METHOD H264_DVR_GetUpgradeState(long lUpgradeHandle);
  4830. /*
  4831. 描述:释放升级句柄
  4832. 参数:
  4833. lUpgradeHandle[in]:升级句柄
  4834. 返回值:
  4835. =1:成功
  4836. =0:失败
  4837. */
  4838. H264_DVR_API long CALL_METHOD H264_DVR_CloseUpgradeHandle(long lUpgradeHandle);
  4839. /*
  4840. 描述:云台控制
  4841. 参数:
  4842. lLoginID[in]: 登陆句柄
  4843. nChannelNo[in]: 通道号
  4844. lPTZCommand[in]:控制命令,见enum PTZ_ControlType
  4845. bStop[in]: 是否是停止
  4846. lSpeed[in]: 速度
  4847. 返回值:
  4848. true: 成功
  4849. false:失败
  4850. */
  4851. H264_DVR_API bool CALL_METHOD H264_DVR_PTZControl(long lLoginID,int nChannelNo, long lPTZCommand, bool bStop DEF_PARAM(0), long lSpeed DEF_PARAM(4));
  4852. /*
  4853. 描述:1、设置,删除,转到预置点时:lParam1为预置点值
  4854. 2、加入预置点到巡航,删除巡航中预置点时:lParam1为巡航线路值,lParam2为预置点值,lParam3为时间间隔
  4855. 3、开始巡航,停止巡航,清除巡航线路时:lParam1为巡航线路值
  4856. 4、云台方向设置时:lParam1为水平步长,lParam2为垂直步长
  4857. 参数:
  4858. lLoginID[in]: 登陆句柄
  4859. nChannelNo[in]: 通道号
  4860. lPTZCommand[in]:控制命令,见enum PTZ_ControlType
  4861. lParam1[in]: 参数1
  4862. lParam2[in]: 参数2
  4863. lParam3[in]: 参数3
  4864. bStop[in]: 是否是停止
  4865. 返回值:
  4866. true: 成功
  4867. false:失败
  4868. */
  4869. H264_DVR_API bool CALL_METHOD H264_DVR_PTZControlEx(long lLoginID,int nChannelNo, long lPTZCommand,
  4870. long lParam1, long lParam2, long lParam3, bool bStop DEF_0_PARAM);
  4871. /*
  4872. 描述:设备控制
  4873. 参数:
  4874. lLoginID[in]:登陆句柄
  4875. type[in]: 控制类型,0 重启设备,1 清除日志 2 关机 3.恢复记录日志 4.停止记录日志
  4876. waittime[in]:等待时间
  4877. 返回值:
  4878. true: 成功
  4879. false:失败
  4880. */
  4881. H264_DVR_API bool CALL_METHOD H264_DVR_ControlDVR(long lLoginID, int type, int waittime DEF_PARAM(2000));
  4882. /*
  4883. 描述:搜索局域网内的设备
  4884. 参数:
  4885. szBuf[out]: 接收缓冲
  4886. nBufLen[in]: 接收缓冲大小,sizeof(SDK_CONFIG_NET_COMMON_V2)*n
  4887. pRetLen[in]: 返回的大小
  4888. nSearchTime[in]:等待时间
  4889. 返回值:
  4890. true: 成功
  4891. false:失败
  4892. */
  4893. H264_DVR_API bool CALL_METHOD H264_DVR_SearchDevice(char* szBuf, int nBufLen, int* pRetLen, int nSearchTime);
  4894. typedef void ( CALL_METHOD *pfSearchDeviceCallBack)(SDK_CONFIG_NET_COMMON_V2 *pNetCom , unsigned long userData);
  4895. //
  4896. /*
  4897. 描述:搜索局域网内的设备,搜索局域网内的设备V2版本
  4898. 参数:
  4899. pfNetCom[out]: 回调函数
  4900. userData[in]: 回调参数
  4901. nSearchTime[in]:等待时间
  4902. 返回值:
  4903. true: 成功
  4904. false:失败
  4905. */
  4906. H264_DVR_API bool CALL_METHOD H264_DVR_SearchDevice_V2(pfSearchDeviceCallBack pfNetCom,unsigned long userData, int nSearchTime);
  4907. /*
  4908. 描述:开始对讲
  4909. 参数:
  4910. lLoginID[in]: 登陆句柄
  4911. pVcb[out]: 接收对讲数据回调
  4912. dwDataUser[in]:回调函数参数
  4913. 返回值:
  4914. >0或<0: 成功
  4915. =0: 失败
  4916. */
  4917. H264_DVR_API long CALL_METHOD H264_DVR_StartVoiceCom_MR(long lLoginID, pfAudioDataCallBack pVcb, long dwDataUser);
  4918. /*
  4919. 描述:发送对讲数据
  4920. 参数:
  4921. lVoiceHandle[in]:对讲句柄
  4922. pSendBuf[in]: 对讲数据
  4923. lBufSize[in]: 对讲数据大小
  4924. 返回值:
  4925. true: 成功
  4926. false:失败
  4927. */
  4928. H264_DVR_API bool CALL_METHOD H264_DVR_VoiceComSendData(long lVoiceHandle, char *pSendBuf, long lBufSize);
  4929. /*
  4930. 描述:停止对讲
  4931. 参数:
  4932. lVoiceHandle[in]:对讲句柄
  4933. 返回值:
  4934. true: 成功
  4935. false:失败
  4936. */
  4937. H264_DVR_API bool CALL_METHOD H264_DVR_StopVoiceCom(long lVoiceHandle);
  4938. /*
  4939. 描述:设置对讲音频编码方式,用户可以不设置,默认为G711A编码
  4940. 参数:
  4941. lLoginID[in]: 登陆句柄
  4942. pTalkMode[in]: 通道号,-1代表全通道,0-n代表单个通道
  4943. 返回值:
  4944. true: 成功
  4945. false:失败
  4946. */
  4947. H264_DVR_API bool CALL_METHOD H264_DVR_SetTalkMode(long lLoginID, SDK_AudioInFormatConfig* pTalkMode);
  4948. /*
  4949. 描述:设置录像模式
  4950. 参数:
  4951. lLoginID[in]: 登陆句柄
  4952. nChannelNo[in]: 通道号,-1代表全通道,0-n代表单个通道
  4953. lRecordType[in]:录像模式,见enum SDK_RecordModeTypes
  4954. 返回值:
  4955. true: 成功
  4956. false:失败
  4957. */
  4958. H264_DVR_API bool CALL_METHOD H264_DVR_StartDVRRecord(long lLoginID, int nChannelNo ,long lRecordType);
  4959. /*
  4960. 描述:关闭录像
  4961. 参数:
  4962. lLoginID[in]: 登陆句柄
  4963. nChannelNo[in]: 通道号,-1代表全通道,0-n代表单个通道
  4964. 返回值:
  4965. true: 成功
  4966. false:失败
  4967. */
  4968. H264_DVR_API bool CALL_METHOD H264_DVR_StopDVRRecord(long lLoginID, int nChannelNo);
  4969. /*
  4970. 描述:设置设备系统时间
  4971. 参数:
  4972. lLoginID[in]:登陆句柄
  4973. pSysTime[in]:时间
  4974. 返回值:
  4975. true: 成功
  4976. false:失败
  4977. */
  4978. H264_DVR_API bool CALL_METHOD H264_DVR_SetSystemDateTime(long lLoginID, SDK_SYSTEM_TIME *pSysTime);
  4979. /*
  4980. 描述:得到设备的工作状态
  4981. 参数:
  4982. lLoginID[in]: 登陆句柄
  4983. pWorkState[out]:设备的工作状态
  4984. 返回值:
  4985. true: 成功
  4986. false:失败
  4987. */
  4988. H264_DVR_API bool CALL_METHOD H264_DVR_GetDVRWorkState(long lLoginID, SDK_DVR_WORKSTATE *pWorkState);
  4989. /*
  4990. 描述:网络键盘,具体使用方法见ClientDemo
  4991. 参数:
  4992. lLoginID[in]: 登陆句柄
  4993. pKeyBoardData[in]:网络键盘参数
  4994. 返回值:
  4995. true: 成功
  4996. false:失败
  4997. */
  4998. H264_DVR_API bool CALL_METHOD H264_DVR_ClickKey(long lLoginID, SDK_NetKeyBoardData *pKeyBoardData);
  4999. /*
  5000. 描述:对硬盘进行分区,格式化等等操作
  5001. 参数:
  5002. lLoginID[in]: 登陆句柄
  5003. pStorageCtl[in]:操作参数
  5004. 返回值:
  5005. =1: 成功
  5006. <=0:失败
  5007. */
  5008. H264_DVR_API int CALL_METHOD H264_DVR_StorageManage(long lLoginID, SDK_StorageDeviceControl *pStorageCtl);
  5009. /*
  5010. 描述:发送网络报警信息
  5011. 参数:
  5012. lLoginID[in]: 登陆句柄
  5013. pAlarmInfo[in]:网络报警参数
  5014. 返回值:
  5015. true: 成功
  5016. false:失败
  5017. */
  5018. H264_DVR_API bool CALL_METHOD H264_DVR_SendNetAlarmMsg(long lLoginID, SDK_NetAlarmInfo *pAlarmInfo);
  5019. /*
  5020. 描述:设备端抓图,即抓设备端发过来的即时的一张图片的内存buf
  5021. 1.需要设备配置里面有抓图配置选项该接口才有效
  5022. 2.如果满足1,默认抓出来的分辨率是D1,如果想抓跟视频分辨率一样的图片,就需要修改编码设置里的抓图分辨率,
  5023. 如果编码设置没有抓图分辨率选项,则需要定制支持该项的程序
  5024. 参数:
  5025. lLoginID[in]: 登陆句柄
  5026. nChannel[in]: 通道号
  5027. sFileName[in]:保存路径
  5028. 返回值:
  5029. true: 成功
  5030. false:失败
  5031. */
  5032. H264_DVR_API bool CALL_METHOD H264_DVR_CatchPic(long lLoginID, int nChannel, char *sFileName);
  5033. /*
  5034. 描述:设备端抓图,即抓设备端发过来的即时的一张图片的内存buf,外部生成文件
  5035. 1.需要设备配置里面有抓图配置选项该接口才有效
  5036. 2.如果满足1,默认抓出来的分辨率是D1,如果想抓跟视频分辨率一样的图片,就需要修改编码设置里的抓图分辨率,
  5037. 如果编码设置没有抓图分辨率选项,则需要定制支持该项的程序
  5038. 参数:
  5039. lLoginID[in]:登陆句柄
  5040. nChannel[in]:通道号
  5041. pBuffer[out]:接收缓冲
  5042. nBufLen[in]:接收缓冲的大小
  5043. pPicLen[in]:实际返回的大小
  5044. 返回值:
  5045. true: 成功
  5046. false:失败
  5047. */
  5048. H264_DVR_API bool CALL_METHOD H264_DVR_CatchPicInBuffer(long lLoginID, int nChannel, char *pBuffer, int nBufLen, int *pPicLen);
  5049. /*
  5050. 描述:启动报警中心监听(具体用法见AlarmCenter demo)
  5051. 参数:
  5052. nPort[in]: 监听端口号
  5053. cbAlarmCenter[out]:数据回调
  5054. dwDataUser[in]: 回调函数参数
  5055. 返回值:
  5056. true: 成功
  5057. false:失败
  5058. */
  5059. H264_DVR_API bool CALL_METHOD H264_DVR_StartAlarmCenterListen(int nPort, fMessCallBack cbAlarmCenter, unsigned long dwDataUser);
  5060. /*
  5061. 描述:关闭报警中心监听(具体用法见AlarmCenter demo)
  5062. 返回值:
  5063. true: 成功
  5064. false:失败
  5065. */
  5066. H264_DVR_API bool CALL_METHOD H264_DVR_StopAlarmCenterListen();
  5067. /*
  5068. 描述:通过串口向设备写数据
  5069. 参数:
  5070. lLoginID[in]:登陆句柄
  5071. nType[in]: 串口类型
  5072. pBuffer[in]: 数据
  5073. nBufLen[in]: 数据长度
  5074. 返回值:
  5075. true: 成功
  5076. false:失败
  5077. */
  5078. H264_DVR_API bool CALL_METHOD H264_DVR_SerialWrite(long lLoginID, SERIAL_TYPE nType, char *pBuffer, int nBufLen);
  5079. /*
  5080. 描述:通过串口从设备读数据
  5081. 参数:
  5082. lLoginID[in]: 登陆句柄
  5083. nType[in]: 串口类型
  5084. pBuffer[out]: 接收数据
  5085. nBufLen[in]: 接收数据长度
  5086. pReadLen[out]:收到的数据长度
  5087. 返回值:
  5088. true: 成功
  5089. false:失败
  5090. */
  5091. H264_DVR_API bool CALL_METHOD H264_DVR_SerialRead(long lLoginID, SERIAL_TYPE nType, char *pBuffer, int nBufLen, int *pReadLen);
  5092. /*
  5093. 描述:获取DDNS信息,具体用法见ClientDemo
  5094. 参数:
  5095. searchmode[in]:搜索信息
  5096. pDevicInfo[out]:DDNS信息
  5097. maxDeviceNum[in]:最大设备数
  5098. nretNum[out]:得到的设备数
  5099. 返回值:
  5100. =1:成功
  5101. <0:失败
  5102. */
  5103. //H264_DVR_API int CALL_METHOD H264_DVR_GetDDNSInfo(SearchMode &searchmode, DDNS_INFO *pDevicInfo, int maxDeviceNum, int &nretNum);
  5104. /*
  5105. 描述:强制I帧
  5106. 参数:
  5107. lLoginID[in]:登陆句柄
  5108. nChannel[in]:通道号
  5109. nStream[in]: 码流类型,0表示主码流,为1表示子码流
  5110. 返回值:
  5111. true: 成功
  5112. false:失败
  5113. */
  5114. H264_DVR_API bool CALL_METHOD H264_DVR_MakeKeyFrame(long lLoginID, int nChannel, int nStream);
  5115. /*
  5116. 描述:获取OEM信息
  5117. 参数:
  5118. lLoginID[in]: 登陆句柄
  5119. pOEMInfo[out]: OEM信息
  5120. 返回值:
  5121. true: 成功
  5122. false:失败
  5123. */
  5124. H264_DVR_API bool CALL_METHOD H264_DVR_GetOEMInfo(long lLoginID, SDK_OEMInfo *pOEMInfo);
  5125. /*
  5126. 描述:创建透明串口通道
  5127. 参数:
  5128. lLoginID[in]: 登陆句柄
  5129. TransInfo[in]: 透明串口参数
  5130. cbTransCom[out]: 设备数据回调
  5131. lUser[in]: 回调函数参数
  5132. 返回值:
  5133. true: 成功
  5134. false:失败
  5135. */
  5136. H264_DVR_API bool CALL_METHOD H264_DVR_OpenTransComChannel(long lLoginID, TransComChannel *TransInfo, fTransComCallBack cbTransCom, unsigned long lUser);
  5137. /*
  5138. 描述:关闭透明串口通道
  5139. 参数:
  5140. lLoginID[in]: 登陆句柄
  5141. nType[in]: 透明串口类型
  5142. 返回值:
  5143. true: 成功
  5144. false:失败
  5145. */
  5146. H264_DVR_API bool CALL_METHOD H264_DVR_CloseTransComChannel(long lLoginID, SERIAL_TYPE nType);
  5147. /*
  5148. 描述:获取本地ui图片
  5149. 参数:
  5150. lLoginID[in]: 登陆句柄
  5151. saveFileName[in]:图片保存路径
  5152. type[in]: 保存图片类型,1:为全图片 2:活动区域图片
  5153. */
  5154. H264_DVR_API bool CALL_METHOD H264_DVR_CatchPicUI(long lLoginID,char *saveFileName,int type DEF_PARAM(1));
  5155. #ifdef WIN32
  5156. /*
  5157. 描述:打开通道音频,预览/回放/本地播放一个函数
  5158. 参数:
  5159. lHandle[in]:播放句柄
  5160. 返回值:
  5161. true: 成功
  5162. false:失败
  5163. */
  5164. H264_DVR_API bool CALL_METHOD H264_DVR_OpenSound(long lHandle);
  5165. /*
  5166. 描述:关闭通道音频,预览/回放/本地播放一个函数
  5167. 参数:
  5168. lHandle[in]:播放句柄
  5169. 返回值:
  5170. true: 成功
  5171. false:失败
  5172. */
  5173. H264_DVR_API bool CALL_METHOD H264_DVR_CloseSound(long lHandle);
  5174. /*
  5175. 描述:抓本地图片,预览/回放/本地播放一个函数
  5176. 参数:
  5177. lHandle[in]:播放句柄
  5178. szSaveFileName[in]:保存图片路径
  5179. 返回值:
  5180. true: 成功
  5181. false:失败
  5182. */
  5183. H264_DVR_API bool CALL_METHOD H264_DVR_LocalCatchPic(long lHandle,char*szSaveFileName);
  5184. /*
  5185. 描述:打开对讲
  5186. 参数:
  5187. lLoginID[in]:登陆句柄
  5188. 返回值:
  5189. true: 成功
  5190. false:失败
  5191. */
  5192. H264_DVR_API long CALL_METHOD H264_DVR_StartLocalVoiceCom(long lLoginID);
  5193. /*
  5194. 描述:开始本地录像
  5195. 参数:
  5196. lRealHandle[in]:播放句柄
  5197. szSaveFileName[in]:录像路径
  5198. type[in]:录像类型
  5199. 返回值:
  5200. true: 成功
  5201. false:失败
  5202. */
  5203. H264_DVR_API bool CALL_METHOD H264_DVR_StartLocalRecord(long lRealHandle,char*szSaveFileName,long type=0);
  5204. /*
  5205. 描述:关闭本地录像
  5206. 参数:
  5207. lRealHandle[in]:播放句柄
  5208. 返回值:
  5209. true: 成功
  5210. false:失败
  5211. */
  5212. H264_DVR_API bool CALL_METHOD H264_DVR_StopLocalRecord(long lRealHandle);
  5213. /*
  5214. 描述:播放本地文件
  5215. 参数:
  5216. pFileName[in]: 录像文件路径
  5217. hWnd[in]: 播放窗口句柄
  5218. drawCallBack[out]:回调函数
  5219. user[in]: 回调函数参数
  5220. 返回值:本地播放句柄
  5221. >0或<0:成功
  5222. =0: 失败
  5223. */
  5224. H264_DVR_API long CALL_METHOD H264_DVR_StartLocalPlay(char*pFileName,void* hWnd,fPlayDrawCallBack drawCallBack=0,long user=0);
  5225. /*
  5226. 描述:关闭本地播放
  5227. 参数:
  5228. lPlayHandle[in]:本地播放句柄
  5229. 返回值:
  5230. true: 成功
  5231. false:失败
  5232. */
  5233. H264_DVR_API bool CALL_METHOD H264_DVR_StopLocalPlay(long lPlayHandle);
  5234. /*
  5235. 描述:获取播放位置(百分比),用于回放和本地播放,回放时传窗口句柄该接口才有效
  5236. 参数:
  5237. lPlayHandle[in]:回放句柄或本地播放句柄
  5238. 返回值:播放进度
  5239. */
  5240. H264_DVR_API float CALL_METHOD H264_DVR_GetPlayPos(long lPlayHandle);
  5241. /*
  5242. 描述:设置播放位置(百分比),用于回放,本地播放(本地回放时传窗口句柄该接口才有效)
  5243. 参数:
  5244. lPlayHandle[in]:回放句柄或本地播放句柄
  5245. fRelativPos[in]:播放进度
  5246. 返回值:
  5247. true: 成功
  5248. false:失败
  5249. */
  5250. H264_DVR_API bool CALL_METHOD H264_DVR_SetPlayPos(long lPlayHandle,float fRelativPos);
  5251. /*
  5252. 描述:播放控制(播放,停止,恢复,快发,慢放)
  5253. 参数:
  5254. lPlayHandle[in]:回放句柄或本地播放句柄
  5255. action[in]: 播放控制类型
  5256. lCtrlValue[in]: 控制速度
  5257. 返回值:
  5258. true: 成功
  5259. false:失败
  5260. */
  5261. H264_DVR_API bool CALL_METHOD H264_DVR_LocalPlayCtrl(long lPlayHandle,SDK_LoalPlayAction action,long lCtrlValue);
  5262. /*
  5263. 描述:设置本地播放结束回调
  5264. 参数:
  5265. lPlayHandle[in]:回放句柄或本地播放句柄
  5266. callBack[out]: 播放结束回调
  5267. user[in]: 回调函数参数
  5268. 返回值:
  5269. true: 成功
  5270. false:失败
  5271. */
  5272. H264_DVR_API bool CALL_METHOD H264_DVR_SetFileEndCallBack(long lPlayHandle,fLocalPlayFileCallBack callBack,long user);
  5273. /*
  5274. 描述:设置信息帧回调
  5275. 参数:
  5276. lPlayHandle[in]:实时播放句柄或者回放句柄或本地播放句柄
  5277. callback[out]: 信息帧回调
  5278. user[in]: 回调函数参数
  5279. 返回值:
  5280. true: 成功
  5281. false:失败
  5282. */
  5283. H264_DVR_API bool CALL_METHOD H264_DVR_SetInfoFrameCallBack(long lPlayHandle,InfoFramCallBack callback,long user);
  5284. /*
  5285. 描述:获取本地颜色,预览/回放/本地播放一个函数
  5286. 参数:
  5287. lHandle[in]: 实时播放句柄或者回放句柄或本地播放句柄
  5288. nRegionNum[in]: 显示区域,如果只有一个显示区域(通常情况)设为0
  5289. pBrightness[out]:亮度
  5290. pContrast[out]: 对比度
  5291. pSaturation[out]:饱和度
  5292. pHue[out]: 色调
  5293. 返回值:
  5294. true: 成功
  5295. false:失败
  5296. */
  5297. H264_DVR_API bool CALL_METHOD H264_DVR_LocalGetColor(long lHandle, DWORD nRegionNum, LONG *pBrightness, LONG *pContrast, LONG *pSaturation, LONG *pHue);
  5298. /*
  5299. 描述:本地颜色控制,预览/回放/本地播放一个函数
  5300. 参数:
  5301. lHandle[in]: 实时播放句柄或者回放句柄或本地播放句柄
  5302. nRegionNum[in]: 显示区域,如果只有一个显示区域(通常情况)设为0
  5303. pBrightness[in]:亮度
  5304. pContrast[in]: 对比度
  5305. pSaturation[in]:饱和度
  5306. pHue[in]: 色调
  5307. 返回值:
  5308. true: 成功
  5309. false:失败
  5310. */
  5311. H264_DVR_API bool CALL_METHOD H264_DVR_LocalSetColor(long lHandle, DWORD nRegionNum, LONG nBrightness, LONG nContrast, LONG nSaturation, LONG nHue);
  5312. #endif
  5313. /*
  5314. 描述:设置本地ip,socket通信套接字绑定的ip
  5315. 参数:
  5316. szIP[in]:ip
  5317. 返回值:
  5318. true: 成功
  5319. false:失败
  5320. */
  5321. H264_DVR_API bool CALL_METHOD H264_DVR_SetLocalBindAddress(char*szIP);
  5322. /*
  5323. 描述:开启上报数据,包括车载信息经纬度/录像状态/数字通道连接状态/通道标题
  5324. 参数:
  5325. lLoginID[in]:登陆句柄
  5326. upLoadType[in]:上报数据类型
  5327. callBack[out]:上报数据回调
  5328. lUser[in]:回调函数参数
  5329. 返回值:
  5330. true: 成功
  5331. false:失败
  5332. */
  5333. H264_DVR_API bool CALL_METHOD H264_DVR_StartUploadData(long lLoginID,UploadDataType upLoadType,fUploadDataCallBack callBack,long lUser);
  5334. /*
  5335. 描述:停止上报数据
  5336. 参数:
  5337. lLoginID[in]:登陆句柄
  5338. upLoadType[in]:上报数据类型
  5339. 返回值:
  5340. true: 成功
  5341. false:失败
  5342. */
  5343. H264_DVR_API bool CALL_METHOD H264_DVR_StopUploadData(long lLoginID,UploadDataType upLoadType);
  5344. /*
  5345. 描述:开始主动注册
  5346. 参数:
  5347. nPort[in]:监听端口号,0<=nPort<=65535
  5348. cbFunc[out]: 注册上线回调函数
  5349. dwDataUser[in]:回调函数参数
  5350. 返回值:
  5351. true:成功
  5352. false:失败
  5353. */
  5354. H264_DVR_API bool CALL_METHOD H264_DVR_StartActiveRigister(int nPort, fMessCallBack cbFunc, unsigned long dwDataUser);
  5355. /*
  5356. 描述:关闭主动注册
  5357. 返回值:
  5358. true:成功
  5359. false:失败
  5360. */
  5361. H264_DVR_API bool CALL_METHOD H264_DVR_StopActiveRigister();
  5362. /*
  5363. 描述:检测子连接异常断开
  5364. 参数:
  5365. callBack[out]:子连接断开回调
  5366. userData[in]: 回调函数参数
  5367. 返回值:
  5368. =1:成功
  5369. =0:失败
  5370. */
  5371. H264_DVR_API long CALL_METHOD H264_DVR_SetSubDisconnectCallBack(fSubDisConnectCallBack callBack,DWORD userData);
  5372. /*
  5373. 描述:设置保活时间,perKeeplifeTime(心跳间隔):默认10秒,detectDisconTime(断线检测时间):默认60秒
  5374. 参数:
  5375. lLoginID[in]: 登陆句柄
  5376. perKeeplifeTime[in]: 保活时间
  5377. detectDisconTime[in]:断线检测时间
  5378. 返回值:
  5379. =1:成功
  5380. =0:失败
  5381. */
  5382. H264_DVR_API long CALL_METHOD H264_DVR_SetKeepLifeTime(long lLoginID,unsigned int perKeeplifeTime,unsigned int detectDisconTime);
  5383. /*
  5384. 描述:MAC是否得到加密
  5385. 参数:
  5386. pMac[in]:MAC地址
  5387. 返回值:
  5388. true: 加密
  5389. false:没有加密
  5390. */
  5391. H264_DVR_API bool CALL_METHOD H264_DVR_CheckEncrypt(char *pMac);
  5392. /*
  5393. 描述:设备搜索到的设备,与设备在同一个局域网的设备,设备去搜索,然后返回结果(H264_DVR_SearchDevice这个接口是sdk本身去搜索,两者返回的结果是一致的)
  5394. 参数:
  5395. lLoginID[in]: 登陆句柄
  5396. pDevlist[out]: 设备列表
  5397. transferProtocol[in]:传输协议,见enum SDK_TransferProtocol_V2
  5398. waittime[in]: 等待时间
  5399. 返回值:
  5400. true: 成功
  5401. false:失败
  5402. */
  5403. H264_DVR_API bool CALL_METHOD H264_DVR_SearchDeviceEX(long lLoginID,SDK_NetDevList *pDevlist,SDK_TransferProtocol_V2 transferProtocol DEF_PARAM(SDK_TRANSFER_PROTOCOL_NETIP),int waittime DEF_PARAM(15000));
  5404. /*
  5405. 描述:云台快速定位,使用前判断是否支持
  5406. 参数:
  5407. lLoginID[in]: 登陆句柄
  5408. nChannel[in]: 通道号
  5409. pPositionPoint[in]:位置
  5410. 返回值:
  5411. true: 成功
  5412. false:失败
  5413. */
  5414. H264_DVR_API bool CALL_METHOD H264_DVR_PTZPostion(long lLoginID,int nChannel,SDK_PositionPoint *pPositionPoint);
  5415. /*
  5416. 描述:NVR和其连接的前端对讲,该功能需要特殊定制程序
  5417. 参数:
  5418. lLoginID[in]:登陆句柄
  5419. nChannel[in]:通道号
  5420. waittime[in]:等待时间
  5421. 返回值:
  5422. true: 成功
  5423. false:失败
  5424. */
  5425. H264_DVR_API bool CALL_METHOD H264_DVR_StartDevTalk(long lLoginID,int nChannel,int waittime DEF_PARAM(2000));
  5426. /*
  5427. 描述:停止NVR和其连接的前端对讲
  5428. 参数:
  5429. lLoginID[in]:登陆句柄
  5430. nChannel[in]:通道号
  5431. waittime[in]:等待时间
  5432. 返回值:
  5433. true: 成功
  5434. false:失败
  5435. */
  5436. H264_DVR_API bool CALL_METHOD H264_DVR_StopDevTalk(long lLoginID,int nChannel,int waittime DEF_PARAM(2000));
  5437. /*
  5438. 描述:查询硬盘录像信息
  5439. 参数:
  5440. lLoginID[in]: 登陆句柄
  5441. lpFindInfo[in]: 查询条件
  5442. lpFileData[out]:查找到的录像数据,外部开内存
  5443. waittime[in]: 查询超时时间
  5444. 返回值:
  5445. =1:成功
  5446. =0:失败
  5447. */
  5448. H264_DVR_API long CALL_METHOD H264_DVR_RecordInfo(long lLoginID, SDK_SearchByTime* lpFindInfo, SDK_RecordStorageInfo *lpRecordData, int waittime DEF_PARAM(15000));
  5449. /*
  5450. 描述:控制设备上文件
  5451. 参数:
  5452. lLoginID[in]: 登陆句柄
  5453. lpFileControl[in]:需要控制的文件和控制命令
  5454. waittime[in]: 等待时间
  5455. 返回值:
  5456. true: 成功
  5457. false:失败
  5458. */
  5459. H264_DVR_API bool CALL_METHOD H264_DVR_ControlFile(long lLoginID,SDK_NetFileControl *lpFileControl,int waittime DEF_PARAM(15000));
  5460. /*
  5461. 描述:查询录像设备里面音频文件,最大8个
  5462. 参数:
  5463. lLoginID[in]: 登陆句柄
  5464. lpFileList[out]:查找到的音频数据
  5465. waittime[in]: 等待时间
  5466. 返回值:
  5467. true: 成功
  5468. false:失败
  5469. */
  5470. H264_DVR_API bool CALL_METHOD H264_DVR_FindAudioFile(long lLoginID, SDK_MusicFileList* lpFileList, int waittime DEF_PARAM(5000));
  5471. /*
  5472. 描述:控制播放设备上音频文件
  5473. 参数:
  5474. lLoginID[in]: 登陆句柄
  5475. lpMusicControl[in]:需要播放的文件和控制命令
  5476. waittime[in]: 等待时间
  5477. 返回值:
  5478. true: 成功
  5479. false:失败
  5480. */
  5481. H264_DVR_API bool CALL_METHOD H264_DVR_ControlAudio(long lLoginID, SDK_LocalMusicControl *lpMusicControl, int waittime DEF_PARAM(2000));
  5482. /*
  5483. 描述:修改云穿透服务器地址
  5484. 参数:
  5485. ntype[in]: 备用参数
  5486. pUserData[in]:服务器地址
  5487. nlen[in]: 备用参数
  5488. 返回值:
  5489. true: 成功
  5490. false:失败
  5491. */
  5492. H264_DVR_API bool CALL_METHOD H264_DVR_UserData(int ntype,char *pUserData, long nlen);
  5493. /*
  5494. 描述:开始云升级
  5495. 参数:
  5496. lLoginID[in]:登陆句柄
  5497. sUpgradeVer[in]:升级的文件信息
  5498. 返回值:
  5499. =0:成功
  5500. <0:失败
  5501. */
  5502. H264_DVR_API long CALL_METHOD H264_DVR_Upgrade_Cloud(long lLoginID, SDK_CloudUpgradeVersion *sUpgradeVer, int nType DEF_0_PARAM, fUpgradeCallBack cbUpgrade DEF_0_PARAM, long dwUser DEF_0_PARAM);
  5503. /*
  5504. 描述:新的云升级
  5505. 参数:
  5506. lLoginID[in]:登陆句柄
  5507. sUpgradeVer[in]:升级的文件信息
  5508. 返回值:
  5509. =0:成功
  5510. <0:失败
  5511. 相关函数:H264_DVR_GetUpgradeVersion
  5512. */
  5513. H264_DVR_API long CALL_METHOD H264_DVR_Upgrade_Cloud_V2(long lLoginID, SDK_CloudUpgradeStartReq *sUpgradeVer, int nType DEF_0_PARAM, fUpgradeCallBack cbUpgrade DEF_0_PARAM, long dwUser DEF_0_PARAM);
  5514. /*
  5515. 描述:停止云升级
  5516. 参数:
  5517. lHandle[in]:云升级句柄
  5518. 返回值:
  5519. =0:成功
  5520. <0:失败
  5521. */
  5522. H264_DVR_API long CALL_METHOD H264_DVR_StopUpgrade_Cloud(long lHandle);
  5523. /*
  5524. 功能:查询某个设备的外网ip
  5525. 参数:
  5526. uuid[in]:设备序列号
  5527. ip[out]: 外网ip
  5528. 返回值:
  5529. =1: 成功
  5530. <=0:失败
  5531. */
  5532. H264_DVR_API bool CALL_METHOD H264_DVR_Get_OutNet_IP(const char *uuid, char* ip);
  5533. /*
  5534. 描述:设置云升级服务器地址和端口
  5535. 参数:
  5536. ip[in]: 服务器地址
  5537. port[in]:端口
  5538. 返回值:
  5539. =0: 成功
  5540. <0:失败
  5541. */
  5542. typedef void (*IDownProcess)(int nProcess,int userData);
  5543. typedef void (*IDownData)(unsigned char* data, unsigned int length, int nUserData);
  5544. H264_DVR_API int CALL_METHOD H264_DVR_SetServerAddr(const char *ip, int port);
  5545. #ifndef WIN32
  5546. /*
  5547. 描述:得到升级文件列表
  5548. 参数:
  5549. id[in]:id号
  5550. VersionList[out]:接收数据缓冲,大小sizeof(I_VERSION_INFO_T)*n
  5551. num[out]:获取到的升级文件数量
  5552. 返回值:
  5553. =0:成功
  5554. <0:失败
  5555. */
  5556. //H264_DVR_API int CALL_METHOD H264_DVR_GetUpgradeFileList(const char *id, char *VersionList,int &num);
  5557. /*
  5558. 描述:下载升级文件到本地
  5559. 参数:
  5560. strSaveFilePath[in]:保存的下载文件路径
  5561. id[in]: id号
  5562. date: 升级文件日期
  5563. name: 升价文件名称
  5564. length: 升级文件大小
  5565. ProgressCallback[out]:升级文件下载进度回调
  5566. IDownData[out]: 升级文件下载数据回调
  5567. userData[out]: 回调函数参数
  5568. 返回值:
  5569. =0:成功
  5570. <0:失败
  5571. */
  5572. H264_DVR_API int CALL_METHOD H264_DVR_StartDownload(const char* strSaveFilePath, const char *id, const char *date,const char *name,unsigned int length,IDownProcess ProgressCallback,IDownData DataCallback,int userData);
  5573. /*
  5574. 描述:取消下载升级文件
  5575. 返回值:
  5576. =0:成功
  5577. <0:失败
  5578. */
  5579. H264_DVR_API int CALL_METHOD H264_DVR_CancelDownload();
  5580. /*
  5581. 描述:获取云穿透服务器ip
  5582. 参数:
  5583. _serverip[out]:云穿透服务器ip
  5584. 返回值:
  5585. true: 成功
  5586. false:失败
  5587. */
  5588. H264_DVR_API bool CALL_METHOD H264_DVR_GetServerIp(char* _serverip);
  5589. H264_DVR_API int CALL_METHOD H264_DVR_AuthDevice_Init(char *uuid,char *ip,int port);
  5590. H264_DVR_API int CALL_METHOD H264_DVR_AuthDevice_Register();
  5591. H264_DVR_API int CALL_METHOD H264_DVR_AuthDevice_UnRegister();
  5592. H264_DVR_API int CALL_METHOD H264_DVR_AuthDevice_GetUpdateServer(char *ip,int size);
  5593. H264_DVR_API int CALL_METHOD H264_DVR_AlarmInit(char* uuid,char*ip,char* serIP);
  5594. typedef int (*MpsDevAuth)(char *buffer,int size); //鉴权
  5595. typedef int (*MpsDevDataRecv)(char *buffer,int size,int clientID); //数据由客户端发给设备
  5596. H264_DVR_API int CALL_METHOD H264_DVR_AlarmPush(char* buffer,int size);
  5597. H264_DVR_API int CALL_METHOD H264_DVR_AlarmStart(char* uuid,char* serIP,MpsDevAuth AuthCb, MpsDevDataRecv DataRecvCb);
  5598. /*
  5599. 描述:获取穿透库的版本信息
  5600. 参数:
  5601. version[out]:穿透库版本信息
  5602. size[i]: 大小
  5603. */
  5604. H264_DVR_API void CALL_METHOD H264_VV_NAT_GetVersion(char *version, int size);
  5605. /*
  5606. 描述:强制走转发
  5607. 参数:
  5608. skipP2P[in];1-强制转发;0-按正常检测机制流程
  5609. */
  5610. H264_DVR_API void CALL_METHOD H264_Direct_Proxy(int skipP2P);
  5611. /*
  5612. 描述:判断设备是精品还是非精品
  5613. 返回值:
  5614. =1:精品设备
  5615. =0:普通设备
  5616. */
  5617. H264_DVR_API int CALL_METHOD H264_XM_Unique();
  5618. /*
  5619. 描述:得到报警推送对象指针,供手机开发用
  5620. 返回值:
  5621. mps报警推送库IMpsAlarmClient对象指针
  5622. */
  5623. H264_DVR_API void* get_MpsAlarmClient_Instance();
  5624. /*
  5625. 描述:得到配置的json格式
  5626. 参数:
  5627. lLoginID[in]: 登陆句柄
  5628. dwCommand[in]: json名
  5629. nChannelNO[in]: 通道号,-1:得到全通道配置,0-n:得到单个通道的配置,从0开始
  5630. lpOutBuffer[out]: 接收json缓冲
  5631. dwOutBufferSize[in]: 接收缓冲大小
  5632. lpBytesReturned[out]:得到的缓冲大小(字节)
  5633. waittime[in]: 等待时间
  5634. 返回值:
  5635. =1:成功
  5636. <0:失败
  5637. */
  5638. H264_DVR_API long CALL_METHOD H264_DVR_GetDevConfig_Json(long lLoginID, const char* dwCommand, int nChannelNO,char * lpOutBuffer,unsigned long dwOutBufferSize,unsigned long* lpBytesReturned,int waittime DEF_PARAM(1000));
  5639. /*
  5640. 描述:设置配置的json格式
  5641. 参数:
  5642. lLoginID[in]: 登陆句柄
  5643. dwCommand[in]: json名
  5644. nChannelNO[in]: 通道号,-1:得到全通道配置,0-n:得到单个通道的配置,从0开始
  5645. lpOutBuffer[in]: 设置的json字符串
  5646. waittime[in]: 等待时间
  5647. 返回值:
  5648. =1:成功
  5649. <0:失败
  5650. */
  5651. H264_DVR_API long CALL_METHOD H264_DVR_SetDevConfig_Json(long lLoginID,const char* dwCommand, int nChannelNO, char * lpInBuffer,int waittime DEF_PARAM(1000));
  5652. typedef void (*PFunOnWifiConfigResult)(int nResult, SDK_CONFIG_NET_COMMON_V2 *pConfig);
  5653. /*
  5654. 描述:开始wifi一键配置
  5655. 参数:
  5656. pInfo[i]: 配置wifi的一些基本信息
  5657. pOnResult[out]:配置wifi成功后返回的设备网络参数
  5658. 返回值:
  5659. =1:成功
  5660. <0:失败
  5661. */
  5662. H264_DVR_API int CALL_METHOD H264_DVR_StartWifiConfig(SDK_SWifiInfo *pInfo, PFunOnWifiConfigResult pOnResult);
  5663. /*
  5664. 描述:停止wifi一键配置
  5665. */
  5666. H264_DVR_API void CALL_METHOD H264_DVR_StopWifiConfig();
  5667. /*
  5668. 描述:更改认证库用户名和密码
  5669. 参数:
  5670. userName[in]:用户名
  5671. password[in]:密码
  5672. 返回值:
  5673. =0:成功
  5674. <0:失败
  5675. */
  5676. H264_DVR_API int CALL_METHOD H264_DVR_SetAuthUserInfo(const char *userName, const char *password);
  5677. /*
  5678. 描述:既可以获取也可以配置设备参数
  5679. 参数:
  5680. lLoginID[in]: 登陆句柄
  5681. nCmdReq[in]: 请求命令
  5682. szCmd[in]: json名称
  5683. lpOutBuffer[out]: 接收json缓冲
  5684. dwOutBufferSize[in]: 接收缓冲大小(字节)
  5685. lpBytesReturned[out]:接收到的json大小
  5686. nTimeout[in]: 等待时间
  5687. pInParam[in]: 配置时使用的json字符串
  5688. nInParamLen[in]: 配置时json大小(字节)
  5689. 返回值:
  5690. =0:成功
  5691. <0:失败
  5692. */
  5693. H264_DVR_API long CALL_METHOD H264_DVR_CmdGeneral(long lLoginID, int nCmdReq, const char *szCmd, void *lpOutBuffer, unsigned long dwOutBufferSize, unsigned long* lpBytesReturned, int nTimeout, char *pInParam DEF_PARAM(0), int nInParamLen DEF_PARAM(0), int nCmdRes DEF_PARAM(-1));
  5694. #endif
  5695. /*
  5696. 描述:获取云升级的设备信息
  5697. 参数:
  5698. lLoginID[int]:登录句柄
  5699. versionInfo [int] :请求升级的信息
  5700. lpOutBuffer[out];设备版本的信息
  5701. dwOutBufferSize[out]:设备版本的大小
  5702. lpBytesReturned[out]:接收到的大小
  5703. waittime:等待时间
  5704. 返回值:
  5705. =0:成功
  5706. <0:失败
  5707. 相关函数:H264_DVR_Upgrade_Cloud_V2
  5708. */
  5709. H264_DVR_API long CALL_METHOD H264_DVR_GetUpgradeVersion(long lLoginID,SDK_CloudUpgradeVersionReq* versionInfo,
  5710. char * lpOutBuffer,unsigned long dwOutBufferSize,unsigned long* lpBytesReturned,int waittime/*=500*/);
  5711. /*
  5712. 描述:得到升级信息
  5713. 参数:
  5714. versionInfo [int] :请求升级的信息
  5715. verResp[out]:json 格式的响应
  5716. 返回值:
  5717. =0:成功
  5718. <0:失败
  5719. */
  5720. H264_DVR_API int CALL_METHOD H264_DVR_GetUpgradeFileList_V2(SDK_CloudUpgradeVersionReq* versionInfo,char* verResp);
  5721. /*
  5722. 描述:下载升级文件到本地
  5723. 参数:
  5724. strSaveFilePath[in]: 保存的下载文件路径
  5725. uuid[in]: 设备填uuid,客户端可以填用户名
  5726. devID[in]: H264_DVR_GetUpgradeFileList_V2 接口返回的dev id 号
  5727. filename[in]: H264_DVR_GetUpgradeFileList_V2 接口返回的file name
  5728. VerData[in]: 版本日期
  5729. manual[in]: 1表示用户主动操作,0表示设备定时操作
  5730. ProgressCallback[out]: 文件数据回调
  5731. DataCallback[out]: 进度回调
  5732. userData[out]: 回调函数参数
  5733. 返回值:
  5734. =0:成功
  5735. <0:失败
  5736. */
  5737. H264_DVR_API int CALL_METHOD H264_DVR_StartDownload_V2(const char* strSaveFilePath,
  5738. const char *uuid, const char *devID,const char *filename,const char* VerData,
  5739. unsigned int length,IDownProcess ProgressCallback,IDownData DataCallback,int userData);
  5740. typedef int (*OnFoundDevCB)(char * uuid,int state,int userData);
  5741. /*
  5742. 描述:查询多个设备是否在线V2版本
  5743. 参数:
  5744. pStates[out]: 要查询的多个设备信息,会返回设备状态
  5745. nTimeout[in]: 等待时间
  5746. decCb[out]: 设备在线与否的回调
  5747. userData[out]:回调参数
  5748. 返回值:
  5749. =0:成功
  5750. <0:失败
  5751. */
  5752. H264_DVR_API int CALL_METHOD H264_DVR_Check_Device_Exist_V2(SDK_SDevicesState *pStates, int nTimeout,OnFoundDevCB decCb,int userData);
  5753. /*
  5754. 描述:设置二次开发云访问uuid
  5755. 参数:
  5756. uuid[in]: 客户uuid
  5757. */
  5758. H264_DVR_API bool CALL_METHOD H264_DVR_Set_UUid(char* uuid);
  5759. typedef struct SDK_AlarmArea
  5760. {
  5761. unsigned short x0;
  5762. unsigned short y0;
  5763. unsigned short x1;
  5764. unsigned short y1;
  5765. }SDK_AlarmArea;
  5766. typedef struct SDK_AlarmAreaInfo
  5767. {
  5768. unsigned char version;
  5769. unsigned char count;
  5770. unsigned char res[2];
  5771. SDK_AlarmArea area[6];
  5772. unsigned char res1[12];
  5773. }SDK_AlarmAreaInfo;
  5774. typedef struct SNetCFG
  5775. {
  5776. char ip[64];
  5777. char gateway[64];
  5778. char subMask[64];
  5779. char dns1[64];
  5780. char dns2[64];
  5781. }SNetCFG;
  5782. #endif