elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Desarrollo SDK fabricante cámaras en Visual C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Desarrollo SDK fabricante cámaras en Visual C++  (Leído 2,196 veces)
troyano11

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Desarrollo SDK fabricante cámaras en Visual C++
« en: 22 Diciembre 2016, 17:39 pm »

Estoy intentando meterme en el mundo de los SDK de la mano de un proveedor de cámaras y grabadores (HIKVISION), el SDK esta en C++ y se compone de lo siguiente:

1-   Una demo de un software cliente para las cámara y grabadores.
2-   Manual del SDK.
3-   Librerías a incluir en el proyecto.
4-   Ejemplo del software cliente ya compilado.

El caso es que no estoy muy lúcido con Visual C++ (Me manejo en C#) y me preguntaba si alguien puede echarme una manita (NO al cuello) para tener un pequeño ejemplo de un “preview” (Conectar a una cámara). Para que os hagáis una idea, en el manual del SDK aparecen ejemplos de cada funcionalidad (Os dejo el SDK por si queréis echarle un vistazo rápido https://we.tl/xi5gvhkYWZ), me bastaría con ver o saber cómo pasar este código a visual y poder conectar y visualizar una cámara en una ventana.

La funcionalidad de preview en el SDK es la siguiente (Mediante un ejemplo):

Código
  1. #include <stdio.h>
  2. #include <iostream>
  3. #include "Windows.h"
  4. #include "HCNetSDK.h"
  5. #include <time.h>
  6. using namespace std;
  7.  
  8. void CALLBACK g_ExceptionCallBack(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser)
  9. {
  10.    char tempbuf[256] = {0};
  11.    switch(dwType)
  12.    {
  13.    case EXCEPTION_RECONNECT:    //reconnect when preview
  14.    printf("----------reconnect--------%d\n", time(NULL));
  15.    break;
  16. default:
  17.    break;
  18.    }
  19. }
  20.  
  21. void main() {
  22.  
  23.  //---------------------------------------
  24.  // Get the window handle of the console
  25.  HMODULE hKernel32 = GetModuleHandle("kernel32");
  26.  GetConsoleWindow = (PROCGETCONSOLEWINDOW)GetProcAddress(hKernel32,"GetConsoleWindow");
  27.  
  28.  //---------------------------------------
  29.  //Initialize SDK
  30.  NET_DVR_Init();
  31.  //Set connect time and reconnect time
  32.  NET_DVR_SetConnectTime(2000, 1);
  33.  NET_DVR_SetReconnect(10000, true);
  34.  
  35.  //---------------------------------------
  36.  //Login device
  37.  LONG lUserID;
  38.  NET_DVR_DEVICEINFO_V30 struDeviceInfo;
  39.  lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);
  40.  if (lUserID < 0)
  41.  {
  42.       printf("Login error, %d\n", NET_DVR_GetLastError());
  43.       NET_DVR_Cleanup();
  44.       return;
  45.  }
  46.  
  47.  //---------------------------------------
  48.  //Set exception callback function
  49.  NET_DVR_SetExceptionCallBack_V30(0, NULL,g_ExceptionCallBack, NULL);
  50.  
  51.  //---------------------------------------
  52.  //Start preview and set to callback stream data
  53.  LONG lRealPlayHandle;
  54.  HWND hWnd = GetConsoleWindow();     //Get window handle
  55.  NET_DVR_PREVIEWINFO struPlayInfo = {0};
  56.  struPlayInfo .hPlayWnd = hWnd;         //If need to decode, please set it valid. If want to get stream data only, it can be set to NULL
  57.  struPlayInfo .lChannel     = 1;       //Preview channel NO.
  58.  struPlayInfo .dwStreamType = 0;       //0-main stream, 1-sub stream, 2-stream3, 3-stream4.
  59.  struPlayInfo.dwLinkMode = 0;         //0-TCP mode, 1-UDP mode, 2-Multi-play mode, 3-RTP mode, 4-RTP/RTSP, 5-RTSP/HTTP
  60.  
  61.  lRealPlayHandle = NET_DVR_RealPlay_V40(lUserID, &struPlayInfo, NULL, NULL);
  62.  if (lRealPlayHandle < 0)
  63.  {
  64.      printf("NET_DVR_RealPlay_V40 error\n");
  65.  NET_DVR_Logout(lUserID);
  66.      NET_DVR_Cleanup();
  67.      return;
  68.  }
  69.  
  70.  //---------------------------------------
  71.  //Close preview
  72.  NET_DVR_StopRealPlay(lRealPlayHandle);
  73.  //Logout
  74.  NET_DVR_Logout(lUserID);
  75.  //Release SDK resource
  76.  NET_DVR_Cleanup();
  77.  
  78.  return;
  79. }
[/b]

[/color]

Para acceder a los equipos es necesario IP, usuario, contraseña y puerto.

lUserID = NET_DVR_Login_V30("192.0.0.64", 8000, "admin", "12345", &struDeviceInfo);


He llegado a probar copiando el código de ejemplo en un nuevo proyecto de C++ en Visual 2015 vacío (.cpp), después agregar las 4 librerías (La interesante para el preview es HCNetSDk.h) pero no salgo de ese punto... al compilar genera errores etc etc.

A ver si podéis echarme una mano chic@s.



Mod: Los códigos deben ir en etiquetas GeSHi


« Última modificación: 22 Diciembre 2016, 17:51 pm por engel lex » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Desarrollo SDK fabricante cámaras en Visual C++
« Respuesta #1 en: 23 Diciembre 2016, 13:08 pm »

¿Qué errores genera?


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Obtener numero de serie del fabricante (usb)
Programación Visual Basic
Vampersy 1 15,225 Último mensaje 21 Enero 2009, 13:00 pm
por Fabricio
[Duda] Fabricante desconocido
Análisis y Diseño de Malware
Psyke1 2 4,296 Último mensaje 17 Febrero 2011, 21:25 pm
por Psyke1
Como configurar el servidor de desarrollo de visual studio?
.NET (C#, VB.NET, ASP)
WHK 1 3,520 Último mensaje 13 Agosto 2013, 19:19 pm
por Novlucker
Han tumbado la web de Nissan, el fabricante de coches
Noticias
wolfbcn 1 1,222 Último mensaje 17 Enero 2016, 23:44 pm
por Orubatosu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines