Die Video-Cloud-Serviceplattform EasyNVR der Netzwerkkamera des RTSP-Protokolls wird über das nationale Standardprotokoll GB28181 zum Abspielen von Videos auf den EasyGBS-Kanal kaskadiert. Wie kann das Problem gelöst werden?

Jeder weiß, dass EasyGBS kaskadiert werden kann. Im letzten Test wurde EasyNVR zu EasyGBS kaskadiert, und auf den Kanal der EasyNVR-Plattform wurde über EasyGBS zugegriffen. Es wurde festgestellt, dass der Videokanal sehr verwirrend war und die entsprechenden Kanalnamen gleich waren, der Wiedergabeinhalt jedoch Inkonsistent.

Problemphänomen

Wie Sie in der folgenden Abbildung sehen können, unterscheidet sich der Kanalname in EasyGBS vom Kanalnamen von EasyNVR, der Inhalt ist jedoch derselbe. Im EasyNVR-Kanal mit demselben Kanalnamen wie EasyGBS wird jedoch der Inhalt einer anderen Kamera abgespielt.

81.png

82.png

83.png

Problem analysieren

Dieses Phänomen tritt nur auf, wenn EasyNVR mit EasyGBS kaskadiert ist, sodass es zuerst für EasyNVR gesperrt werden kann, das mit EasyGBS kaskadiert ist.

Wir stellen fest, dass der Kanalname und andere Informationen, die jedem Kanal auf der Seite entsprechen, korrekt sind, und dann entsprechen die Wiedergabekanäle 1-9 auf EasyGBS alle EasyNVR. Nachdem Kanal 10 überschritten wurde, ist dies falsch und Kanal 11 spielt Kanal ab 1. Kanal 12 spielt Kanal 2 ab. Wir hatten daher den Verdacht, dass EasyGBS in einen EasyNVR-Kanalnummernfehler umgewandelt werden könnte.

/**
反解通道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 sendet einen Wiedergabebefehl an EasyNVR, um die Kanal-ID von EasyGBS in die Kanal-ID von EasyNVR umzukehren, die EasyNVR entspricht.

Das Problem lösen

/**
反解通道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
}

Der Effekt nach dem Synchronisieren der Kanal-IDs der beiden Plattformen:

84.png

80.png

In Bezug auf die Kaskadierung von EasyGBS- und EasyNVR-Videoplattformen haben wir bereits einige Blog-Beiträge verfasst, um Sie vorzustellen. Sie können Folgendes überprüfen: " Registrieren und Abbrechen von EasyNVR bei EasyGBS ", " Wie EasyGBS den Zugriff auf EasyNVR-Videokanäle realisiert ". .

Wenn Freunde noch Fragen dazu haben, kontaktieren Sie uns bitte, um dies zu besprechen. Alle videobezogenen Lösungen können TSINGSEE Qingxi Video besuchen . Sie können uns kontaktieren, um ein Demonstrationsprogramm und eine intuitive Erfahrung zu erhalten, oder Sie können es selbst herunterladen und testen.

Der Open Source Streaming Media Server von EasyDarwin ist ein Open Source Streaming Media Plattform-Framework, das vom inländischen Open Source Streaming Media Team TSINGSEE Qingxi Video entwickelt und verwaltet wird. Seit seiner Erstellung und Entwicklung im Dezember 2012 hat es sich vom ursprünglichen Single-Service-Streaming-Media-Server-Formular zum aktuellen Open-Source-Projekt der Cloud-Plattform-Architektur erweitert.

Ich denke du magst

Origin blog.csdn.net/EasyGBS/article/details/108734482
Empfohlen
Rangfolge