jueves, 21 de abril de 2022

¿Que diferencia a JVC en sus cámaras PTZ?

En este artículo voy a hablar de las nuevas cámaras PTZ de JVC, en concreto de la KY-PZ200BE/WE que son las más básicas HD y de las versiones superiores: HD KY-PZ200NBE /NWE y 4K KY-PZ400NBE/NWE ambas con NDI/HX con codificación H264 o H265 que es NDI/HX2. Por supuesto el control PTZ vía NDI está activo y permite mover la cámara desde la propia imagen o mediante los controles visibles según nuestra preferencia.

Existen infinidad de cámaras en el mercado, incluso muchas de ellas son físicamente casi idénticas. Pero al igual que en los vehículos el exterior aparentemente idéntico no revela las enormes diferencias que puede alojar en su interior, que van desde el sensor a las funcionalidades internas, bit rate, protocolos, etc.

No voy a extenderme en todas sus características que podemos encontrar en la pagina web de JVC, y voy a centrar la atención en lo más relevante según mi opinión.

  • Camara Web.
  • Compatibilidad con software abierto VMix, OBS etc. se explica movimiento multicámara con OBS.
  • Transmisión H264/H265,SRT(Opciones profesionales),.
  • Sincronización de streaming NTP con VITC. Sincronización de imagen en recepción.



Cámara Web.
Los modelos KY-PZ200 y KY-PZ200N son las primeras cámaras de JVC en su gama profesional con  un puerto USB (UVC) o conexión como Web Cam. Su conexión al ordenador es vía USB, donde es reconocida de forma automática por el ordenador como Web Cam, para ser integrada en todos aquellos softwares que utilizan una cámara web como puede ser Skipe, Zoom, Teams, OBS, etc. eso si en caso de que ya exista una cámara web integrada o externa deberá seleccionarse mediante el interface del programa que se esté usando.
UVC es un estándar de dispositivo como cámara web que puede controlar los parámetros de la cámara desde el propio sistema del ordenador, incluidos los movimientos PTZ abriendo ventana de propiedades de la misma.
En los modelos KY-PZ200 y KY-PZ200N cuando se utiliza como Web Cam, desaparece la posibilidad de transmitir en streaming aunque el control por IP se mantiene. Esto permite controlar la cámara a distancia si se mantiene conectada por IP con, por ejemplo, el panel multicámara de JVC RM-LP100, mediante su web server, o por http://.


Uso de KYPZ200 con OBS como Cámara Web con control PTZ al abrir características de cámara

Compatibilidad con software abierto VMix, OBS etc. explico movimiento multicámara con software OBS.

El control de cámara en las KY-PZ200 y KY-PZ400 puede realizarse mediante IR (con mando a distancia incluido para 4 cámaras) y como no, a traves de NDI, RS-232 /RS485 e IP. Esto hace que todas estas cámaras sean compatibles con prácticamente todos los softwares de producción del mercado incluidos VMix y OBS muy utilizado en docencia y en producción audiovisual para redes sociales.

Con la version de firmware actual existe otra vía de control para las posiciones de cámara esta vía es desconocida o no mencionada en las características de la cámara y espero se mantenga con futuras actualizaciones ya que es útil, hablamos del control mediante http:// . El control http:// permite llamar una posición de cámara con cualquier navegador sin necesidad de abrir el web server de la cámara y con un software como OBS permite realizar en red local (LAN) o externa/remota (WAN) un control multicámara simultáneo a posiciones ya almacenadas.

El control multicámara simultáneo o por grupos es muy simple con la realización dedicada de JVC KM-IP4100 y KM-IP6000 Connected Cam Studio, que se hace directamente creando grupos donde se selecciona el número de las cámaras y su posición aunque este control es vía IP (API) no http://. 
Esto mismo se puede hacer con OBS gracias a la capacidad de control por http:// ya mencionada donde aunque no es complicado, es un poco más laborioso tal y como describo a continuación.

Con OBS se crean "Escenas", dentro de la Escena se introducen diferentes elementos, fuentes de video, reproducciones, etc.
En nuestro caso se debe introducir un elemento de "Navegador" por cámara y posición, primero se crea nuevo, ejemplo: "Pos1" y se introducen los parámetros correspondientes según la estructura base como se muestra a continuación en la URL.

La estructura es:
http://(usuario de cámara):(contraseña de cámara) @(IP):(puerto de control http de cámara)/cgi-bin/ptzctrl.cgi?ptzcmd&poscall&(numero de posición)
Ejemplo:
http://jvc:1234@xxx.xxx.xxx.xxx:8020/cgi-bin/ptzctrl.cgi?ptzcmd&poscall&1 

Nota: Si se realiza un control a través de internet (WAN) deberemos redirigir en el router donde esta la cámara el puerto HTTP usado por la cámara a la IP de la misma en en router (NAT).
 
Una vez hecho esto, la cámara irá a la posición correspondiente al seleccionar dicha "Escena". Todas las cámaras que tengan movimiento en esa "Escena" tienen que disponer de su entrada o elemento "Navegador" correspondiente. Es fundamental que la casilla (Actualizar navegador al activar la Escena) esté activa cuando se crean los elementos para su correcto funcionamiento.

 Los elementos http de navegador sólo actúan sobre el movimiento. La captación de imagen es otro elemento independiente que se deberá añadir a la "Escena" por cámara, ya que es independiente y puede ser diverso su formato de origen, cámara web, fuente VLC SRT, capturadora SDI o HDMI etc.



