Pull to refresh

Facebook выложила на GitHub механизм потоковой передачи медиа RTMP Go Away

Reading time1 min
Views3.2K

Компания представила протокол RTMP Go Away для потоковых трансляций. Обновление поможет автоматически переподключаться к эфиру при потере соединения.

Имеющийся RTMP-протокол использует постоянные TCP-соединения, но когда связь между клиентом и платформой прерывается, то данные теряются до того момента, пока клиент не сможет повторно переподключиться к новому серверу. RTMP Go Away решает эту проблему, позволяя активному серверу отправлять сигналы, указывающие ему на необходимость разорвать существующее соединение. Такой подход помогает клиенту создать новое подключение без потери данных.

Работа RTMP Go Away строится на классическом RTMP-протоколе, что позволяет клиенту и серверу обмениваться данными, а функция Go Away обеспечивает эталонную реализацию клиентской части.

Работа новой функции состоит из следующих этапов:

  • при подключении клиент потоковой передачи сообщает серверу о том, что он умеет работать с новой функцией. Это происходит благодаря добавлению нового поля в к объекту пакета подключения RTMP;

  • перед отключением сервера он отправляет клиенту новый пакет RTMP Go Away;

  • после получения пакета клиент отключится и создаст соединение с новым активным сервером.

Специалисты отмечают, что обычно при потере соединения требуется до 20 секунд на поиск и создание нового соединение. При этом пользователи теряют часть контента. RTMP Go Away поможет избежать этого. Также нововведение может быть полезно при обслуживании серверов — сервер заранее сообщит о незапланированном отключении и переподключит пользователей.

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 14: ↑13 and ↓1+12
Comments2

Other news