RTMP 是实时消息传输协议(英文:Real-Time Messaging Protocol)的英文首字母缩写,是 Macromedia 公司为网络上的Flash播放器和服务器之间音视频和数据传输开发的通信协议, Macromedia 公司后来被Adobe公司收购。该协议基于TCP,是一个协议簇,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP协议是一种设计用来进行实时数据通信的网络协议,主要用来在Flash或AIR平台和支持RTMP协议的流媒体或交互服务器之间进行音视频和数据通信。支持该协议的主流流媒体服务器软件包括Adobe Media Server、iAVCast Media Server和Red5等。
RTMP工作在TCP之上,默认使用端口1935,其中RTMPE在RTMP的基础上增加了加密功能,RTMPT封装在HTTP请求之上,可穿透防火墙;RTMPS类似RTMPT,增加了TLS/SSL的安全功能。
RTMP协议的URL形式为:rtmp://hostname:port/app/stream,其中hostname为主机名或者IP地址,:port为TCP端口,如果采用默认端口,则可以省略这部分,app为应用名,大多数RTMP服务器的直播的应用名为live,点播的应用名为vod,stream为流名称,可以代表一个文件或者一个直播频道。以下就是一个标准的RTMP协议的例子:
rtmp://pull.iavcast.com/live/stream2008
温馨提示:串流直播全面支持RTMP协议推流,串流直播支持通过RTMP将流推送到Flash Media Server、iAVCast Media Server、Red5、Wowza Media Server、Nigix rtmp Module等主流的RTMP流媒体服务器上,串流直播支持同时向多个RTMP流媒体服务器推送多个码流。串流直播也支持通过RTMPT与RTMPS推流发布节目。