Платформа облачного сервиса видео сетевых камер с протоколом RTSP EasyNVR каскадно подключается к каналу EasyGBS через национальный стандарт GB28181 для воспроизведения видео. Как решить эту проблему?

Всем известно, что EasyGBS можно каскадировать. В недавнем тесте EasyNVR был каскадирован в EasyGBS, а доступ к каналу платформы EasyNVR был осуществлен через EasyGBS. Было обнаружено, что видеоканал был очень запутанным, и соответствующие имена каналов были такими же, но воспроизводимый контент был Непоследовательно.

Проблемное явление

Как видно из рисунка ниже, имя канала в EasyGBS отличается от имени канала в EasyNVR, но содержимое такое же. Однако в канале EasyNVR с тем же именем, что и EasyGBS, воспроизводится контент другой камеры.

81.png

82.png

83.png

проанализировать проблему

Это явление существует только при каскадном подключении EasyNVR к EasyGBS, поэтому сначала его можно заблокировать на EasyNVR, подключенном к EasyGBS.

Мы наблюдаем, что имя канала и другая информация, соответствующая каждому каналу на странице, верны, а затем каналы воспроизведения 1-9 на EasyGBS все соответствуют EasyNVR, после того, как канал 10 превышен, он будет неправильным, и канал 11 будет воспроизводить канал 1. Канал 12 воспроизводит канал 2. Таким образом, мы подозревали, что EasyGBS может быть преобразован в ошибку номера канала 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 отправляет команду воспроизведения в EasyNVR, чтобы преобразовать идентификатор канала EasyGBS в идентификатор канала EasyNVR, соответствующий 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
         break
      }
   }
   channelId, err = strconv.Atoi(channelIdStr[index:])
   return channelId, err
}

Эффект после синхронизации идентификаторов каналов двух платформ:

84.png

80.png

Что касается каскадирования видеоплатформ EasyGBS и EasyNVR, мы написали несколько сообщений в блоге, прежде чем познакомить вас, вы можете просмотреть: « Как зарегистрировать и отменить EasyNVR на EasyGBS », « Как EasyGBS реализует доступ к видеоканалам EasyNVR » .

Если у друзей остались вопросы по этому поводу, свяжитесь с нами для обсуждения. Все решения, связанные с видео, можно посетить на сайте TSINGSEE Qingxi Video , вы можете связаться с нами, чтобы получить демонстрационную программу, интуитивно понятный интерфейс, или вы можете загрузить и протестировать самостоятельно .

Сервер потокового мультимедиа с открытым исходным кодом EasyDarwin представляет собой платформу потокового мультимедиа с открытым исходным кодом, разработанную и поддерживаемую местной командой потокового мультимедиа с открытым исходным кодом TSINGSEE Qingxi Video. С момента своего создания и развития в декабре 2012 года он расширился от исходной формы сервера потокового мультимедиа с одним сервисом до текущего проекта архитектуры облачной платформы с открытым исходным кодом.

рекомендация

отblog.csdn.net/EasyGBS/article/details/108734482