RTSP协议学习笔记(学习流媒体的时候自己总结的)

合集下载

几种常见音视频传输协议使用总结

几种常见音视频传输协议使用总结

几种常见音视频传输协议使用总结在音视频传输领域,有多种常见的协议被用于在网络中传输音视频数据。

每种协议都有其独特的特点和适用范围。

下面将对其中几种常见音视频传输协议进行总结。

RTP是一种用于实时传输音视频数据的协议。

它提供了时间戳、序列号、同步源标识等功能,以确保音视频数据能够准确有序地传输。

RTP协议通常与RTCP(RTP Control Protocol)一起使用,后者用于监控数据质量、同步参与者等。

RTP适用于对实时性要求较高的音视频应用,如WebRTC、视频会议等。

2. RTSP(Real-Time Streaming Protocol)RTSP是一种基于客户端-服务端模型的流媒体控制协议。

它允许客户端向服务器发送命令,控制流媒体的播放、暂停、停止等操作。

RTSP常用于流媒体服务器和播放器之间的控制通信,如IP摄像头、网络电视等。

3. SIP(Session Initiation Protocol)5. HTTP Live Streaming(HLS)HLS是一种基于HTTP的流媒体传输协议。

它将整个音视频文件切分成多个小的TS(Transport Stream)分片文件,并使用M3U8文件来描述这些分片的信息和顺序。

HLS适用于优化大规模流媒体内容的传输,如在线直播、点播,以及移动端的流媒体传输。

6. RTP over UDP/TCPRTP协议通常在UDP(User Datagram Protocol)或TCP (Transmission Control Protocol)协议上运行。

使用UDP时,RTP提供了实时性高、延迟低的优势,适用于对数据准确性要求不高的应用。

而使用TCP时,RTP可以提供可靠性,保证音视频数据的有序性和完整性,适用于对数据准确性要求较高的应用。

综上所述,不同的音视频传输协议适用于不同的应用场景。

RTP和RTSP适用于流媒体的实时传输和控制;SIP和WebRTC适用于实时通信应用;HLS适用于优化大规模流媒体传输;而RTP over UDP/TCP则根据应用的具体需求选择不同的传输方式。

流媒体协议

流媒体协议

流媒体协议流媒体协议是指用于在网络环境下传输音频、视频等媒体数据的通信协议。

流媒体协议在实时性、带宽控制以及适应不同网络环境等方面都有一定的特殊要求,下面我们来介绍一些常见的流媒体协议。

首先是RTSP协议(Real-Time Streaming Protocol)。

RTSP协议是用来控制流媒体服务器的,它可以实现对媒体流的播放、暂停、快进等操作。

RTSP协议使用了常见的应用层协议,如HTTP、TCP等作为传输方式。

它适用于需要实现对媒体流控制的场景,比如视频监控、视频会议等。

另一个常见的流媒体协议是RTMP协议(Real-Time Messaging Protocol)。

RTMP协议是Adobe公司开发的一种用于流媒体传输的协议,它支持实时音频、视频的传输,并且对带宽控制较为灵活。

RTMP协议常用于视频直播、在线游戏等应用场景。

此外,HTTP协议(Hypertext Transfer Protocol)也可以用于流媒体传输。

虽然HTTP协议是一种非实时的协议,但是通过HTTP协议可以实现流式传输,即在接收者每次请求媒体数据时,服务器会分块发送数据,实现边下载边播放的效果。

流媒体的高延迟和缓冲时间可以通过HTTP协议来减少。

同时,HLS协议(HTTP Live Streaming)也是一种基于HTTP 协议的流媒体协议。

HLS协议将整个视频切成若干个小的文件片段,每个文件片段都有自己的URL地址。

在播放时,客户端会按照一定的规则请求这些文件片段,然后按照顺序播放。

HLS协议通过切片的方式,可以实现更好的适应带宽、适应网络恶化等情况。

最后还有WebRTC协议(Web Real-Time Communication)。

WebRTC协议是一种基于网页的实时通信协议,它可以实现浏览器之间的点对点音视频通信。

WebRTC协议使用了一种名为ICE(Interactive Connectivity Establishment)的技术,可以在不同网络环境下建立起通信连接。

RTSP协议详解中文版

RTSP协议详解中文版

RTSP协议详解中文版RTSP(Real Time Streaming Protocol)是一种用于控制实时流媒体的应用层协议,用于在客户端和服务器之间进行媒体资源的传输和控制。

它工作在TCP或UDP上,并且可以与各种流媒体服务器和客户端软件兼容。

RTSP协议的通信模型是基于客户端和服务器之间的请求和响应。

客户端通过发送请求来向服务器发送控制指令,服务器则通过发送响应来告知客户端请求的结果。

请求和响应是基于文本的,并且使用类似于HTTP的格式。

RTSP协议的请求由方法、URL和协议版本组成。

常见的请求方法包括DESCRIBE、SETUP、PLAY、PAUSE、TEARDOWN等。

DESCRIBE方法用于获取媒体资源的描述信息,SETUP方法用于建立与服务器的连接,PLAY方法用于开始播放,PAUSE方法用于暂停播放,TEARDOWN方法用于关闭连接。

RTSP协议的响应由状态码、状态描述和协议版本组成。

常见的状态码包括200 OK,表示请求成功;401 Unauthorized,表示未经授权;404 Not Found,表示资源不存在等。

状态码和状态描述用于告知客户端请求的结果。

RTSP协议还支持使用SDP(Session Description Protocol)来描述媒体资源。

SDP是一种用于描述会话信息的协议,它可以描述媒体资源的类型、媒体格式、传输地址等。

客户端可以使用DESCRIBE方法获取媒体资源的SDP描述,从而可以解析和播放媒体资源。

RTSP协议的优点包括灵活性和互操作性。

由于RTSP协议本身只负责控制,而不直接传输媒体数据,因此可以适用于各种不同的流媒体传输协议,如RTP、RTCP、RTMP等。

同时,RTSP协议还可以与其他媒体相关的协议配合使用,如RTSP over HTTP、RTSP over SSL等。

总结起来,RTSP协议是一种用于实时流媒体控制的协议,它可以实现实时流媒体的连续控制和广泛的交互性。

常见的流媒体传输协议-如rtsp,hls等协议

常见的流媒体传输协议-如rtsp,hls等协议

常见的流媒体传输协议-如rtsp,hls等协议参考:流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)五种常见流媒体协议HTTP Live Streaming 详解这⼀部分介绍 HLS 主要组件如何协同⼯作以传递流媒体。

从概念上讲,HTTP Live Streaming 包含三部分:服务器组件、分发组件和客户端软件。

