Real Time Messaging Protocol

From FlashSec

(Redirected from RTMP)
Jump to: navigation, search
Real Time Messaging Protocol (RTMP)
Developer Adobe
Release
Website(s)
Documentation
Wikipedia Real Time Messaging Protocol
OSFlash RTMP Protocol

Real Time Messaging Protocol (RTMP) is a proprietary protocol developed by Adobe Systems (formerly developed by Macromedia) that is primarily used with Adobe Flash Media Server to stream audio, video, and data over the internet to the Adobe Flash Player client.

RTMP can be used for Remote Procedure Calls. RTMP maintains a persistent connection with an endpoint and allows real-time communication. Other RPC services are made asynchronously with a single client/server request/response model, so real-time communication is not necessary.

The protocol is being reverse engineered by the Red5 open source project.

Wowza Media Systems has independently developed a complete set of RTMP libraries.

Flex Data Services also uses RTMP.

WebORB is an alternative to FDS for .NET.

The default connection port for RTMP is 1935.

[edit] Variants

As many corporate networks and home firewalls block connections via ports and protocols they do not recognise, a commonly-used variant of RTMP is RTMPT (RTMP Tunneled). This protocol encapsulates the RTMP data as valid HTTP, and by default communicates on port 80. While RTMPT requires marginally higher bandwidths due to the addition of HTTP headers, the protocol can be used successfully in environments where security measures would block RTMP.

A second variant of RTMP is RTMPS (RTMP Secure). This is RTMP tunneled via HTTPS, with a default port of 443.

[edit] RTMP Servers

Currently, the only full implementation RTMP servers are Adobe Flash Media Server (Commercial, closed-source) and Wowza Media Server (commercial, closed-source). Work is progressing fast on a free, open source alternative, Red5, is done and it is available at their website. There is also RTMPy, a server/client alternative based on Twisted/Python and haXeVideo, a multithread FLV streaming server entirely written using the haXe programming language.

[edit] External links