Real Time Messaging Protocol

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Real Time Messaging Protocol (скорочено англ. RTMP) — пропрієтарний протокол потокового передавання даних, переважно використовується для передавання потокового відео та аудіопотоків з вебкамер через інтернет.

Серверну частину реалізували автори протоколу Adobe Inc, у Flash Media Server, вартість якого, залежно від редакції, становить 995-4500 USD. Модулі для сервера мають бути написаними на ActionScript.

Гурт ентузіастів реверсував протокол, і випустив безплатну версію сервера Red5. Сервер написано на Java. Модулі для сервера мають бути написаними на Java.

2009 року Adobe випустила документ, названий специфікацією RTMP[1], однак це навмисно неповний документ, спрямований на стримування розвитку альтернативних серверів. Для прочитання цього документа слід погодитися з ліцензійною угодою, яка вимагає створення RTMP сервера тільки за специфікацією від Adobe без будь-яких відступів. У цій специфікації наведено навмисно хибні дані, так, наприклад, для включення на Flash Player декодера H.264 потрібно криптографічно підписати хендшейк, а в специфікації написано, що обов'язково слід заповнювати довільними даними. Таким чином, прийнявши умови ліцензії на специфікацію, розробник позбавляється можливості реалізувати повноцінний RTMP сервер.

Також існує не цілком сумісний, але з дотриманням більшості специфікацій протоколу RTMP, проєкт HaxeVideo, який реалізував Рассел Вейр (Russell Weir) спеціалізованою мовою Haxe для серверної віртуальної машини NekoVM[en]. Поширюється у сирцевих текстах і відрізняється від Java-реалізацій низькою ресурсоємністю, а також відсутністю потреби ставити на сервер як Java, так і інші пакунки.

Підтримка RTMP є в open-source бібліотеці для .NET FluorineFx[2].

У травні 2009 року з'явився Flash Media Server, написаний мовою Python (FMSPy)[3] — RTMP-сервер застосунків на Adobe Flash/Flex/Air. Нині проєкт перестав розроблятися (автор пропонує «підібрати» його будь-кому охочому[4]) і нагадує Adobe Flash Media Server, але зі значно меншими можливостями. FMSPy — проєкт з відкритим сирцевим кодом і поширюється за ліцензією MIT.

Від серпня 2009 до січня 2012 року в активній open source-розробці перебував проєкт Erlyvideo[5] — RTMP-сервер мовою Erlang. За функціональністю близький до Wowza[en], вміє отримувати відео за RTSP, роздавати на iPhone. У вересні 2012 року був видалено з GitHub і розробку продовжено на пропрієтарній комерційній основі.

2012 року розроблено nginx-rtmp-module[6] — модуль підтримки протоколу RTMP для сервера nginx. Модуль, написаний на C, відрізняється високою продуктивністю і простотою налаштування. Підтримує live-мовлення, ретрансляції, запис FLV, HTTP-виклики тощо. Поширюється за ліцензією BSD.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Wayback Machine. web.archive.org. Процитовано 12 березня 2022. 
  2. FluorineFx. web.archive.org. 4 жовтня 2009. Процитовано 12 березня 2022. 
  3. FMSPy. web.archive.org. 14 червня 2009. Процитовано 12 березня 2022. 
  4. [1] Архівовано 8 жовтня 2011 у Wayback Machine. // habrahabr.ru
  5. Code frequency · erlyvideo/erlyvideo-old. GitHub (англ.). Архів оригіналу за 12 березня 2022. Процитовано 12 березня 2022. 
  6. Arutyunyan, Roman (11 березня 2022). NGINX-based Media Streaming Server. Архів оригіналу за 12 березня 2022. Процитовано 12 березня 2022. 

Посилання[ред. | ред. код]