在常见配置中,硬件编码器接受输⼊的⾳视频,将其编码为 HEVC 视频、AC-3 ⾳频,输出⽚段化(fragmented)MPEG-4 ⽂件或 MPEG-2传输流,分段器(segmenter)软件将 stream 分割成系列短媒体⽂件,然后将短媒体⽂件放在 web 服务器上。

segmenter 还会创建并维护⼀个包含媒体⽂件列表的索引⽂件(index file)。

索引⽂件的 URL 在 web 服务器上发布,客户端读取索引⽂件,按顺序读取列出的媒体⽂件并播放,各⽚段间没有任何暂停或间隔。

2.1 服务器组件服务器组件负责获取媒体输⼊流并对其进⾏数字编码,将其封装成适合传输的格式,并为分发做准备。

对于直播,服务器需要媒体编码器(可以是现有的硬件),以及⼀种将编码的媒体分割成⽚段并保存为⽂件的⽅法,该⽅法可以是由 Apple 提供的 media stream segmented,也可以是第三⽅解决⽅案。

2.2 分发组件分发系统是 web 服务器或 web 缓存系统,通过 HTTP 将媒体⽂件和索引⽂件传输到客户端。

HTTP Live Streaming 协议不需要对服务器模块进⾏任何⾃定义即可⽤于传输内容,且 web 服务器只需要很少的配置。

要实际使⽤ HTTP Live Streaming,需要将 HTML 页⾯或 app 作为接收器,还需要使⽤ web 服务器,以及将实时流编码为 HEVC 或 H.264视频、 ACC 或 AC-3 ⾳频的分段 MPEG-4 媒体⽂件。

流媒体传输协议

流媒体传输协议

流媒体传输协议流媒体传输协议是指用于在网络上传输音频、视频和其他多媒体数据的协议。

它们是为了能够在网络上实现实时或几乎实时传输而设计的。

流媒体传输协议的发展,极大地促进了网络视频、音频的传输和应用,为人们带来了更加便捷的娱乐和通讯方式。

最常见的流媒体传输协议包括RTSP(Real Time Streaming Protocol)、RTMP (Real Time Messaging Protocol)、HLS(HTTP Live Streaming)和MPEG-DASH (Dynamic Adaptive Streaming over HTTP)等。

每种协议都有其独特的特点和适用场景,下面将逐一介绍这些流媒体传输协议。

RTSP是一种基于文本的协议,它通常用于控制流媒体服务器。

RTSP的工作原理是客户端向服务器发送控制命令,例如播放、暂停、停止等,服务器则响应这些命令并传输媒体数据。

RTSP可以与RTP(Real-time Transport Protocol)配合使用,实现音视频数据的实时传输。

RTMP是由Adobe公司开发的一种流媒体传输协议,最初用于Flash播放器和Adobe Media Server之间的音视频传输。

RTMP具有低延迟、稳定性好等特点,适用于直播、视频会议等实时传输场景。

HLS是由苹果公司开发的一种基于HTTP的流媒体传输协议,它将整个视频分成若干小片段,每个小片段都是一个独立的文件。

客户端通过HTTP协议下载这些小片段并进行播放,从而实现了流媒体的传输。

MPEG-DASH是一种动态自适应流媒体传输协议,它可以根据网络状况和终端设备的能力动态调整视频的质量和码率,从而实现更加流畅的播放体验。

不同的流媒体传输协议适用于不同的场景和需求。

RTSP适合于需要实时控制的场景,如视频监控;RTMP适合于对稳定性和低延迟要求较高的直播场景;HLS适合于跨平台播放和大规模的流媒体传输;MPEG-DASH适合于需要根据网络状况动态调整码率的场景。

rtsp协议,c语言

rtsp协议,c语言

竭诚为您提供优质文档/双击可除rtsp协议,c语言篇一:Rtsp协议学习笔记第一部分:总体概述一、流媒体概念流媒体包含广义和狭义两种内涵:广义上的流媒体指的是使音频和视频形成稳定和连续的传输流和回放流的一系列技术、方法和协议的总称,即流媒体技术;狭义上的流媒体是相对于传统的下载-回放方式而言的,指的是一种从internet上获取音频和视频等多媒体数据的新方法,它能够支持多媒体数据流的实时传输和实时播放。

通过运用流媒体技术,服务器能够向客户机发送稳定和连续的多媒体数据流,客户机在接收数据的同时以一个稳定的速率回放,而不用等数据全部下载完之后再进行回放。

二、流媒体协议实时传输协议(Real-timetransportprotocol,Rtp)是在internet上处理多媒体数据流的一种网络协议,利用它能够在一对一(unicast,单播)或者一对多(multicast,多播)的网络环境中实现传流媒体数据的实时传输。

Rtp通常使用udp来进行多媒体数据的传输,但如果需要的话可以使用tcp或者atm等其它协议,整个Rtp协议由两个密切相关的部分组成:Rtp数据协议和Rtp控制协议。

实时流协议(Realtimestreamingprotocol,Rtsp)最早由Realnetworks 和netscape公司共同提出,它位于Rtp和Rtcp之上,其目的是希望通过ip网络有效地传输多媒体数据。

实时流传输协议Rtsp(Real-timestreamingprotocol,RFc2326)、实时传输协议(RtpReal-timetransferprotocol,RFc3550)、实时传输控制协议(RtcpReal-timetransportcontrolprotocol,RFc1889)、会话描述协议(sdpsessiondescriptionprotocol,RFc2327)。

目前在流媒体传输技术中使用最多的就是基于Rtsp/Rtp的流媒体传输。

RTSP协议详解中文版

RTSP协议详解中文版

RTSP协议详解中文版RTSP(Real Time Streaming Protocol)是一种用于控制媒体流传输的应用层协议。

它在传输数据之前,通过建立控制信道,协商会话参数,完成媒体流的控制和管理。

本文将详细介绍RTSP协议的各个方面。

RTSP协议中,客户端发送请求,服务器回复响应,请求和响应的消息格式基于文本,并且可以使用多种传输协议(如TCP或UDP)进行通信。

RTSP协议定义了丰富的方法(Method),以便客户端可以控制会话的各个方面。

常用的方法包括OPTIONS,DESCRIBE,SETUP,PLAY和TEARDOWN。

OPTIONS方法用于查询服务器支持的方法,客户端可以通过此方法获取服务器的能力信息。

DESCRIBE方法用于获取媒体会话的描述信息,客户端可以通过此方法获得媒体流的信息,例如编码格式和媒体地址。

SETUP方法用于建立媒体流的传输通道,客户端可以通过此方法告知服务器自己的传输能力,并请求服务器向其指定的地址发送数据。

服务器可以根据实际情况来进行响应,例如选择合适的传输协议(如TCP或UDP)以及传输端口。

PLAY方法用于开始播放媒体流,服务器会将实时传输协议(RTP)数据发送给客户端。

