[RTSP]Rtsp协议介绍流媒体服务器的介绍
当前状态
- 初步了解rtsp, 理论基础还不足
为什么要用流媒体
- 低带宽下, 流媒体的延迟, 流畅, 呈现效果比lighttpd等的http流式下载要好不少, 例如手机看视频
- 所以, 能一定程度上节省带宽
- 天生支持拖放, 如果是rtmp, 还能在同一条tcp链接里放多个流, 可以实现码率动态调整
- 如果流媒体服务器是自制的, 能实时/准确得知用户的观看行为, 例如时长, 拖放情况
1. 实时流协议RTSP
1.1.
RTSP有两类报文:请求报文和响应报文。请求报文是指从客户向服务器发送请求报文,响应报文是指从服务器到客户的回答。
方法
OPTIONS
DESCRIBE
SETUP
TEARDOWN
PLAY
响应报文的开始行是状态行,RTSP响应报文的结构如图3所示。
C表示RTSP客户端,S表示RTSP服务端
① C->S: OPTION request
S->C: OPTION response
② C->S: DESCRIBE request
S->C: DESCRIBE response
③ C->S: SETUP request
S->C: SETUP response
④ C->S: PLAY request
S->C: PLAY response
S->C: 发送流媒体数据
⑤ C->S: TEARDOWN request
S->C: TEARDOWN response
上述的过程是标准的RTSP流程,其中第3步和第4步是必需的。
- 据说是工业级开放标准, 例如rtmp也不错(能与client交互), 但确实adobe家的
- 所以, 服务器, 客户端, 类库丰富, 开源的质量也不错
- 相对成熟些, 标准都出来N久了
架设vod服务器, 有什么选择
- 自己写个, 可以用ffmpeg来解码, live555.com来处理rtsp协议, 缺点是耗时较久
- live555也有个streaming server, 但太初级了
- 用vlc, 支持从设备(摄像头或采集卡), 节目单(轮播), vod进行streaming服务, 有gui向导, 又有命令行和配置文件, 缺点是vlc质量有问题, 一个client揉了太多功能进去了
- 用Darwin streaming server, 历史悠久软件成熟, 有web管理界面, 是个地道的server, 缺点是版本老, 源码文档少, 支持类型少, 而且还有个莫名其妙的版权管理功能
- red5, 0.9的代码里已经有了net.rtsp包了, 这个是最容易定制的, java么, 简单些, 缺点是0.9还没出来呢, red5也一向不太稳定(社区/代码质量/法律风险)
1. 实时流协议RTSP
1.1.
RTSP有两类报文:请求报文和响应报文。请求报文是指从客户向服务器发送请求报文,响应报文是指从服务器到客户的回答。
方法
OPTIONS
DESCRIBE
SETUP
TEARDOWN
PLAY
响应报文的开始行是状态行,RTSP响应报文的结构如图3所示。
C表示RTSP客户端,S表示RTSP服务端
① C->S: OPTION request
S->C: OPTION response
② C->S: DESCRIBE request
S->C: DESCRIBE response
③ C->S: SETUP request
S->C: SETUP response
④ C->S: PLAY request
S->C: PLAY response
S->C: 发送流媒体数据
⑤ C->S: TEARDOWN request
S->C: TEARDOWN response
上述的过程是标准的RTSP流程,其中第3步和第4步是必需的。
热门文章推荐
- [FMS]Adobe FMS产品(Adobe Flash Media Server)使用介绍(组图)
- [FMS]Flash Media Server之教程附示例代码
- [RTMP]国产RTMP/HLS直播服务器simple-rtmp-server
- [WOWZA]用wowza流媒体服务器发布和播放直播流(RTMP)
- [RTMP]又一款rtmp类的服务器openrtmfp流媒体服务器
- [RTMP]adobe之FMS视频直播解决方案流程介绍(组图)
- [RTMP协议]实时消息传输协议 (RTMP) 常识性介绍
- [FMS]Adobe的Flash Media Server服务器(FMS服务器)安装