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.
- ↑ Wayback Machine (PDF). web.archive.org. Архів оригіналу (PDF) за 14 вересня 2012. Процитовано 12 березня 2022.
- ↑ FluorineFx. web.archive.org. 4 жовтня 2009. Архів оригіналу за 4 жовтня 2009. Процитовано 12 березня 2022.
- ↑ FMSPy. web.archive.org. 14 червня 2009. Архів оригіналу за 14 червня 2009. Процитовано 12 березня 2022.
- ↑ [1] [Архівовано 8 жовтня 2011 у Wayback Machine.] // habrahabr.ru
- ↑ Code frequency · erlyvideo/erlyvideo-old. GitHub (англ.). Архів оригіналу за 12 березня 2022. Процитовано 12 березня 2022.
- ↑ Arutyunyan, Roman (11 березня 2022), NGINX-based Media Streaming Server, архів оригіналу за 12 березня 2022, процитовано 12 березня 2022
- HaxeMedia 0.1 [Архівовано 11 січня 2016 у Wayback Machine.](англ.)
- Специфікація протоколу RTMP [Архівовано 2 червня 2010 у Wayback Machine.](англ.)
- RTMPDump [Архівовано 18 березня 2022 у Wayback Machine.]