客户端可以通过TEARDOWN方法来终止会话,服务器在接收到TEARDOWN请求后会释放资源并关闭连接。

总结起来,RTSP协议是一种用于控制媒体流传输的应用层协议。

它使用文本消息格式,在客户端和服务器之间建立控制信道,并通过方法来实现会话管理和媒体流的控制。

RTSP协议具有可扩展性和灵活性,可以与其他协议结合使用,适用于不同的应用场景。

rtsp协议详解

rtsp协议详解

rtsp协议详解RTSP(Real Time Streaming Protocol)是一种用于控制多媒体数据流传输的网络协议。

它是一种应用层协议,通常用于流媒体服务器和客户端之间的通信,以便实现实时音频和视频的传输。

RTSP协议是由IETF(Internet Engineering Task Force)制定的,它的设计目的是为了支持实时多媒体会话,如实时音频和视频的传输。

RTSP协议的工作原理是通过建立和维护一个会话来控制多媒体数据流的传输。

它使用客户端-服务器模型,客户端和服务器之间通过RTSP协议进行通信。

在建立会话时,客户端向服务器发送RTSP请求,服务器响应这些请求,并建立一个会话来传输多媒体数据。

在会话期间,客户端可以向服务器发送控制命令,如播放、暂停、停止等,以控制多媒体数据流的传输。

RTSP协议使用的是TCP或UDP协议进行数据传输。

在建立会话时,客户端和服务器之间会协商使用的传输协议和端口号。

一般情况下,实时多媒体数据的传输会使用UDP协议,而控制命令的传输会使用TCP协议。

这样可以保证实时多媒体数据的传输稳定性和实时性。

RTSP协议的消息格式包括请求消息和响应消息。

请求消息由客户端发送给服务器,用于请求建立会话或发送控制命令;响应消息由服务器发送给客户端,用于响应客户端的请求。

请求消息和响应消息都包括起始行、消息头和消息体。

起始行包括请求行或状态行,消息头包括一些控制信息,消息体包括一些实体数据。

RTSP协议支持多种控制命令,如PLAY、PAUSE、TEARDOWN等。

这些控制命令可以用于控制多媒体数据流的传输,如开始播放、暂停播放、停止播放等。

这样可以让客户端和服务器之间实现灵活的控制和交互。

总的来说,RTSP协议是一种用于控制实时多媒体数据流传输的网络协议。

它通过建立和维护会话来实现多媒体数据的传输和控制,支持多种控制命令,可以实现客户端和服务器之间的灵活交互。

在实际应用中,RTSP协议被广泛应用于流媒体服务器和客户端之间的通信,为实时音频和视频的传输提供了有效的支持。

防火墙RTSP协议处理流程及RTSPALG应用

防火墙RTSP协议处理流程及RTSPALG应用

防火墙RTSP协议处理流程及RTSPALG应用RTSP(实时流传输协议)是一种用于控制多媒体服务器和多媒体客户端之间传输流媒体数据的协议。

防火墙在网络中扮演着重要的角色,用于保护内部网络免受外部网络的威胁。

在处理RTSP协议时,防火墙需要采取适当的措施来确保有效的传输,并保护网络免受潜在的攻击。

防火墙处理RTSP协议的一般流程如下:1.网络请求过滤:防火墙首先检查RTSP协议的网络请求是否符合特定的规则和访问策略。

例如,检查源IP地址、目标IP地址、端口等信息。

2.协议解析:防火墙解析RTSP协议的请求消息和响应消息,包括请求行、头部信息、实体等。

这有助于检查和验证协议的有效性,并验证请求是否与特定的安全策略相符。

3.内容过滤:防火墙可能会对RTSP的内容进行过滤,以确保不传输非法或有害的媒体内容。

这可以通过使用黑名单、URL过滤、关键词过滤等技术来实现。

4.应用层网关(ALG):RTSPALG是一种特殊的应用层网关,用于在防火墙上进行RTSP流媒体请求和响应的解析和转发。

它可以维护会话状态,跟踪RTSP流媒体通信,并支持NAT遍历。

5.NAT遍历:RTSPALG可以帮助绕过网络地址转换(NAT)设备,让位于不同私有网络的客户端和服务器直接通信。

它会解析RTSP的会话描述协议(SDP)消息,并对其中的IP地址和端口进行修改,以确保数据在经过NAT设备时能够正确路由。

6.安全检查:防火墙会对RTSP协议进行一些安全检查,以防止潜在的攻击。

例如,检查传输过程中是否存在恶意代码、封堵异常的RTSP请求等。

7.日志记录和审计:防火墙会记录与RTSP协议相关的事件和流量信息,并对其进行审计。

这有助于安全管理员了解网络活动情况,并进行后续的安全分析和故障排查。

RTSPALG的应用主要是为了支持RTSP流媒体的会话建立和数据传输过程中的网络地址转换。

1.解决访问控制问题:RTSPALG可以识别并控制RTSP请求和响应的访问权限,确保只有经过授权的用户才能访问流媒体服务器。

摄像头协议知识

摄像头协议知识

摄像头协议知识摄像头协议是指在摄像头和其他设备之间进行数据传输和通信时所采用的通信协议。

这些协议定义了数据传输的格式、规则以及设备之间的通信方式,使得摄像头和其他设备能够有效地进行数据交换和相互通信。

常见的摄像头协议有以下几种:B(Universal Serial Bus)协议:USB是一种通用的串行总线接口协议,被广泛用于连接计算机和外部设备。

基于USB协议的摄像头可以通过USB接口连接到计算机,并通过USB协议进行数据传输和通信。

2.RTSP(Real-Time Streaming Protocol)协议:RTSP是一种用于实时媒体流传输的协议,常用于视频监控领域。

摄像头可以通过RTSP协议将实时的视频流传输给接收端,接收端可以通过相应的软件进行实时播放或者录制。

3.ONVIF(Open Network Video Interface Forum)协议:ONVIF是一个行业标准,旨在促进IP网络摄像头和其他设备之间的互操作性。

基于ONVIF 协议的摄像头可以与支持ONVIF协议的设备进行互联,并实现统一的管理和控制。

4.RTP(Real-time Transport Protocol)协议:RTP是一种用于实时媒体数据传输的协议,常用于视频会议、流媒体等场景。

摄像头可以通过RTP 协议将视频数据进行分片和传输,接收端可以根据RTP协议进行数据的解析和播放。

5.HTTP(Hypertext Transfer Protocol)协议:HTTP是一种用于在Web浏览器和服务器之间传输超文本的应用层协议。

一些摄像头支持通过HTTP协议进行视频的实时传输和控制,并通过浏览器进行远程管理和访问。

