jueves, 12 de septiembre de 2013

Protocolo de Comunicacion

Mejor protocolo para cámara IP

Habitualmente las cámaras IP tienen varias opciones de transmisión del video dentro de su configuración. Las comunes son HTTP, TCP y UDP

Cuales son las diferencias entre cada protocolo a la hora de transmitir video, y cual es el protocolo recomendado para configurar en la cámara por los fabricantes?

UDP:
Ventajas:
1. El audio y el video se transmiten en tiempo real (más rápido comparado que TCP y HTTP)
Desventajas:
1. No hay un mecanismo de reenvío de paquetes, por lo tanto, si se pierden paquetes por congestión de la red, el decodificador no puede descomprimir correctamente la imagen, produciendo el efecto que se puede ser en la imagen adjunta.
2. Para conexiones por Internet (no recomendada), se tienen que abrir varios puertos.
3. Para conexiones por internet, los paquetes UDP pueden ser bloqueados por el cortafuego.
Aplicación:
Normalmente se usa en la red interna para la visualización en vivo. No se recomienda usar para la grabación o para las conexiones a través de la internet.

TCP:
Ventajas:
1. Tiene mecanismo de reenvío de paquetes. Por lo tanto, si un paquete se pierde, el cliente le avisa a la cámara para que lo envíe de vuelta. El decodificador puede descomprimir perfectamente las imágenes porque todos los paquetes llegaron bien.
Desventajas:
1. No es tan tiempo real como UDP por el reenvío de paquetes.
2. Para conexiones por internet, se tienen que abrir o forwardear varios puertos.
3. Para conexiones por internet, los paquetes TCP pueden ser bloqueados por algunos cortafuegos.
Aplicación:
Normalmente se usa tanto en la red interna como por internet. Se utiliza especialmente para la grabación.

HTTP:
Ventajas:
1. Se basa en el protocolo TCP. Así que tiene las mismas ventajas, pero se empaqueta todos los paquetes TCP en paquetes HTTP para que los cortafuegos no lo bloqueen.
2. Para conexiones por internet, se necesita abrir solo un puerto.
Desventajas:
1. No es tan tiempo real como UDP
Aplicaciones:
Se usa normalmente para la visualización en vivo y grabación cuando se utiliza la internet porque tiene las ventajas de pasar por cortafuegos y tener que abrir solo un puerto.
Además existe otro tipo de conexión llamado HTTPS. Este es HTTP + SSL, que le agrega un mecanismo de encriptación para poder proteger el video y audio. Así nos podemos asegurar que nadie pueda hacer un "sniff" de los paquetes y estar viendo mi video.
Para las conexiones UDP, existen 2 tipos: Multicast o Unicast. Unicast son las conexions UDP normales que hablamos anteriormente.
Las multicast son usadas si hay muchos usuarios (+ que 10) que quieren ver video. Si necesitan saber más del tema, díganme y lo explico con más detalle.
Las cámaras VIVOTEK soportan todas estas conexiones que hablamos anteriormente, haciendo que la cámara sea lo suficientemente adaptable para todo tipo de transmisión y para todo tipo de ambientes de red.

PartIciones DSC

PARTICIONES CON SIA 

Se debe tener en cuenta que SIA es uno de los pocos protocolos que maneja por si mismo las particiones dentro de su trama de transmisión.
Si bien Contact ID también lo hace en la mayoría de las centrales de monitoreo de alarma en Latinoamérica he visto que cuando particionan un sistema asignan un número de abonado diferente por cada partición, lo cual no es precisamente un error pero tampoco es lo más adecuado ya que estamos consumiendo números de abonados de nuestra central. Lo cual tampoco es muy grave pues pocas centrales en América Latina superan los 65000 abonados.
Antes de explicar el manejo de particiones en SIA, voy a explicar cómo se debería manejar correctamente en Contact ID.