Transmisión H264/H265,SRT(Opciones profesionales),.

En los modelos KY-PZ200 /200N y KY-PZ400N encontramos diferentes protocolos de transmisión en streaming que además trabajan de forma simultánea rtmp o rtmps y rtsp pero realmente el más importante para mí, es el SRT.

La transmisión puede hacerse con compresión H264 o H265(HEVC). Cuando se transmite en H265 (HEVC) se necesita aproximadamente la mitad del ancho de banda o tasa de bits que con compresión H264. Esto es muy importante cuando se trabaja con anchos de banda limitados.

La tasa de bits puede ser variable VBR o constante CBR y puede situarse entre los 32 y los 61.440Kb lo que asegura una calidad excepcional si se dispone de un buen ancho de banda en la transmisión. Disponer de capacidad de transmitir con tasas de Bits muy altas es fundamental cuando se captan imágenes con constantes cambios de luz, como por ejemplo conciertos o eventos con iluminación espectacular. Es ahí donde la capacidad de compresión con tasa de bits bajas hace imposible evitar la visualización de artefactos por límites de compresión y se debe recurrir a altos Bit Rates.

SRT es un protocolo de transmisión cada vez más popular y extendido del cual existen diferentes opciones. Desde la más básica como simple protocolo de transporte, a otras más complejas como las que encontramos en esta serie de cámaras diseñadas para entornos de transmisión seguros y eficaces a través de internet público.

En la KY-PZ200/200N y 400N actualmente pueden trabajar en SRT modo Listener o Caller (el modo rendezvous, está previsto en nuevas actualizaciones). Con Listener y Caller se puede trabajar con prácticamente cualquier decodificador y si estos disponen también de ambos modos (listener y Caller), se puede dirigir el peso de la transmisión en subida o bajada según las limitaciones (si existen) del ancho de banda que encontramos en nuestra conexión de internet.


En esta serie de cámaras la transmisión en SRT puede ser encriptada (Encryption) con (Password) para garantizar la privacidad (muy importante en algunos entornos) que garantiza que no se nos pueda piratear la transmisión.

Tambien se dispone del control de Bandwith Overhead para optimizar la transmisión que fija el porcentaje de sobrecarga para la transmisión donde se aloja información adicional a la transmisión base, FEC, VITC, etc... entre 5-100%.

La latencia es otro factor importante para nuestro control que en ocasiones es determinante para la calidad de la transmisión, ya que determina el tiempo o retraso máximo de espera del transmisor a recibir peticiones (ARQ) de datos perdidos del receptor. Donde una vez superado este tiempo, se descartan los paquetes perdidos.

ARQ (Automatic Repeat Request), es una de las características relevantes como seguridad de transmisión que incorporan las KY-PZ200/400 en el SRT y que se desarrolla de forma automàtica. Sin embargo, antes de que ARQ deba actuar también se dispone de FEC (Forward Error Correction) que envia información preventiva para reconstruir datos por si existe perdida de los mismos en la transmisión, el tamaño o efectividad de FEC se puede ajustar en la cámara en forma matricial con las opciones 6x6, 8x8, 10x10 o sin FEC.

Finalmente el Stream ID permite trabajar con un único puerto e IP identificando los Streams por el Stream ID lo cual simplifica en gran medida la configuración de la red.

Sincronización de cámara por NTP e insertado VITC en streaming para sincronización de imagen en recepción.

Captura de ventana de SRT MiniServer, en su vesión 1.9 Beta
con salida de streaming sincronizado por NDI y SDI 

La sincronización NTP es muy utilizada en informática y cada vez más en otros muchos entornos como la producción profesional. NTP se utiliza por la mayoría de fabricantes para sincronizar el reloj interno de un equipo respecto a un reloj mundial. De hecho, JVC hace exactamente lo mismo y aprovecha la sincronización para insertar la información de reloj como código de tiempos en el intervalo vertical VITC en la imagen que se envia en streaming.
De esta forma al recibir el streaming de diferentes cámaras en recepción y disponer de la información exacta de cuando ha sido captada se pueden comparar y retardar una señal respecto a la otra para igualarlas y mostrarlas sincronizadas entre si, aunque estas se reciban en tiempos diferentes. Esto se puede hacer algunos decodificadores o softwares como SRTMiniServer (ver articulo)

La capacidad de manejar imágenes con mayor o menor tiempo diferencial entre ellas depende del Buffer de trabajo que suele ser de algunos segundos, esto es suficiente si las configuraciones de latencia y calidad del ancho de banda es buena.  
Esta forma de sincronizar las imágenes recibirlas por streaming permite trabajar con streaming generado en cualquier lugar del mundo, siempre que los relojes estén referenciados en NTP y con la misma diferencia horaria en base a UTC "Tiempo Universal Coordinado" o GMT "Greenwich Mean Time", ya de lo contrario, dará error y será inviable su sincronización debido a que las diferencias locales se basan siempre saltos de 1h o 30'.