这些摄像头协议在不同的应用场景中有不同的应用,例如USB协议适用于将摄像头连接到计算机上进行视频通信和监控;RTSP协议适用于实时的视频流传输和监控;ONVIF协议适用于不同厂商的摄像头之间的互联和管理;RTP协议适用于实时媒体数据的传输;HTTP协议适用于远程管理和访问。

RTSP协议详解

RTSP协议详解

RTSP协议详解RTSP(Real-Time Streaming Protocol)是一种用于控制流媒体服务器和客户端之间数据传输的协议。

它允许用户在收到流媒体数据之前与服务器进行交互,选择想要接收的媒体流,控制播放速度和播放模式等。

RTSP协议使用客户端/服务器模型,其中客户端发送请求到服务器,服务器则响应这些请求并传输媒体数据。

RTSP协议仅用于控制,而不负责传输媒体数据本身,这一任务通常由RTP(Real-Time Transport Protocol)来完成。

1.建立连接:客户端与服务器建立TCP连接,并使用RTSP协议进行通信。

2.描述会话:客户端发送一个通信请求,请求服务器提供会话的相关信息,比如媒体描述、媒体流地址等。

3.选择媒体流:客户端从服务器提供的媒体描述中选择一个或多个希望接收的媒体流。

4.控制媒体会话:客户端使用RTSP协议发送控制命令给服务器,比如播放、暂停、停止、快进和回放等。

5.播放媒体:服务器向客户端传输所选的媒体流。

6.关闭连接:客户端发送关闭请求给服务器,结束RTSP会话。

1.节约带宽:RTSP协议允许客户端仅接收媒体流中的特定部分,从而节约带宽和提高传输效率。

2.实时传输:RTSP协议支持实时传输媒体流,适用于需要实时展示的场景,比如直播和视频会议等。

3.支持多媒体:RTSP协议可以同时传输音频、视频和其他媒体类型,使得用户可以选择自己感兴趣的内容。

4.内容交互:RTSP协议支持客户端和服务器之间的交互,如选择不同的流、调整播放速度和播放模式等。

总结来说,RTSP协议提供了一种灵活的方式来控制流媒体服务器和客户端之间的数据传输。

它可以在不同平台和设备之间实现兼容性,并支持对媒体流进行精细控制和交互。

这使得RTSP成为流媒体传输的重要协议之一,广泛应用于视频直播、会议系统和视频监控等领域。

rstp基本原理

rstp基本原理

rstp基本原理RTSP(实时流传输协议)是一种用于在计算机网络上进行实时流媒体传输的协议。

它允许客户端与服务器进行通信,从而控制和传输实时音频或视频流。

本文将详细介绍RTSP的基本原理,包括其工作原理、特点以及应用领域等方面。

一、什么是RTSP?RTSP是一种客户端/服务器协议,用于在计算机网络上进行实时数据流的控制和传输。

它基于客户端-服务器模型,客户端针对流媒体服务器发起请求,获取媒体数据,并控制播放器的行为,如播放、暂停、停止等。

RTSP可以与其他流媒体传输协议(如RTP,RTCP)一起使用,以实现流媒体的传输和控制。

二、RTSP的工作原理1. 建立连接阶段在RTSP的建立连接阶段,客户端和服务器之间通过使用TCP或UDP协议来建立连接。

客户端向服务器发送RTSP控制命令,并提供一些必要的信息,如请求的URL、媒体类型、传输协议等。

服务器根据客户端的请求返回响应,如状态码、媒体信息等。

2. 控制流阶段在RTSP的控制流阶段,客户端通过发送RTSP控制命令来控制媒体播放器的行为。

这些命令包括播放、暂停、停止、快进、快退等。

服务器根据接收到的命令来控制媒体播放器的行为,并向客户端返回响应。

3. 传输阶段在RTSP的传输阶段,实际的媒体流通过RTP(实时传输协议)和RTCP (实时传输控制协议)来传输。

RTP负责传输媒体数据包,而RTCP则用于控制传输过程和提供媒体流的统计信息。

它们通过一些协商和交换的机制实现流媒体数据的传输和接收。

三、RTSP的特点1. 实时性RTSP是一种实时的传输协议,可以在实时性要求较高的应用领域中使用。

与HTTP协议相比,RTSP具有更低的延迟和更好的传输效率,适用于音视频直播、视频会议等实时流媒体应用场景。

2. 灵活性RTSP协议具有很高的灵活性,可以与其他流媒体传输协议(如RTP、RTCP)一起使用,以实现流媒体的传输和控制。

它可以通过命令来控制媒体播放器的行为,也可以提供媒体流的统计信息,以便进行流媒体的监控和管理。

RTSP协议详解

RTSP协议详解

关于RTSP.RTSP 协议是一个非常类似HTTP 协议的流控制协议。

它们都使用纯文本来发送信息,而且rtsp 协议的语法也和HTTP 类似。

Rtsp 一开始这样设计,也是为了能够兼容使用以前写的HTTP 协议分析代码。

这是个好消息。

它们主要的区别是HTTP 协议是没有状态的,http 协议在发送一个命令后,连接会断开,而且命令之间没有依赖性。

不同的是RTSP 的命令需要知道现在正处于一个什么状态,也就是说rtsp 的命令总是按照顺序来发送,某个命令总在另外一个命令之前要发送。

Rtsp 不管处于什么状态都不会去断掉连接。

HTTP 协议默认使用80 端口,而RTSP 默认使用554 端口。

如果一些服务器因为某些安全的原因而封掉了这个端口,那代理和防火墙可能不让RTSP 消息通过,需要管理员去放开554 端口,而使得rtsp 协议能通过。

RTSP 并非只是微软在用!这是一个公开的规范,在这个规范上开发了很多的流服务器。

甚至Linux 服务提供者和苹果的程序员也使用rtsp 协议以及Real Networks 流媒体。

似乎整个世界的网络流传输都用这个协议。

然而,微软并不只在rtsp 上有所作为。

微软和RTSP.在写这个文档的时候,微软正处于从首选MMS 协议转换到首选采用RTSP 协议的过程中。

这个说明在Media Player9.0 版本和流媒体服务器2003 版本之后,我们会看到微软将rtsp 协议作为流媒体传输的主要协议。

随着时间慢慢的流逝,我们会发现mms 协议正逐步走出人们的视野。

It is only assumed that this is so MS can say they are being open with their protocols (rtsp is an open standard) while at the same time disregarding the need to publicise their own MMS protocol once its gone from media player. 然而,mms 还没有真的死亡,至少在接下来的几年中我们依然可以看到它在流媒体传输中的身影。

RTP协议学习大总结从原理到代码

