La plataforma de servicio en la nube de video de la cámara de red del protocolo RTSP EasyNVR se conecta en cascada al canal EasyGBS a través del protocolo estándar nacional GB28181 para reproducir video, ¿cómo resolver el problema?

Todo el mundo sabe que EasyGBS se puede conectar en cascada. En la prueba reciente, EasyNVR se conectó en cascada a EasyGBS y se accedió al canal de la plataforma EasyNVR a través de EasyGBS. Se encontró que el canal de video era muy confuso y los nombres de los canales correspondientes eran los mismos, pero el contenido de reproducción era Inconsistente.

Fenómeno problema

Como puede ver en la figura siguiente, el nombre del canal en EasyGBS es diferente del nombre del canal de EasyNVR, pero el contenido es el mismo. Sin embargo, en el canal EasyNVR con el mismo nombre de canal que EasyGBS, se está reproduciendo el contenido de otra cámara.

81.png

82.png

83.png

analizar problema

Este fenómeno solo existe cuando EasyNVR se conecta en cascada con EasyGBS, por lo que se puede bloquear en EasyNVR en cascada con EasyGBS primero.

Observamos que el nombre del canal y otra información correspondiente a cada canal en la página son correctos, y luego los canales 1-9 en EasyGBS son todos correspondientes a EasyNVR, después de que se excede el canal 10, será incorrecto y el canal 11 está reproduciendo el canal 1. El canal 12 reproduce el canal 2. Por lo que sospechamos que EasyGBS puede invertirse en un error de número de canal de EasyNVR.

/**
反解通道ID
*/
func ParseChannelId(code string) (channelId int, err error) {
   var index int
   channelIdStr := code[len(code)-5:]
   for i, v := range channelIdStr {
      if string(v) != "0" {
         index = i
      }
   }
   channelId, err = strconv.Atoi(channelIdStr[index:])
   return channelId, err
}

EasyGBS envía un comando de reproducción a EasyNVR para invertir el ID de canal de EasyGBS en el ID de canal de EasyNVR correspondiente a EasyNVR.

Resolver el problema

/**
反解通道ID
*/
func ParseChannelId(code string) (channelId int, err error) {
   var index int
   channelIdStr := code[len(code)-5:]
   for i, v := range channelIdStr {
      if string(v) != "0" {
         index = i
         break
      }
   }
   channelId, err = strconv.Atoi(channelIdStr[index:])
   return channelId, err
}

El efecto después de sincronizar los ID de canal de las dos plataformas:

84.png

80.png

Con respecto a la conexión en cascada de las plataformas de video EasyGBS y EasyNVR, hemos escrito algunas publicaciones de blog antes para presentarle, puede revisar: " Cómo registrarse y cancelar EasyNVR a EasyGBS ", " Cómo EasyGBS realiza el acceso a los canales de video de EasyNVR " .

Si algún amigo todavía tiene preguntas sobre esto, comuníquese con nosotros para discutirlo. Todas las soluciones relacionadas con el video pueden visitar TSINGSEE Qingxi Video , puede contactarnos para obtener un programa de demostración, una experiencia intuitiva o puede descargar y probar usted mismo .

El servidor de medios de transmisión de código abierto EasyDarwin es un marco de plataforma de medios de transmisión de código abierto desarrollado y mantenido por el equipo nacional de medios de transmisión de código abierto TSINGSEE Qingxi Video. Desde su establecimiento y desarrollo en diciembre de 2012, se ha expandido desde la forma original de servidor de medios de transmisión de servicio único al proyecto actual de código abierto de la arquitectura de la plataforma en la nube.

Supongo que te gusta

Origin blog.csdn.net/EasyGBS/article/details/108734482
Recomendado
Clasificación