Real Time Messaging Protocol

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

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

Существуют недорогие аналоги протокола, например, Wowza Media Server. Модули для сервера должны быть написаны на Java.

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

В 2009 году Adobe выпустила документ, названный спецификацией RTMP, однако это умышленно неполный документ, направленный на сдерживание развития альтернативных серверов. Для прочтения этого документа необходимо согласиться с лицензионным соглашением, которое требует создания RTMP сервера только по спецификации от Adobe без каких-либо отступлений. В этой спецификации указаны намеренно неверные данные, так, например, для включения на Flash Player декодера H.264 требуется криптографически подписать хендшейк, а в спецификации написано, что обязательно надо заполнять произвольными данными. Таким образом, приняв условия лицензии на спецификацию, разработчик лишается возможности реализовать полноценный RTMP сервер.

Также существует не вполне совместимый, но соблюдающий большую часть спецификаций протокола RTMP проект HaxeVideo, реализованный Russell Weir на специализированном языке HaXe для серверной виртуальной машины NekoVM. Распространяется в исходных текстах и отличается низкой ресурсоёмкостью по сравнению с Java-реализациями, а также отсутствием необходимости ставить на сервер как Java, так и другие пакеты.

Поддержка RTMP есть в open-source библиотеке для .NET FluorineFx.

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

С августа 2009 в активной разработке находится проект Erlyvideo — RTMP-сервер на языке Erlang. Сервер сейчас по функциональности близок к Wowza, умеет забирать видео по RTSP, раздавать на iPhone. Распространяется по лицензии GPL

В 2012 году был разработан nginx-rtmp-module — модуль поддержки протокола RTMP для сервера nginx. Модуль написан на C и отличается высокой производительностью и простотой настройки. Поддерживает live-вещание, ретрансляции, запись FLV, HTTP вызовы и т.д. Распространяется по лицензии BSD.

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]

  1. [1] // habrahabr.ru