RTP协议学习大总结从原理到代码
b、设置恰当的时戳单元,是 RTP 会话初始化过程所要进行的另外一项重要工作, 这是通过调用 RTPSession 类的 SetTimestampUnit() 方法来实现的,前面已经 提过。
示 RTP 数据报的来源,RTP 协议允许在同一个会话中存在多个数据源,它们可以 通过 RTP 混合器合并为一个数据源。例如,可以产生一个 CSRC 列表来表示一个电话会议,该会议通 过一个 RTP 混合器将所有讲话者的语音数据组合为一个 RTP 数据源。 负载类型(PT) 标明 RTP 负载的格式,包括所采用的编码算法、采样频率、承载通道 等。例如,类型 2 表明该 RTP 数据包中承载的是用 ITU G.721 算法编码的语音数据,采样频 率为 8000Hz,并且采用单声道。 序列号 用来为接收方提供探测数据丢失的方法,但如何处理丢失的数据则是应用程序自 己的事情,RTP 协议本身并不负责数据的重传。 时间戳 记录了负载中第一个字节的采样时间,接收方根据时间戳能够确定数据的到达 是否受到了延迟抖动的影响,但具体如何来补偿延迟抖动则是应用程序自己的事情。 从 RTP 数据报的格式不难看出,它包含了传输媒体的类型、格式、序列号、时间戳以及是 否有附加数据等信息,这些都为实时的流媒体传输提供了相应的基础。RTP 协议 的目的是 提供实时数据(如交互式的音频和视频)的端到端传输服务,因此在 RTP 中没有连接的概念, 它可以建立在底层的面向连接或面向非连接的传输协议之 上;RTP 也不依赖于特别的网络 地址格式,而仅仅只需要底层传输协议支持组帧(Framing)和分段(Segmentation)就足够 了;另外 RTP 本身还不提供任何可靠性机制,这些都要由传输协议或者应用程序自己来保 证。在典型的应用场合下,RTP 一般是在传输协议之上作为应用程序的一部分加以实现的, 如图 2 所示:

RTSP协议详解

RTSP协议详解

RTSP协议详解RTSP简介RTSP(Real Time Streaming Protocol)是由Real Network和Netscape共同提出的如何有效地在IP⽹络上传输流媒体数据的应⽤层协议。

RTSP对流媒体提供了诸如暂停,快进等控制,⽽它本⾝并不传输数据,RTSP的作⽤相当于流媒体服务器的远程控制。

服务器端可以⾃⾏选择使⽤TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以⽐较能容忍⽹络延迟。

⽽且允许同时多个串流需求控制(Multicast),除了可以降低服务器端的⽹络⽤量,还可以⽀持多⽅视频会议(Video onference)。

因为与HTTP1.1的运作⽅式相似,所以代理服务器《Proxy》的快取功能《Cache》也同样适⽤于RTSP,并因RTSP具有重新导向功能,可视实际负载情况来转换提供服务的服务器,以避免过⼤的负载集中于同⼀服务器⽽造成延迟。

rtsp和http的区别和联系(1)联系:两者都⽤纯⽂本来发送消息,且rtsp协议的语法也和HTTP类似。

Rtsp⼀开始这样设计,也是为了能够兼容使⽤以前写的HTTP协议分析代码。

(2)区别:rtsp是有状态的,不同的是RTSP的命令需要知道现在正处于⼀个什么状态,也就是说rtsp的命令总是按照顺序来发送,某个命令总在另外⼀个命令之前要发送。

Rtsp不管处于什么状态都不会去断掉连接。

,⽽http则不保存状态,协议在发送⼀个命令以后,连接就会断开,且命令之间是没有依赖性的。

rtsp协议使⽤554端⼝,http使⽤80端⼝。

rtsp和sip的区别和联系SIP(Session Initiation Protocol),是基于IP的⼀个应⽤层控制协议。

由于SIP是基于纯⽂本的信令协议,可以管理不同接⼊⽹络上的会话等。

会话可以是终端设备之间任何类型的通信,如视频会话、既时信息处理或协作会话。

该协议不会定义或限制可使⽤的业务,传输、服务质量、计费、安全性等问题都由基本核⼼⽹络和其它协议处理。

视频传输协议

视频传输协议

视频传输协议视频传输协议(Video Transmission Protocol)是指视频数据在网络中传输时采用的一种规范。

通过视频传输协议,视频数据可以在不同设备之间进行传输和共享,使得视频应用得以实现。

视频传输协议的种类繁多,其中比较常见的有Real Time Streaming Protocol(RTSP)、Hypertext Transfer Protocol(HTTP)和Dynamic Adaptive Streaming over HTTP(DASH)等。

下面我们来逐个介绍这些协议的特点。

1. RTSPReal Time Streaming Protocol(RTSP)是一种视频流传输协议,它可以在不同的设备之间进行流媒体传输。

RTSP协议主要用于实时流媒体的传输,包括音频、视频和数据等内容。

RTSP协议具有传输速度快、延迟低、保证传输质量等优点。

同时,RTSP协议也具有一些缺点,比如安全性差、不支持跨网络传输等。

2. HTTPHypertext Transfer Protocol(HTTP)是一种应用层协议,常用于传输超文本和多媒体信息。

HTTP协议是为Web浏览器和服务器之间的通信而设计的,而且是一种无状态协议,即HTTP请求之间是相互独立的。

HTTP协议在视频传输方面的主要优点是具有可靠的传输和兼容性优势,同时也可以实现快速的流媒体传输。

3. DASHDynamic Adaptive Streaming over HTTP(DASH)是一种基于HTTP协议的流媒体传输协议。

DASH协议具有自适应性,可以根据当前的网络状况来选择合适的码率,保障数据传输的流畅性和稳定性。

DASH协议可以兼容不同的视频编码格式,比如H.264、VP9等。

除了上述三种常见的视频传输协议,还有一些其他的视频传输协议,比如User Datagram Protocol(UDP)、Real-Time Transport Protocol(RTP)等。

摄像头协议知识

摄像头协议知识

摄像头协议知识摄像头协议是指摄像头设备与其他设备之间进行通信和传输视频数据所使用的通信协议。

摄像头协议对于摄像头设备的控制和视频数据的传输起着重要的作用。

下面将介绍几种常见的摄像头协议及其特点。

1. ONVIF协议ONVIF(Open Network Video Interface Forum)是一个全球开放的视频监控网络接口标准组织。

ONVIF协议定义了摄像头和其他设备之间的通信方式,使不同厂商的摄像头可以互相兼容和互联。

该协议在网络摄像头设备之间进行视频传输、图像处理、设备控制等方面有着广泛的应用。

ONVIF协议基于IP网络,实现了摄像头的自动发现和接入,提供了一套标准化的Web服务接口,方便用户进行配置和管理。

