常用应用层协议HTTP、RTSP、RTMP比较-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

常用应用层协议HTTP、RTSP、RTMP比较

简介: HTTP(超文本传输协议)、RTSP(Real Time Streaming Protocol实时流传输协议)、RTMP(Routing Table Maintenance Protocol路由选择表维护协议)是应用层协议,理论上都可以做直播、点播,实际上直播多采用RTMP和RTSP、点播则多用RTSP和HTTP。

HTTP(超文本传输协议)、RTSP(Real Time Streaming Protocol实时流传输协议)、RTMP(Routing Table Maintenance Protocol路由选择表维护协议)是应用层协议,理论上都可以做直播、点播,实际上直播多采用RTMP和RTSP、点播则多用RTSP和HTTP。

一、常用领域:
HTTP(HTTPS)所有数据都作为文本处理,广泛应用于网络访问,是公有协议,有专门机构维护。
RTSP流媒体协议,多用在监控领域视频直播点播;是公有协议,有专门机构维护。
RTMP流媒体协议,多用在互联网直播领域(RTMP+CDN)、视频会议(取代原来SIP),是Adobe的私有协议,未完全公开。
RTSP传输一般需要2-3个通道,命令和数据通道分离,HTTP和RTMP一般在TCP一个通道上传输命令和数据。RTMP协议一般传输的是flv,f4v格式流,RTSP协议一般传输的是ts,mp4格式的流。HTTP没有特定的流。
二、协议实现
RTSP的开源实现
* live.com   C/S   C++   http://www.live555.com
* darwin     S     C++   http://www.opensource.apple.com/darwinsource/
* VLC        C     C     http://www.videolan.org
* mplayer    C     C     http://www.mplayerhq.hu
 * omsp       C/S   C     http://streaming.polito.it/
  * spook      S     C     http://www.litech.org/spook/
 
RTMP的实现,不源开的FMS,开源的RMTP服务器有:
C++实现的crtmpserver,支持Flash(RTMP,RTMPE,RTMPS,RTMPS,RTMPT,RTMPTE),Linux平台;
Java实现的Red5,支持Flash(RTMP协议),全平台Linux,Windows。
C#实现的FluorineFx,支持Flash(RTMP协议),Windows平台。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章