了解RTSP多媒体流协议。下载 VLC软件,用其“打开网络流”功能,去访问互联网上公开的直播视频源(一些公共IP监控摄像头也使用RTSP协议),并将播放的视频流 保存到本地。
一、RTSP协议
1. 概述
RTSP(Real-TimeStream Protocol )是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似。
RTSP被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色。尽管有时可以把RTSP控制信息和媒体数据流交织在一起传送,但一般情况RTSP本身并不用于转送媒体流数据。媒体数据的传送可通过RTP/RTCP等协议来完成。
一次基本的RTSP操作过程是:首先,客户端连接到流服务器并发送一个RTSP描述命令(DESCRIBE)。流服务器通过一个SDP描述来进行反馈,反馈信息包括流数量、媒体类型等信息。客户端再分析该SDP描述,并为会话中的每一个流发送一个RTSP建立命令(SETUP),RTSP建立命令告诉服务器客户端用于接收媒体数据的端口。流媒体连接建立完成后,客户端发送一个播放命令(PLAY),服务器就开始在UDP上传送媒体流(RTP包)到客户端。 在播放过程中客户端还可以向服务器发送命令来控制快进、快退和暂停等。最后,客户端可发送一个终止命令(TERADOWN)来结束流媒体会话。
2. 重要术语
- 集合控制(Aggregatecontrol ):
对多个流的同时控制。对音频/视频来讲,客户端仅需发送一条播放或者暂停消息就可同时控制音频流和视频流。
- 实体(Entity): 😗
作为请求或者回应的有效负荷传输的信息。由以实体标题域(entity-header field)形式存在的元信息和以实体主体(entity body)形式存在的内容组成
- 容器文件(Containerfile):
可以容纳多个媒体流的文件。RTSP服务器可以为这些容器文件提供集合控制。
- RTSP会话(RTSP session ):
RTSP交互的全过程。对一个电影的观看过程,会话(session)包括由客户端建立媒体流传输机制(SETUP),使用播放(PLAY)或录制(RECORD)开始传送流,用停止(TEARDOWN)关闭流。
3.RTSP消息
RTSP的消息有两大类,一是请求消息(request),一是回应消息(response),两种消息的格式不同。
请求消息格式:
方法 URI RTSP版本 CR LF
消息头 CR LF CR LF
消息体 CR LF
方法包括:OPTIONS、SETUP、PLAY、TEARDOWN DESCRIBE
URI是接收方(服务端)的地址,例如:rtsp://192.168.22.136:5000/v0
每行后面的CR LF表示回车换行,需要接收端有相应的解析,消息头需要有两个CR LF。
回应消息格式:
RTSP版本 状态码 解释 CR LF
消息头 CR LF CR LF
消息体 CR LF
二、VLC保存网络流视频
- VLC下载地址https://vlc-media-player.en.softonic.com/
- rtsp流媒体测试视频地址
rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
- 下载完成后打开VLC,左上角的媒体—打开网络串流,然后输入rtsp流就可以播放了
- 左上角的媒体—流,然后输入rtsp流就可以
- 在url处输入网址,在点击播放按键旁边那个向下的小箭头,选择串流
- 直接点击下一个
- 点击添加
- 选择激活转码,配置文件选择如图
- 点击流,开始保存
- 它并不会马上保存好,在播放界面上方会出现一下Converting这就是在转换,等待时间走完或者点击停止播放,关闭软件,保存的视频就可以打开了。
- 效果