2. RTSP协议RTSP(Real-Time Streaming Protocol)是一种用于流媒体数据传输的协议。

它允许客户端通过网络来控制和接收实时的音视频数据。

RTSP协议可以与其他协议(如RTP、RTCP等)结合使用,提供摄像头视频流的传输和控制。

RTSP协议不仅可以实现摄像头的视频直播和点播功能,还支持摄像头的远程控制,例如云台控制、画面调节等。

RTSP协议可以在局域网和广域网上进行视频传输,具备较好的扩展性和兼容性。

3. SIP协议SIP(Session Initiation Protocol)是一种用于会话控制的协议,通常用于建立、修改和终止多媒体会话。

在摄像头设备中,SIP协议可以用于实现视频通话和视频会议功能。

通过SIP协议,摄像头可以与其他终端设备(如手机、电脑)进行通信,实现实时的视频传输和远程监控。

SIP协议具有灵活性和可扩展性,支持多种音视频编码方式,以适应不同的网络环境和带宽要求。

4. HTTP协议HTTP(Hypertext Transfer Protocol)协议是一种用于传输超文本和多媒体数据的应用层协议。

在摄像头设备中,HTTP协议常用于摄像头的图像传输和控制。

rtsp协议详解

rtsp协议详解

RTSP协议详解RTSP(Real-Time Streaming Protocol)是一种用于实时传输音视频数据的应用层协议。

它能够提供对音视频数据的实时控制和传输,广泛应用于视频会议、流媒体服务、监控系统等领域。

本文将详细介绍RTSP协议的原理和主要特点。

1. RTSP协议概述RTSP协议是由IETF(Internet Engineering Task Force)制定的一种实时流传输协议,它建立在TCP或UDP协议之上,用于控制实时流媒体会话。

RTSP协议允许客户端发送命令来控制服务器上的实时流媒体,如播放、暂停、停止等操作。

2. RTSP协议工作原理RTSP协议通过建立控制连接和数据连接来实现对实时流媒体的控制和传输。

控制连接使用TCP协议建立,用于发送RTSP命令和接收响应。

数据连接可以使用TCP或UDP协议建立,用于传输音视频数据。

客户端和服务器之间的通信基于请求/响应模型。

客户端发送RTSP请求给服务器,服务器根据请求执行相应的操作,并返回响应给客户端。

RTSP请求包括方法、URL、协议版本和头部字段等信息,用于描述客户端所需的操作。

3. RTSP协议主要特点3.1 基于文本的协议RTSP协议使用文本格式表示请求和响应,易于阅读和调试。

请求和响应以ASCII码表示,每个字段以回车和换行符结束。

这种特点使得RTSP协议能够被开发人员快速理解和实现。

3.2 支持实时流媒体控制RTSP协议允许客户端控制服务器上的实时流媒体,如播放、暂停、停止等操作。

客户端可以发送SETUP命令来请求建立数据连接,然后通过PLAY命令来开始播放实时流媒体。

此外,RTSP还支持回放、录制和广播等功能。

3.3 支持多种传输协议RTSP协议可以运行在TCP或UDP协议之上。

对于实时性要求较高的应用场景,可以选择使用UDP协议传输数据,以减少延迟。

而对于可靠性要求较高的应用场景,可以选择使用TCP协议传输数据,以保证数据的完整性和可靠性。

从零开始写一个RTSP服务器(一)RTSP协议讲解

从零开始写一个RTSP服务器(一)RTSP协议讲解

从零开始写一个RTSP服务器(一)RTSP协议讲解文章目录•从零开始写一个RTSP服务器(一)不一样的RTSP协议讲解•o 3.1 RTP包格式o 3.2 RTP OVER TCPo 2.1 RTSP数据格式o 2.2 RTSP请求的常用方法o 2.3 RTSP交互过程o 2.4 sdp格式o前言o一、什么是RTSP协议?o二、RTSP协议详解oo三、RTP协议oo四、RTCP前言•为什么要写这个系列?因为我自己在学习rtsp协议想自己从零写一个rtsp服务器的时候,由于rtsp比较复杂,所以觉得这个过程非常的困难,网上许多相关文章或模棱两可,或是复制粘贴。