Para poder entender eso deberíamos comprender el formato Contact ID primero. Un mensaje ContactID tiene la siguiente estructura:
ACCT MT QXYZ GG CCC
Donde:
ACCT = Número de abonado (0-9, B-F).
MT = Tipo de mensaje. Esta secuencia de 2-dígitos es usada para que la receptora identifique que es un mensaje en Contact ID. Habitualmente se usa un 18 (preferiblemente) o un 98 (opcional). Receptoras de última generación deben aceptar un 18. Se debe tener en cuenta que antiguas receptoras no reciben un 98 como MT.
Q = Calificador de evento, este da información específica, así:
1 = Nuevo evento ó apertura.
3 = Nueva restauración o cierre.
6 = Condición reportada previamente que se mantiene presente. (Reporte de estado.)
XYZ = Código de evento (3 dígitos hexadecimales de 0-9, B-F)
GG = Grupo o número de partición (2 dígitos hexadecimales de 0-9, B-F). Se usa 00 para indicar que no aplica a ninguna partición o grupo o que el evento pertenece al sistema.
CCC = Número de zona (Reporte de eventos) o # de usuario (Reportes de Apertura/Cierre) (3 dígitos hexadecimales de 0-9, B-F). Use 000 para indicar que el evento no aplica a ningún usuario o partición.
S = 1 dígito hexadecimal de checksum calculado como se muestra:
(Suma de todos los dígitos + S) MOD 15 = 0
Así pues un mensaje que llega a la receptora de la siguiente forma se podría interpretar asi:
1234 18 1131 01 015 8
1234 = Número de abonado (1234).
18 = Es el número que identifica que se está enviando el mensaje en Contact ID.
1131 = El calificador del evento (1) para un nuevo evento, seguido por (131) que indica una alarma de robo perimetral.
01 = Es el número de la partición (1) a la que pertenece el evento.
015 = Es el número de la zona (015).
8 = Es el bit de paridad o checksum, calculado de la siguiente manera.
a) Sume todos los dígitos del mensaje, usando 10 para los ‘0’ (1+2+3+4) + (1+8) + (1+1+3+1) + (10+1) + (10+1+5) = 52
b) Encuentre el siguiente múltiplo de 15, que en este caso es 60.
c) Réstele el resultado de la suma del checksum, 60-52 = 8.
d) Si el resultado de la checksum es 0 use el dígito ‘F’h (15).
Entendido esto debemos ver que los dígitos 11 y 12 indican el número de la partición a la que pertenece el evento. Es por esto que no sería necesario generar un número de abonado diferente para cada una de las particiones.
De igual forma un mensaje en SIA iniciará siempre reportando la partición o área a la que pertenece el mensaje. Se identifica porque siempre va después del Nri y puede ir seguido de hasta cuatro dígitos entre 0000 y 9999.
Por ejemplo una emergencia médica de teclado que no pertenece a ninguna partición ni usuario llega siempre como Nri0/MA00, Nri0 indica que es un evento de sistema y MA00 que es una emergencia médica y no se asocia a ningún usuario. Un cierre de la partición uno por el usuario 22 se diferenciará de un cierre de la partición 2 por el mismo usuario ya que después del Nri se verá la partición tal como lo muestra el ejemplo.
Cierre partición 1 por usuario 22 Nri1/CL22
Cierre partición 2 por usuario 22 Nri2/CL22

Santiago Rivera

Velocidad de Transmision

Kbps utilizados por camaras standares ??


Todo depende de la marca... porque depende del algoritmo de compresión que se use y del nivel de calidad (entre mas calidad, mayor ancho de banda consume) que se tenga configurado.
Para dar referencias, a resolución VGA (640x480) que es mas baja de lo que las cámaras análogas pueden ofrecer y/o las tarjetas capturadoras convertir, un cuadro promedio puede estar entre 6KB y 15KB en promedio. (Este dato te lo debe dar el fabricante de la cámara, de la tarjeta capturadora, del encoder o del DVR que uses)
Si multiplicas por 30 FPS, tienes entre 180KB y 450KB en un segundo. Pero el ancho de banda se da en bps, por lo tanto debes multiplicar por 8. Entonces el ancho de banda puede estar entre 144 Kbps y 3,6 Mbps, insisto dependiendo del algoritmo de compresión.
Finalmente recuerda que la velocidad efectiva o real de un canal de comunicaciones, es cerca del 40% de la velocidad nominal (la que nos venden).

Entonces para responder a la segunda pregunta, suponiendo que trabajemos con 150 Kbps por cámara, en total necesitaríamos 750 Kbps efectivos, es decir al menos 1875 Kbps como velocidad nominal. Adicionalmente si trabajas con un VPN (excelente por la seguridad que brinda) debes adicionar algunos bits de mas, por la encripción natural... por lo tanto no debes usar un canal menor a 2Mbps (OJO: en cada extremo, es decir tanto en el sitio de las cámaras, como en el sitio para visualizarlas).
Pero las empresas de telecomunicaciones nos venden la velocidad de download, no la de upload, por lo tanto los 2Mbps pueden ser suficientes en donde visualizas, pero por lo menos el doble en donde están las cámaras.