所以想写这样一个系列,来帮助想要学习rtsp协议或者想要从零写一个rtsp服务器的初学者•本系列的文章特点并系列文章实现追求精简,能够让人明白rtsp协议的实现过程,不追求复杂和完美如果想要实现一个比较完善的rtsp服务器,可以参考我的开源项目-RtspServer言归正传,下面开始本系列的文章一、什么是RTSP协议?RTSP是一个实时传输流协议,是一个应用层的协议通常说的RTSP包括RTSP协议、RTP协议、RTCP协议对于这些协议的作用简单的理解如下RTSP协议:负责服务器与客户端之间的请求与响应RTP协议:负责传输媒体数据RTCP协议:在RTP传输过程中提供传输信息rtsp承载与rtp和rtcp之上,rtsp并不会发送媒体数据,而是使用rtp协议传输rtp并没有规定发送方式,可以选择udp发送或者tcp发送二、RTSP协议详解rtsp的交互过程就是客户端请求,服务器响应,下面看一看请求和响应的数据格式2.1 RTSP数据格式RTSP协议格式与HTTP协议格式类似•RTSP客户端的请求格式•method url vesion\r\n•CSeq: x\r\n•xxx\r\n•...\r\nmethod:方法,表明这次请求的方法,rtsp定义了很多方法,稍后介绍url:格式一般为rtsp://ip:port/session,ip表主机ip,port表端口好,如果不写那么就是默认端口,rtsp的默认端口为554,session表明请求哪一个会话version:表示rtsp的版本,现在为RTSP/1.0CSeq:序列号,每个RTSP请求和响应都对应一个序列号,序列号是递增的•RTSP服务端的响应格式•vesion 200 OK\r\n•CSeq: x\r\n•xxx\r\n•...\r\nversion:表示rtsp的版本,现在为RTSP/1.0CSeq:序列号,这个必须与对应请求的序列号相同2.2 RTSP请求的常用方法方法描述OPTIONS 获取服务端提供的可用方法DESCRIBE 向服务端获取对应会话的媒体描述信息SETUP 向服务端发起建立请求,建立连接会话PLAY 向服务端发起播放请求TEARDOWN 向服务端发起关闭连接会话请求2.3 RTSP交互过程有了上述的知识,我们下面来讲解一个RTSP的交互过程OPTIONS•C–>S•OPTIONS rtsp://192.168.31.115:8554/live RTSP/1.0\r\n•CSeq: 2\r\n\r\n客户端向服务器请求可用方法•S–>C•RTSP/1.0 200 OK\r\n•CSeq: 2\r\n•Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY\r\ n\r\n服务端回复客户端,当前可用方法OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAYDESCRIBE•C–>S•DESCRIBE rtsp://192.168.31.115:8554/live RTSP/1.0\r\n•CSeq: 3\r\n•Accept: application/sdp\r\n\r\n客户端向服务器请求媒体描述文件,格式为sdp•S–>C•RTSP/1.0 200 OK\r\n•CSeq: 3\r\n•Content-length: 146\r\n•Content-type: application/sdp\r\n•\r\n••v=0\r\n•o=- 91565340853 1 in IP4 192.168.31.115\r\n•t=0 0\r\n•a=contol:*\r\n•m=video 0 RTP/AVP 96\r\n•a=rtpmap:96 H264/90000\r\n•a=framerate:25\r\na=control:track0\r\n服务器回复了sdp文件,这个文件告诉客户端当前服务器有哪些音视频流,有什么属性,具体稍后再讲解这里只需要直到客户端可以根据这些信息得知有哪些音视频流可以发送SETUP•C–>S•SETUP rtsp://192.168.31.115:8554/live/track0 RTSP/1.0\r\ n•CSeq: 4\r\n•Transport: RTP/AVP;unicast;client_port=54492-54493\r\n \r\n客户端发送建立请求,请求建立连接会话,准备接收音视频数据解析一下Transport: RTP/AVP;unicast;client_port=54492-54493\r\nRTP/AVP:表示RTP通过UDP发送,如果是RTP/AVP/TCP则表示RTP通过TCP发送unicast:表示单播,如果是multicast则表示多播client_port=54492-54493:由于这里希望采用的是RTP OVER UDP,所以客户端发送了两个用于传输数据的端口,客户端已经将这两个端口绑定到两个udp套接字上,54492表示是RTP端口,54493表示RTCP端口(RTP端口为某个偶数,RTCP端口为RTP端口+1)•S–>C•RTSP/1.0 200 OK\r\n•CSeq: 4\r\n•Transport: RTP/AVP;unicast;client_port=54492-54493;server_port=56400-56401\r\n•Session: 66334873\r\n\r\n服务端接收到请求之后,得知客户端要求采用RTP OVER UDP发送数据,单播,客户端用于传输RTP数据的端口为54492,RTCP的端口为54493服务器也有两个udp套接字,绑定好两个端口,一个用于传输RTP,一个用于传输RTCP,这里的端口号为56400-56401 之后客户端会使用54492-54493这两端口和服务器通过udp传输数据,服务器会使用56400-56401这两端口和这个客户端传输数据PLAY•C–>S•PLAY rtsp://192.168.31.115:8554/live RTSP/1.0\r\n•CSeq: 5\r\n•Session: 66334873\r\n•Range: npt=0.000-\r\n\r\n客户端请求播放媒体•S–>C•RTSP/1.0 200 OK\r\n•CSeq: 5\r\n•Range: npt=0.000-\r\n•Session: 66334873; timeout=60\r\n\r\n服务器回复之后,会开始使用RTP通过udp向客户端的54492端口发送数据TEARDOWN•C–>S•TEARDOWN rtsp://192.168.31.115:8554/live RTSP/1.0\r\n •CSeq: 6\r\n•Session: 66334873\r\n\r\n•S–>C•RTSP/1.0 200 OK\r\n•CSeq: 6\r\n\r\n2.4 sdp格式我们上面避开没有讲sdp文件,这里来好好补一补sdp格式由多行的type=value组成sdp会话描述由一个会话级描述和多个媒体级描述组成。

大华RTSP地址和格式大华硬盘录像机的流媒体地址和格式

大华RTSP地址和格式大华硬盘录像机的流媒体地址和格式

大华RTSP地址和格式大华硬盘录像机的流媒体地址和格式大华 RTSP 地址和格式大华硬盘录像机的流媒体地址和格式
实时监控码流Url格式
请求实时监控码流Rtsp流媒体服务时,应在Url中指明请求的通道号、码流类型,如果需要认证信息,还有提供用户名和密码。

Url格式说明如下:
rtsp://username:password@ip:port/cam/realmonitor?chann el=1&subtype=0
其中:
username: 用户名。

例如admin。

password: 密码。

例如admin。

ip: 为设备IP。

例如 10.7.8.122。

port: 端口号默认为554,若为默认可不填写。

channel: 通道号,起始为1。

例如通道2,则为channel=2。

subtype: 码流类型,主码流为0(即subtype=0),辅码流为1(即subtype=1)。

例如,请求某设备的通道2的辅码流,Url如下
rtsp://admin:***********.4.84:554/cam/realmonitor?chan nel=2&subtype=1
此方法在大化3100H硬盘录像机上测试通过能正常使用
(责任编辑:易家电子)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RTSP协议学习笔记目录RTSP协议学习笔记 (1)第一部分:RTSP协议 (2)一、RTSP协议概述 (2)二、RTSP协议与HTTP协议区别 (2)三、RTSP重要术语 (3)1.集合控制(Aggregate control ): (3)2.实体(Entity): (3)3.容器文件(Container file): (3)4.RTSP会话(RTSP session ): (3)四、RTSP请求消息 (3)1.消息格式: (3)五、RTSP回应消息 (4)1.消息格式: (4)六、RTSP 重要方法 (4)1. OPTIONS: (4)2. DESCRIBE: (5)3. SETUP: (6)4. PLAY: (7)5. PAUSE: (8)6. TEARDOWN: (8)七、RTSP重要头字段参数 (9)1.Accept: (9)2.Bandwidth: (9)3. CSeq: (9)4. Rang: (9)5.Session: (9)6.Transport: (9)八、简单的RTSP消息交互过程 (10)1.第一步:查询服务器端可用方法 (10)2.第二步:得到媒体描述信息 (10)3.第三步:建立RTSP会话 (10)4.第四步:请求开始传送数据 (10)5.第五步:数据传送播放中 (10)6.第六步:关闭会话,退出 (10)第二部分:SDP协议 (11)一、SDP协议概述 (11)二、SDP格式 (11)三、SDP示例 (12)第三部分:MMS协议 (13)一、MMS协议概述 (13)第一部分:RTSP协议一、RTSP协议概述RTSP(Real-Time Stream Protocol )是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似。

RTSP被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色。

尽管有时可以把RTSP控制信息和媒体数据流交织在一起传送,但一般情况RTSP本身并不用于转送媒体流数据。

媒体数据的传送可通过RTP/RTCP 等协议来完成。

一次基本的RTSP操作过程是:首先,客户端连接到流服务器并发送一个RTSP 描述命令(DESCRIBE)。

流服务器通过一个SDP描述来进行反馈,反馈信息包括流数量、媒体类型等信息。

客户端再分析该SDP描述,并为会话中的每一个流发送一个RTSP建立命令(SETUP),RTSP建立命令告诉服务器客户端用于接收媒体数据的端口。

流媒体连接建立完成后,客户端发送一个播放命令(PLAY),服务器就开始在UDP上传送媒体流(RTP包)到客户端。

在播放过程中客户端还可以向服务器发送命令来控制快进、快退和暂停等。

最后,客户端可发送一个终止命令(TERADOWN)来结束流媒体会话二、RTSP协议与HTTP协议区别1.RTSP引入了几种新的方法,比如DESCRIBE、PLAY、SETUP 等,并且有不同的协议标识符,RTSP为rtsp 1.0,HTTP为http 1.1;2.HTTP是无状态的协议,而RTSP为每个会话保持状态;3.RTSP协议的客户端和服务器端都可以发送Request请求,而在HTTPF 协议中,只有客户端能发送Request请求。

4.在RTSP协议中,载荷数据一般是通过带外方式来传送的(除了交织的情况),及通过RTP协议在不同的通道中来传送载荷数据。

而HTTP协议的载荷数据都是通过带内方式传送的,比如请求的网页数据是在回应的消息体中携带的。

5.使用ISO 10646(UTF-8) 而不是ISO 8859-1,以配合当前HTML的国际化;6.RTSP使用URI请求时包含绝对URI。

而由于历史原因造成的向后兼容性问题,HTTP/1.1只在请求中包含绝对路径,把主机名放入单独的标题域中;三、RTSP重要术语1.集合控制(Aggregate control ):对多个流的同时控制。

对音频/视频来讲,客户端仅需发送一条播放或者暂停消息就可同时控制音频流和视频流。

2.实体(Entity):作为请求或者回应的有效负荷传输的信息。

由以实体标题域(entity-header field)形式存在的元信息和以实体主体(entity body)形式存在的内容组成3.容器文件(Container file):可以容纳多个媒体流的文件。

RTSP服务器可以为这些容器文件提供集合控制。

4.RTSP会话(RTSP session ):RTSP交互的全过程。

对一个电影的观看过程,会话(session)包括由客户端建立媒体流传输机制(SETUP),使用播放(PLAY)或录制(RECORD)开始传送流,用停止(TEARDOWN)关闭流。

四、RTSP请求消息1.消息格式:方法 URI RTSP版本CR LF消息头 CR LF CR LF消息体 CR LF其中方法包括OPIONS、DESCRIBE、SETUP、PLAY、TEARDOWN等,URI是接受方的地址,例如:rtsp://192.168.0.1/video1.3gp。

RTSP版本一般都是 RTSP/1.0。

每行后面的CR LF表示回车换行,需要接受端有相应的解析,最后一个消息头需要有两个CR LF消息体是可选的,有的Request消息并不带消息体。

五、RTSP回应消息1.消息格式:RTSP版本状态码解释CR LF消息头 CR LF CR LF消息体 CR LF其中RTSP版本一般都是RTSP/1.0,状态码是一个数值,用于表示Request 消息的执行结果,比如200表示成功,解释是与状态码对应的文本解释.六、RTSP 重要方法1.OPTIONS:用于得到服务器提供的可用方法;如:OPTIONS rtsp://192.168.20.136:5000/xxx666 RTSP/1.0CSeq: 1服务器的回应信息会在Public字段列出提供的方法。

如:RTSP/1.0 200 OKCSeq: 1 //每个回应消息的cseq数值和请求消息的cseq相对应Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE2.DESCRIBE:客户端向服务器端发送DESCRIBE,用于得到URI所指定的媒体描述信息,一般是SDP信息。

客户端通过Accept头指定客户端可以接受的媒体述信息类型。

如:C->S: DESCRIBE rtsp:///fizzle/foo RTSP/1.0CSeq: 312Accept: application/sdp, application/rtsl, application/mheg)服务器回应URI指定媒体的描述信息:如:S->C: RTSP/1.0 200 OKCSeq: 312Date: 23 Jan 1997 15:35:06 GMTContent-Type: application/sdp //表示回应为SDP信息Content-Length: 376//这里为一个空行//以下为具体的SDP信息v=0o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4s=SDP Seminari=A Seminar on the session description protocolu=/staff/M.Handley/sdp.03.pse=mjh@ (Mark Handley)c=IN IP4 224.2.17.12/127t=2873397496 2873404696a=recvonlym=audio 3456 RTP/AVP 0m=video 2232 RTP/AVP 31m=whiteboard 32416 UDP WBa=orient:portrait媒体初始化是任何基于RTSP系统的必要条件,但RTSP规范并没有规定它必须通过DESCRIBE方法完成。

RTSP客户端可以通过以下方法来接收媒体描述信息:a)通过DESCRIBE方法;b)其它一些协议(HTTP,email附件,等);c)通过命令行或标准输入设备3.SETUP:用于确定转输机制,建立RTSP会话。

客户端能够发出一个SETUP请求为正在播放的媒体流改变传输参数,服务器可能同意这些参数的改变。

若是不同意,它必须响应错误"455 Method Not Valid In This State"。

Request 中的Transport头字段指定了客户端可接受的数据传输参数;Response中的Transport 头字段包含了由服务器选出的传输参数。

如:C->S: SETUP rtsp:///foo/bar/baz.rm RTSP/1.0CSeq: 302Transport: RTP/AVP;unicast;client_port=4588-4589服务器端对SETUP Request产生一个Session Identifiers。

如:S->C: RTSP/1.0 200 OKCSeq: 302Date: 23 Jan 1997 15:35:06 GMTSession: 47112344 //产生一个Session IDTransport: RTP/AVP;unicast;client_port=4588-4589;server_port=6256-62574.PLA Y:PLAY方法告知服务器通过SETUP中指定的机制开始发送数据。

在尚未收到SETUP请求的成功应答之前,客户端不可以发出PLAY请求。

PLAY请求将正常播放时间(normal play time)定位到指定范围的起始处,并且传输数据流直到播放范围结束。

PLAY请求可能被管道化(pipelined),即放入队列中(queued);服务器必须将PLAY请求放到队列中有序执行。

也就是说,后一个PLAY请求需要等待前一个PLAY请求完成才能得到执行。

比如,在下例中,不管到达的两个PLAY请求之间有多紧凑,服务器首先play 第10到15秒,然后立即第20到25秒,最后是第30秒直到结束。

C->S: PLAY rtsp:///audio RTSP/1.0CSeq: 835Session: 12345678Range: npt=10-15C->S: PLAY rtsp:///audio RTSP/1.0CSeq: 836Session: 12345678Range: npt=20-25C->S: PLAY rtsp:///audio RTSP/1.0CSeq: 837Session: 12345678Range: npt=30-Range头可能包含一个时间参数。

相关文档
最新文档