当前位置:文档之家› RTSP详解

RTSP详解

RTSP详解
RTSP详解

RTSP详解

RTSP 本身并不发送连续媒体流。换言之,RTSP 充当多媒体服务器的网络远程控制。

RTSP(Real Time Streaming Protocol,实时流媒体协议),是由Real network 和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件。源数据可以包括现场数据的反馈和存贮的文件。rtsp对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,rtsp作用相当于流媒体服务器的远程控制。传输数据可以通过传输层的tcp,udp协议,rtsp也提供了基于rtp传输机制的一些有效的方法。

RTSP 在语法和操作上与HTTP/1.1 类似,因此HTTP 的扩展机制在多数情况下可加入RTSP。然而,在很多重要方面RTSP 仍不同于HTTP :

?RTSP 引入了大量新方法并具有一个不同的协议标识符:

?在大多数情况下,RTSP 服务器需要保持缺省状态,与HTTP 的无状态相对;

?RTSP 中客户端和服务器都可以发出请求;

?在多数情况下,数据由不同的协议传输;

?RTSP 使用ISO 10646 (UTF-8)而并非ISO 8859-1,与当前的国际标准HTML 相一致;

?URI 请求总是包含绝对URI。为了与过去的错误相互兼容,HTTP/1.1 只在请求过程中传送绝对路径并将主机名置于另外的头字段。

协议结构

RTSP 是一种文本协议,采用UTF-8 编码中的ISO 10646 字符集。一行可通过CRLF 终止,但接收端需要做好解释CR 和LF 作为一行终止符的准备。关于头字段概述如下:

Header Type Support Methods

Accept R opt. entity

Accept-Encoding R opt. entity

Accept-Language R opt. all

Allow R opt. all

Authorization R opt. all

Bandwidth R opt. all

Blocksize R opt. All but OPTIONS, TEARDOWN

Cache-Control G opt. SETUP

Conference R opt. SETUP

Connection G req. all

Content-Base E opt. entity

Content-Encoding E req. SET_PARAMETER

Content-Encoding E req. DESCRIBE, ANNOUNCE Content-Language E req. DESCRIBE, ANNOUNCE Content-Length E req. SET_PARAMETER, ANNOUNCE Content-Length E req. entity

Content-Location E opt. entity

Content-Type E req. SET_PARAMETER, ANNOUNCE Content-Type R req. entity

CSeq G req. all

Date G opt. all

Expires E opt. DESCRIBE, ANNOUNCE

From R opt. all

If-Modified-Since R opt. DESCRIBE, SETUP

Last-Modified E opt. entity

Proxy-Authenticate

Proxy-Require R req. all

Public R opt. all

Range R opt. PLAY, PAUSE, RECORD

Range R opt. PLAY, PAUSE, RECORD Referer R opt. all

Require R req. all

Retry-After R opt. all

RTP-Info R req. PLAY

Scale Rr opt. PLAY, RECORD

Session Rr req. All but SETUP, OPTIONS

Server R opt. all

Speed Rr opt. PLAY

Transport Rr req. SETUP

Unsupported R req. all

User-Agent R opt. all

Via G opt. all

WWW-Authenticate R opt. all

类型"g" 表示请求和响应中的通用请求头;类型"R" 表示请求头;类型"r" 表示响应头;类型"e" 表示实体头字段。在"support" 一栏中标有"req." 的字段必须由接收者以特殊的方法实现;而"opt." 的字段是可选的。注意,不是所有"req." 字段在该类型的每个请求中都会被发送。"req." 只表示客户机(支持响应头)和服务器(支持请求头)必须执行该字段。最后一栏列出了关于头字段产生作用的方法;其中"entity" 针对于返回一个信息主体的所有方法。

RTSP消息格式:

RTSP的消息有两大类--- 请求消息(request), 回应消息(response)。

请求消息:

方法URI RTSP版本CR LF

消息头CR LF CR LF

消息体CR LF

其中方法包括OPTION回应中所有的命令,URI是接受方的地址,例如:rtsp://192.168.20.136。RTSP版本一般都是RTSP/1.0。每行后面的CR LF表示回车换行,需要接受端有相应的解析,最后一个消息头需要有两个CR LF

回应消息:

RTSP版本状态码解释CR LF

消息头CR LF CR LF

消息体CR LF

其中RTSP版本一般都是RTSP/1.0, 状态码是一个数值, 200表示成功, 解释是与状态码对应的文本解释. 简单的rtsp交互过程:

C表示rtsp客户端, S表示rtsp服务端

1. C->S:OPTION request //询问S有哪些方法可用

1. S->C:OPTION response //S回应信息中包括提供的所有可用方法

2. C->S:DESCRIBE request //要求得到S提供的媒体初始化描述信息

2. S->C:DESCRIBE response //S回应媒体初始化描述信息,主要是sdp

3. C->S:SETUP request //设置会话的属性,以及传输模式,提醒S建立会话

3. S->C:SETUP response //S建立会话,返回会话标识符,以及会话相关信息

4. C->S:PLAY request //C请求播放

4. S->C:PLAY response //S回应该请求的信息

S->C:发送流媒体数据

5. C->S:TEARDOWN request //C请求关闭会话

5. S->C:TEARDOWN response //S回应该请求

上述的过程是标准的、友好的rtsp流程,但实际的需求中并不一定按部就班来。其中第3和4步是必需的!第一步,只要服务器客户端约定好,有哪些方法可用,则option请求可以不要。第二步,如果我们有其他途径得到媒体初始化描述信息(比如http请求等等),则我们也不需要通过rtsp中的describe请求来完成。第五步,可以根据系统需求的设计来决定是否需要。

rtsp中常用方法:

1. OPTION

目的是得到服务器提供的可用方法:

OPTIONS rtsp://192.168.20.136:5000/xxx666 RTSP/1.0

CSeq: 1 //每个消息都有序号来标记,第一个包通常是option请求消息

User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)

服务器的回应信息包括提供的一些方法,例如:

RTSP/1.0 200 OK

Server: UServer 0.9.7_rc1

Cseq: 1 //每个回应消息的cseq数值和请求消息的cseq相对应

Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, SCALE,GET_PARAMETER //服务器提供的可用的方法

2. DESCRIBE

C向S发起DESCRIBE请求,为了得到会话描述信息(SDP):

DESCRIBE rtsp://192.168.20.136:5000/xxx666 RTSP/1.0

CSeq: 2

token:

Accept: application/sdp

User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)

服务器回应一些对此会话的描述信息(sdp):

RTSP/1.0 200 OK

Server: UServer 0.9.7_rc1

Cseq: 2

x-prev-url: rtsp://192.168.20.136:5000

x-next-url: rtsp://192.168.20.136:5000

x-Accept-Retransmit: our-retransmit

x-Accept-Dynamic-Rate: 1

Cache-Control: must-revalidate

Last-Modified: Fri, 10 Nov 2006 12:34:38 GMT

Date: Fri, 10 Nov 2006 12:34:38 GMT

Expires: Fri, 10 Nov 2006 12:34:38 GMT

Content-Base: rtsp://192.168.20.136:5000/xxx666/

Content-Length: 344

Content-Type: application/sdp

v=0 //以下都是sdp信息

o=OnewaveUServerNG 1451516402 1025358037 IN IP4 192.168.20.136

s=/xxx666

u=http:///

e=admin@

c=IN IP4 0.0.0.0

t=0 0

a=isma-compliance:1,1.0,1

a=range:npt=0-

m=video 0 RTP/AVP 96 //m表示媒体描述,下面是对会话中视频通道的媒体描述

a=rtpmap:96 MP4V-ES/90000

a=fmtp:96

profile-level-id=245;config=000001B0F5000001B509000001000000012000C888B0E0E0FA62D089028 307 a=control:trackID=0 //trackID=0表示视频流用的是通道0

3.SETUP

客户端提醒服务器建立会话,并确定传输模式:

SETUP rtsp://192.168.20.136:5000/xxx666/trackID=0 RTSP/1.0

CSeq: 3

Transport: RTP/AVP/TCP;unicast;interleaved=0-1

User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)

//uri中带有trackID=0,表示对该通道进行设置。Transport参数设置了传输模式,包的结构。接下来的数据包头部第二个字节位置就是interleaved,它的值是每个通道都不同的,trackID=0的interleaved值有两个0或1,0表示rtp包,1表示rtcp包,接受端根据interleaved的值来区别是哪种数据包。

服务器回应信息:

RTSP/1.0 200 OK

Server: UServer 0.9.7_rc1

Cseq: 3

Session: 6310936469860791894 //服务器回应的会话标识符

Cache-Control: no-cache

Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=6B8B4567

4.PLAY

客户端发送播放请求:

PLAY rtsp://192.168.20.136:5000/xxx666 RTSP/1.0

CSeq: 4

Session: 6310936469860791894

Range: npt=0.000- //设置播放时间的范围

User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)

服务器回应信息:

RTSP/1.0 200 OK

Server: UServer 0.9.7_rc1

Cseq: 4

Session: 6310936469860791894

Range: npt=0.000000-

RTP-Info: url=trackID=0;seq=17040;rtptime=1467265309

//seq和rtptime都是rtp包中的信息

5.TEARDOWN

客户端发起关闭请求:

TEARDOWN rtsp://192.168.20.136:5000/xxx666 RTSP/1.0

CSeq: 5

Session: 6310936469860791894

User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)

服务器回应:

RTSP/1.0 200 OK

Server: UServer 0.9.7_rc1

Cseq: 5

Session: 6310936469860791894

Connection: Close

以上方法都是交互过程中最为常用的, 其它还有一些重要的方法如get/set_parameter,pause,redirect等等sdp的格式:

v=

o=

s=

i=

u=

e=

p=

c=

b=:

t=

r=

z= ....

k=

k=:

a=

a=:

m=

v = (协议版本)

o = (所有者/创建者和会话标识符)

s = (会话名称)

i = * (会话信息)

u = * (URI 描述)

e = * (Email 地址)

p = * (电话号码)

c = * (连接信息)

b = * (带宽信息)

z = * (时间区域调整)

k = * (加密密钥)

a = * (0 个或多个会话属性行)

时间描述:

t = (会话活动时间)

r = * (0或多次重复次数)

媒体描述:

m = (媒体名称和传输地址)

i = * (媒体标题)

c = * (连接信息—如果包含在会话层则该字段可选)

b = * (带宽信息)

k = * (加密密钥)

a = * (0 个或多个媒体属性行)

客户端必须在这个时段内发送一个ACK ,要不然连接就要被强制中断。一个ACK就是发送一

条 GET_PARAMETER命令到服务器。

X-Accept-Authentication: 允许的authentication 方法NTLM, Digest 和Basic 是标准的

X-Broadcast-Id: 是否是实况或者是先期录制的流。0 表示先期录制,其他的值表示是实况。

Range: Range is the offset and end time positions to stream the media. For a zero start and full file stream, this value is

set to:npt=0.000-where 0.000 is the offset and –0.000 (optional) is the ending time. Values are stated in seconds.

Speed: 用来调整传输到客户端的流得速度。假如你的带宽可以接受更高速的数据传送,这个域的值可以设置大于1来加速下载数据普通情况 Speed: 1.0 i.e. x1 rate Media player 使用: Speed: 1.294 这个主要取决于你的网络连接速度。

Server: 服务器类型和软件版本

EOF: 文件结束标记,也是流的结束标记

Date: 日期时间,下面举个例子:Tue, 18 Nov 2003 15:57:07 GMT

Bandwidth: 流需要的最大带宽,bits/秒

Transport: 使用什么协议来传输数据,比如TCP或者UDP等

Etag:实体标记Entity tag,是一个分配给会话的值,就像"23180160"

5、RTSP请求消息

消息格式:

其中

方法包括OPIONS、DESCRIBE、SETUP、PLAY、TEARDOWN等,

URI是接受方的地址,例如:rtsp://192.168.0.1/video1.3gp。

RTSP版本一般都是RTSP/1.0。

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

6、RTSP回应消息

消息格式:

其中

RTSP版本一般都是RTSP/1.0,

状态码是一个数值,用于表示Request消息的执行结果,比如200表示成功, 解释是与状态码对应的文本解释.

7.实况流程图:

8.参考资料:

?《RTSP协议RFC2326》?《RTP协议RFC3550》?《SDP协议RFC2327》

RTSP(实时流媒体协议)

rtsp简介(ZT) Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Real network 和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件。源数据可以包括现场数据的反馈和存贮的文件。rtsp对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,rtsp作用相当于流媒体服务器的远程控制。传输数据可以通过传输层的tcp,udp协议,rtsp也提供了基于rtp传输机制的一些有效的方法。RTSP消息格式: RTSP的消息有两大类,一是请求消息(request),一是回应消息(response),两种 消息的格式不同. 请求消息: 方法URI RTSP版本CR LF 消息头CR LF CR LF 消息体CR LF 其中方法包括OPTION回应中所有的命令,URI是接受方的地址,例如 :rtsp://192.168.20.136 RTSP版本一般都是RTSP/1.0.每行后面的CR LF表示回车换行,需要接受端有相应的解析,最后一个消息头需要有两个CR LF 回应消息: RTSP版本状态码解释CR LF 消息头CR LF CR LF 消息体CR LF 其中RTSP版本一般都是RTSP/1.0,状态码是一个数值,200表示成功,解释是与状态码对应的文本解释. 简单的rtsp交互过程: C表示rtsp客户端,S表示rtsp服务端 1.C->S:OPTION request //询问S有哪些方法可用 1.S->C:OPTION response //S回应信息中包括提供的所有可用方法 2.C->S:DESCRIBE request //要求得到S提供的媒体初始化描述信息 2.S->C:DESCRIBE response //S回应媒体初始化描述信息,主要是sdp 3.C->S:SETUP request //设置会话的属性,以及传输模式,提醒S建立会 话 3.S->C:SETUP response //S建立会话,返回会话标识符,以及会话相关信息 4.C->S:PLAY request //C请求播放 4.S->C:PLAY response //S回应该请求的信息 S->C:发送流媒体数据 5.C->S:TEARDOWN request //C请求关闭会话 5.S->C:TEARDOWN response //S回应该请求

常用的系统状态查询命令

常用的系统状态查询命令 # lsdev –C –s scsi 列出各个SCSI设备的所有相关信息:如逻辑单元号,硬件地址及设备文件名等。 # ps -ef 列出正在运行的所有进程的各种信息:如进程号及进程名等。 ps aux查看进程信息 # netstat -rn 列出网卡状态及路由信息等。 # netstat -in 列出网卡状态及网络配置信息。 # df -k 列出已加载的逻辑卷及其大小信息。 #top 查看系统应用信息,如CPU、内存使用率。按u,输入用户名则可监视用户;按k然后输入特定进程PID可关闭此进程,输入信号代码15关闭进程,输入信号代码9强行关闭。 # mount 列出已加载的逻辑卷及其加载位置。 # ntsysv 选择启动服务 # uname -a 列出系统ID 号,系统名称,OS版本等信息。 # hostname 列出系统网络名称。 # lsvg –l rootvg,lsvg –p rootvg 显示逻辑卷组信息,如包含哪些物理盘及逻辑卷等。 # lslv –l datalv,lslv –p datalv 显示逻辑卷各种信息,如包含哪些盘,是否有镜像等。 八网络故障定位方法 网络不通的诊断过程: ifconfig 查看网卡是否启动 (up) netstat –i 查看网卡状态 Ierrs/Ipkts 和 Oerrs/Opkts是否>1% ping自己网卡地址 (ip 地址) ping其它机器地址,如不通,在其机器上用diag检测网卡是否有问题。 在同一网中, subnetmask 应一致。 网络配置的基本方法: (1) 如需修改网络地址、主机名等,一定要用 chdev 命令 # chdev –l inet0 –a hostname=myhost # chdev -l en0 -a netaddr='9.3.240.58' -a netmask=255.255.255.0’ (2) 查看网卡状态:# lsdev –Cc if

SQL常用命令使用方法:

SQL常用命令使用方法: (1) 数据记录筛选: sql="select * from 数据表where 字段名=字段值order by 字段名" sql="select * from 数据表where 字段名like ‘%字段值%‘order by 字段名" sql="select top 10 * from 数据表where 字段名order by 字段名" sql="select * from 数据表where 字段名in (‘值1‘,‘值2‘,‘值3‘)" sql="select * from 数据表where 字段名between 值1 and 值2" (2) 更新数据记录: sql="update 数据表set 字段名=字段值where 条件表达式" sql="update 数据表set 字段1=值1,字段2=值2 ……字段n=值n where 条件表达式" (3) 删除数据记录: sql="delete from 数据表where 条件表达式" sql="delete from 数据表" (将数据表所有记录删除) (4) 添加数据记录: sql="insert into 数据表(字段1,字段2,字段3 …)valuess (值1,值2,值3 …)" sql="insert into 目标数据表select * from 源数据表" (把源数据表的记录添加到目标数据表) (5) 数据记录统计函数: AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法: sql="select sum(字段名) as 别名from 数据表where 条件表达式" set rs=conn.excute(sql) 用rs("别名") 获取统的计值,其它函数运用同上。 (5) 数据表的建立和删除: CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) ……) 例:CREATE TABLE tab01(name varchar(50),datetime default now()) DROP TABLE 数据表名称(永久性删除一个数据表) 4. 记录集对象的方法: rs.movenext 将记录指针从当前的位置向下移一行 rs.moveprevious 将记录指针从当前的位置向上移一行 rs.movefirst 将记录指针移到数据表第一行 rs.movelast 将记录指针移到数据表最后一行 rs.absoluteposition=N 将记录指针移到数据表第N行 rs.absolutepage=N 将记录指针移到第N页的第一行 rs.pagesize=N 设置每页为N条记录 rs.pagecount 根据pagesize 的设置返回总页数 rs.recordcount 返回记录总数 rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否 rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否 rs.delete 删除当前记录,但记录指针不会向下移动 rs.addnew 添加记录到数据表末端 rs.update 更新数据表记录 判断所填数据是数字型 if not isNumeric(request("字段名称")) then response.write "不是数字" else response.write "数字" end if -------------------------------------------------------------------------------- simpleli 于2002-03-23 15:08:45 加贴在ASP论坛上

UNIX系统常用命令

UNIX系统常用命令 UNIX系统常用命令格式: command [flags] [argument1] [argument2] ... 其中flags以-开始,多个flags可用一个-连起来,如ls -l -a 与ls -la相同。 根据命令的不同,参数分为可选的或必须的;所有的命令从标准输入接受输入,输出结果显示在标准输出,而错误信息则显示在标准错误输出设备。可使用重定向功能对这些设备进行重定向。 命令在正常执行结果后返回一个0值,如果命令出错可未完全完成,则返回一个 非零值(在shell中可用变量$?查看). 在shell script中可用此返回值作为控制逻辑的一部分。 注:不同的UNIX版本的flags可能有所不同。 1、与用户相关的命令 1.1 login (在LINUX Redhat下此命令功能与Solaris/BSD不同,执行login会退出当前任务). login: Password: 相关文件: 在下面的这些文件中设定shell运行时必要的路径,终端类型,其他变量或特殊程序. $HOME/.profile (Bourne shell, sh, bash) $HOME/.cshrc (csh, tcsh) $HOME/.tcshrc (tcsh) /etc/passwd文件中列出每个用户的shell /etc/csh.cshrc /etc/csh.login /etc/profile (Bourne shell, bash) /etc/login (Bourne shell, bash) csh: /etc/csh.cshrc和$HOME/.cshrc每次执行都会读取, 而/etc/csh.login和$HOME/.login只有注册shell才执行 修改相应文件后使用 source .cshrc使能相关修改,如果修改了path则 还需使用rehash刷新可执行文件hash表。 tcsh: $HOME/.tcshrc, 没有些文件读取.cshrc sh: /etc/profile和$HOME/.profile注册shell bash: /etc/profile和$HOME/.bash_profile注册shell读取 .bashrc交互式非注册shell才读取。

运维常用命令

查看操作系统版本和license uname –a 如何查看内存 dmesg(hp unix) 查看主频、内存情况 dmesg(hp unix) machinfo 监控cpu、内存 top(unix) topas vmstat nmon(第三方小程序,下载地址https://www.doczj.com/doc/e414866641.html,/forum/viewtopic.php?t=537817&highlight=matata ) vmstat -s vmstat -v svmon -G svmon –P(单个进程内存利用率) 查看操作系统错误 errpt(aix) 查看端口号的连接情况 Netstat –a |grep 1521(oracle 1521端口的连接情况) 查看数据库进程连接数 Ps –ef |grep oracleEII|wc –l 查看磁盘使用情况 bdf (hp unix) du -ks(hp unix) df(AIX) -k , -g ,-m 等参数 看看网卡地状态 lanscan(hp unix) 改变文件读取权限 命令:chmod (change mode) 格式:chmod {u|g|o|a}{+|-|=}{r|w|x} filename chmod [who][op][mode] directory 功能:改变文件的读写和执行权限。有符号法和八进制数字法。 选项:(1)符号法: u (user) 表示用户本人。 g (group) 表示同组用户。 o (oher) 表示其他用户。 a (all) 表示所有用户。 + 用于给予指定用户的许可权限。 - 用于取消指定用户的许可权限。

常用命令

文件和目录 cd /home 进入'/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回上次所在的目录 pwd 显示工作路径 ls 查看目录中的文件 ls -F 查看目录中的文件 ls -l 显示文件和目录的详细资料 ls -a 显示隐藏文件 ls *[0-9]* 显示包含数字的文件名和目录名 tree 显示文件和目录由根目录开始的树形结构(1) lstree 显示文件和目录由根目录开始的树形结构(2) mkdir dir1 创建一个叫做'dir1' 的目录' mkdir dir1 dir2 同时创建两个目录 mkdir -p /tmp/dir1/dir2 创建一个目录树 rm -f file1 删除一个叫做'file1' 的文件' rmdir dir1 删除一个叫做'dir1' 的目录' rm -rf dir1 删除一个叫做'dir1' 的目录并同时删除其内容rm -rf dir1 dir2 同时删除两个目录及它们的内容

mv dir1 new_dir 重命名/移动一个目录 cp file1 file2 复制一个文件 cp dir/* . 复制一个目录下的所有文件到当前工作目录 cp -a /tmp/dir1 . 复制一个目录到当前工作目录 cp -a dir1 dir2 复制一个目录 ln -s file1 lnk1 创建一个指向文件或目录的软链接 ln file1 lnk1 创建一个指向文件或目录的物理链接 touch -t 0712250000 file1 修改一个文件或目录的时间戳- (YYMMDDhhmm) file file1 outputs the mime type of the file as text iconv -l 列出已知的编码 iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding. find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick) 文件搜索

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

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)

任务十三 Neutron基本运维命令及其应用

任务十三Neutron基本运维命令及其应用 一.任务前提环境: 安装成功的先电IaaS云平台环境,可以通过Dashboard登陆云平台,也可以通过终端连接Controller,进行命令的操作。 二.任务涉及节点: Controller节点 三.任务目标: 1.通过命令行对子网进行变更; 2.通过dashboard界面对子网进行变更; 3.Neutron Vlan网络的配置。 四.任务内容: 1. 通过命令行对子网进行变更: 步骤一:创建Demo租户的网络(此处有视频:12-4Neutron基本运维命令及其应用)我们可以通过tenant-create命令创建一个新的租户,创建成功后,我们通过 tenant-list命令查看租户信息,命令如下,结果如图1所示。 [root@controller ~]# keystone tenant-create --name NeutronDemo [root@controller ~]# keystone tenant-list 图1 查看keystone租户信息的反馈结果 定义tenantID变量,将NeutronDemo租户对应的租户ID赋给该变量,通过echo命令输出该变量值,通过neutron net-create命令为NeutronDemo租户创建网络,命令如下,结果如图2所示。 [root@controller ~]# tenantID=`keystone tenant-list | grep NeutronDemo | awk '{print $2}'` [root@controller ~]# echo $tenantID [root@controller ~]# neutron net-create --tenant-id $tenantID NeutronDemoNet --shared --provider:network_type flat -- provider:physical_network physnet1 图2 网络创建的反馈结果 步骤二:Neutron子网变更

(完整版)CAD最常用命令大全(实用版)

cad命令大全 L, *LINE 直线 ML, *MLINE 多线(创建多条平行线) PL, *PLINE 多段线 PE, *PEDIT 编辑多段线 SPL, *SPLINE 样条曲线 SPE, *SPLINEDIT 编辑样条曲线 XL, *XLINE 构造线(创建无限长的线) A, *ARC 圆弧 C, *CIRCLE 圆 DO, *DONUT 圆环 EL, *ELLIPSE 椭圆 PO, *POINT 点 DCE, *DIMCENTER 中心标记 POL, *POLYGON 正多边形 REC, *RECTANG 矩形 REG, *REGION 面域 H, *BHATCH 图案填充 BH, *BHATCH 图案填充 -H, *HATCH HE, *HATCHEDIT 图案填充...(修改一个图案或渐变填充)SO, *SOLID 二维填充(创建实体填充的三角形和四边形)*revcloud 修订云线 *ellipse 椭圆弧 DI, *DIST 距离 ME, *MEASURE 定距等分 DIV, *DIVIDE 定数等分

DT, *TEXT 单行文字 T, *MTEXT 多行文字 -T, *-MTEXT 多行文字(命令行输入) MT, *MTEXT 多行文字 ED, *DDEDIT 编辑文字、标注文字、属性定义和特征控制框ST, *STYLE 文字样式 B, *BLOCK 创建块... -B, *-BLOCK 创建块...(命令行输入) I, *INSERT 插入块 -I, *-INSERT 插入块(命令行输入) W, *WBLOCK “写块”对话框(将对象或块写入新图形文件)-W, *-WBLOCK 写块(命令行输入) -------------------------------------------------------------------------------- AR, *ARRAY 阵列 -AR, *-ARRAY 阵列(命令行输入) BR, *BREAK 打断 CHA, *CHAMFER 倒角 CO, *COPY 复制对象 CP, *COPY 复制对象 E, *ERASE 删除 EX, *EXTEND 延伸 F, *FILLET 圆角 M, *MOVE 移动 MI, *MIRROR 镜像 LEN, *LENGTHEN 拉长(修改对象的长度和圆弧的包含角)

RTC PRTP RTSP协议简介

一、 RTP : (Real-time Transport Protocol,实时传输协议)是一个网络传输协议 RTP报文格式 RTP报文由两部分组成:报头和有效载荷。RTP报头格式如图所示,其中: 1.V:RTP协议的版本号,占2位,当前协议版本号为2。 2.P:填充标志,占1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。 3.X:扩展标志,占1位,如果X=1,则在RTP报头后跟有一个扩展报头。 https://www.doczj.com/doc/e414866641.html,:CSRC计数器,占4位,指示CSRC 标识符的个数。 5.M: 标记,占1位,不同的有效载荷有不同的含义,对于视频,标记一帧的结束;对于音频,标记会话的开始。 6.同步信源(SSRC)标识符:占32位,用于标识同步信源。该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的SSRC。 7.特约信源(CSRC)标识符:每个CSRC标识符占32位,可以有0~15个。每个CSRC标识了包含在该RTP报文有效载荷中的所有特约信源。 8.PT: 有效载荷类型,占7位,用于说明RTP报文中有效载荷的类型,如GSM音频、JPEM 图像等。 9.序列号:占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号增1。接收者通过序列号来检测报文丢失情况,重新排序报文,恢复数据。 10.时戳(Timestamp):占32位,时戳反映了该RTP报文的第一个八位组的采样时刻。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。 图 RTP报头格式 二、RTCP:RTP 控制协议(RTCP:RTP Control Protocol)

SAP系统常用命令介绍

SAP系统常用命令介绍 1、系统配置常用命令 所谓系统配置命令,通常包含系统操作配置、系统传输配置、系统自定义内容配置等相关命令。系统配置的范围很广,这里介绍的系统配置不包括模块配置内容,主要是系统层面的相关配置命令。常用的操作命令主要包含以下几种。 (1)系统传输配置命令:SE09/SE10、STMS (2)系统后台参数配置命令:SPRO (3)系统信息发布命令:SM02 (4)目标集团参数配置命令:SCC4 2、后台维护常用命令 在SAP系统中,普通用户常常因为权限不够导致很多事项无法处理,需要通过管理员在后台对相应的主数据及参数进行修改设置。这里主要介绍以下几个常用的后台维护命令。 (1)批处理命令:SCAT (2)定义后台作业命令:SM36 (3)查看后台作业命令:SM37 3、程序编辑常用命令 程序编辑属于SAP系统开发的一个重要组成部分,SAP系统本身带有ABAP语言编辑器,可以提供强大的自开发程序功能。这里介绍程序编辑通常使用的相关命令。一般来说,程序编辑常用到的命令有以下3各。 (1)程序编辑器命令:SE38 (2)韩式编辑器命令:SE37 (3)对象浏览器命令:SE80 4、表间维护常用命令: (1)SAP系统中的数据都是存储在不同的表空间中。对于这些表的查询、修改及数据整理,SAP提供有相应的操作命令。常用的表间维护命令主要包括以下几种。 (1)ABAP数据字典命令:SE11 (2)维护表视图命令:SM30 5、用户及权限控制常用命令 在SAP系统中对于用户及权限的控制是非常严格的,权限参数、权限、用户的管理,均有一套专有的体系。这里介绍用户及权限控制常用的命令,包括以下几种。 (1)权限创建及修改命令:PFCG (2)用户创建及配置命令:SU01 (3)用户批量处理命令:SU10

Exchange日常运维命令

Exchange Management Shell 实用命令收集如下: (注:1、以下命令均以“管理员身份”运行2、以下命令行中的中文名称均以实例名称替换) 一、启用邮箱: 1、批量启用邮箱帐户: 启用AD中所有未启用的用户: Get-User -RecipientTypeDetails User -Filter { UserPrincipalName -ne $Null } | E nable-Mailbox -Database "数据库名称"

启用AD中某个组织单位下面的用户: Get-User -OrganizationalUnit "组织单位名称" | Enable-Mailbox -Database "数据库名称" 2、指定帐户启用邮箱帐户: Enable-Mailbox -Identity 域名\用户名-Database "数据库名称" 3、获取已经创建的邮箱: Get-Mailbox | FL Name,RecipientTypeDetails,PrimarySmtpAddress 4、禁用邮箱:

Disable-Mailbox test@https://www.doczj.com/doc/e414866641.html, 二、邮件收发速度设置: 1、获取各连接器的邮件收发速度: Get-ReceiveConnector | ft Name,MessageRateLimit 2、设置每分钟邮件收发速度: Get-ReceiveConnector "服务器名称\连接器名称" | Set-ReceiveConnector -MessageRat eLimit 100 (此处设置每分钟发100封邮件) 三、邮件操作:

华为常用命令

华为交换机常用命令: 1、display current-configuration //显示当前配置 2、display interface GigabitEthernet 1/1/4 //显示接口信息 3、display packet-filter interface GigabitEthernet 1/1/4 //显示接口acl应用信息 4、display acl all //显示所有acl设置3900系列交换机 5、display acl config all //显示所有acl设置6500系列交换机 6、display arp 10.78.4.1 //显示该ip地址的mac地址,所接交换机的端口位置 7、display cpu //显示cpu信息 8、system-view //进入系统图(配置交换机),等于config t 命令 9、acl number 5000 //在system-view命令后使用,进入acl配置状态 10、rule 0 deny 0806 ffff 24 0a4e0401 ffffffff 40 //在上面的命令后使用,,acl 配置例子 11、rule 1 permit 0806 ffff 24 000fe218ded7 fffffffff 34 //在上面的命令后使用,acl配置例子 12、interface GigabitEthernet 1/0/9 //在system-view命令后使用,进入接口配置状态 13、[86ZX-S6503-GigabitEthernet1/0/9]qos //在上面的命令后使用,进入接口qos配置 14、[86ZX-S6503-qosb-GigabitEthernet1/0/9]packet-filter inbound user-group 5000 //在上面的命令后使用,在接口上应用进站的acl 15、[Build4-2_S3928TP-GigabitEthernet1/1/4]packet-filter outbound user-group 5001 //在接口上应用出站的acl 16、undo acl number 5000 //取消acl number 5000 的设置 17、ip route-static 0.0.0.0 0.0.0.0 10.78.1.1 preference 60 //设置路由 18、reset counters interface Ethernet 1/0/14 //重置接口信息 华为路由器常用命令 [Quidway]dis cur ;显示当前配置[Quidway]display current-configuration ;显示当前配置[Quidway]display interfaces ;显示接口信息[Quidway]display vlan all ;显示路由信息[Quidway]display version ;显示版本信息 [Quidway]super password ;修改特权用户密码[Quidway]sysname ;交换机命名[Quidway]interface ethernet 0/1 ;进入接口视图[Quidway]interface vlan x ;进入接口视图 [Quidway-Vlan-interfacex]ip address 10.65.1.1 255.255.0.0 ;配置VLAN的IP地址 [Quidway]ip route-static 0.0.0.0 0.0.0.0 10.65.1.2 ;静态路由=网关[Quidway]rip ;三层交换支持[Quidway]local-user ftp [Quidway]user-interface vty 0 4 ;进入虚拟终端 [S3026-ui-vty0-4]authentication-mode password ;设置口令模式 [S3026-ui-vty0-4]set authentication-mode password simple 222 ;设置口令 [S3026-ui-vty0-4]user privilege level 3 ;用户级别

RTSP协议学习笔记

RTSP协议学习笔记

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

RTSP中文版(实时流媒体协议)

E-mail:bryanj@https://www.doczj.com/doc/e414866641.html, 译者:Bryan.Wong(王晶,宁夏固原) 译文版本:alpha 0.80 译文发布时间:2007-7-25 版权:本中文翻译文档之版权归王晶所有。可于非商业用途前提下自由转载,但必须保留此翻译及版权信息。 https://www.doczj.com/doc/e414866641.html,/filedownload?user=bryanj&id=611206 网络工作组 H. Schulzrinne 请求注释: 2326 哥伦比亚大学. 类别: 标准跟踪 A. Rao Netscape R. Lanphier RealNetworks 1998年4月 实时流协议(RTSP) 本备忘录状态 本文为Internet社区描述了一种Internet标准跟踪协议,还需要讨论和建议以便进行改善。请查看最新版本的"Internet正式协议标准"(STD 1)了解本协议的标准化进程和状态。本备忘录的传播不受限制。 版权声明: 版权为The Internet Society 所有。所有权利保留。 摘要: 实时流协议(RTSP)是应用层协议,控制实时数据的传送。RTSP提供了一个可扩展框架,使受控、按需传输实时数据(如音频与视频)成为可能。数据源包括现场数据与存储在剪辑中的数据。本协议旨在于控制多个数据发送会话,提供了一种选择传送途径(如UDP、组播UDP与TCP)的方法,并提供了一种选择基于RTP (RFC1889)的传送机制的方法。

目录: 1 介绍 1.1 目的 1.2 要求 1.3 术语 1.4 协议特性 1.5 RTSP扩展 1.6 整体运作 1.7 RTSP状态 1.8 与其他协议的关系 2 符号协定 3 协议参数 3.1 RTSP版本 3.2 RTSP URL 3.3 会议标识 3.4 会话标识 3.5 SMPTE 相对时间戳 3.6正常播放时间 3.7 绝对时间 3.8 选项标签 3.8.1 用IANA注册新的选项标签*4 RTSP消息 4.1 消息类型 4.2 消息头

Windows操作系统常用命令与蓝屏代码

Windows操作系统常用命令及蓝屏代码 一域控管理工具 1 dcpromo------- 安装域控制器 2 dsa.msc-------打开AD用户和计算机 3 dssite.msc-------打开AD站点和服务 4 domain.msc-------打开AD域和信任关系 5 dnsmgmt.msc-------打开DNS服务器 6 services.msc------- 打开服务 7 MMC-------(管理控制台) 8 compmgmt.msc------- 计算机管理控制台 9 devmgmt.msc------- 设备管理器控制台 10 diskmgmt.msc------- 磁盘管理器控制台 11 eventvwr.msc------- 日志管理器控制台 12 fsmgmt.msc------- 共享文件夹控制台 13 gpedit.msc------- 组策略管理控制台 14 iis6.msc iis-------管理控制台 15 lusrmgr.msc------- 本地账户管理控制台 16 napclcfg.msc------- NAP管理控制台 17 printmanagement.msc------- 打印管理控制台 18 rsop.msc------- 组策略结果集控制台 19 wf.msc------- 防火墙管理控制台 20 lusrmgr.msc------- 本机用户和组 21 devmgmt.msc-------设备管理器 22 rsop.msc-------组策略结果集 23 secpol.msc-------本地安全策略 24 services.msc-------本地服务设置

网络维护人员常用命令

网络维护常用命令 如果你是一个网络维护人员,那么肯定要经常处理网络故障,了解和掌握下面几个命令将会有助于您更快地检测到网络故障所在,从而节省时间,提高效率。 Ping Ping是测试网络联接状况以及信息包发送和接收状况非常有用的工具,是网络测试最 常用的命令。Ping向目标主机(地址)发送一个回送请求数据包,要求目标主机收到请求后给予答复,从而判断网络的响应时间和本机是否与目标主机(地址)联通。 如果执行Ping不成功,则可以预测故障出现在以下几个方面:网线故障,网络适配器配置不正确,IP地址不正确。如果执行Ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,Ping成功只能保证本机与目标主机间存在一条连通的物理路径。 命令格式: ping IP地址或主机名[-t] [-a] [-n count] [-l size] 参数含义: -t不停地向目标主机发送数据; -a 以IP地址格式来显示目标主机的网络地址; -n count 指定要Ping多少次,具体次数由count来指定; -l size 指定发送到目标主机的数据包的大小。 例如当您的机器不能访问Internet,首先您想确认是否是本地局域网的故障。假定局域网的代理服务器IP地址为202.168.0.1,您可以使用Ping避免202.168.0.1命令查看本机是否和代理服务器联通。又如,测试本机的网卡是否正确安装的常用命令是ping 1 27.0.0.1。 Tracert

Tracert命令用来显示数据包到达目标主机所经过的路径,并显示到达每个节点的时间。命令功能同Ping类似,但它所获得的信息要比Ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。 命令格式: tracert IP地址或主机名[-d][-h maximumhops][-j host_list] [-w timeout] 参数含义: -d 不解析目标主机的名字; -h maximum_hops 指定搜索到目标地址的最大跳跃数; -j host_list 按照主机列表中的地址释放源路由; -w timeout 指定超时时间间隔,程序默认的时间单位是毫秒。 例如大家想要了解自己的计算机与目标主机https://www.doczj.com/doc/e414866641.html,之间详细的传输路径信息,可以在MS-DOS方式输入tracert https://www.doczj.com/doc/e414866641.html,。 如果我们在Tracert命令后面加上一些参数,还可以检测到其他更详细的信息,例如使用参数-d,可以指定程序在跟踪主机的路径信息时,同时也解析目标主机的域名。Ne tstat Netstat命令可以帮助网络管理员了解网络的整体使用情况。它可以显示当前正在活动的网络连接的详细信息,例如显示网络连接、路由表和网络接口信息,可以统计目前总共有哪些网络连接正在运行。 利用命令参数,命令可以显示所有协议的使用状态,这些协议包括TCP协议、UDP协议以及IP协议等,另外还可以选择特定的协议并查看其具体信息,还能显示所有主机的端口号以及当前主机的详细路由信息。 命令格式: netstat [-r] [-s] [-n] [-a] 参数含义:

Cad常用命令及使用方法

Cad常用命令及使用方法 一、绘图命令 直线:L 用法:输入命令L/回车/鼠标指定第一点/输入数值(也就是指定第二点)/回车(这时直线就画出来了)/回车(结束命令) 射线:RAY 用法:输入命令RAY/回车/鼠标指定射线起点/指定通过点/回车(结束命令) 构造线:XL 用法:输入命令XL/回车/鼠标指定构造线起点/指定通过点/回车(结束命令) 多段线:PL 用法1:同直线命令 用法2:输入命令PL/回车/指定起点/输入W(绘制带有宽度的线)/回车/指定线起点宽度/回车/指定线结束点宽度/回车/输入数值(线的长度值)/回车(结束命令) 正多边形:POL 用法:输入命令POL/回车/指定边数/回车/鼠标指定正多边形的中心点/输入选项(C外切于圆;I内接于圆)/回车/输入半径/回车(结束命令) 矩形:REC 用法1:输入命令REC/回车/鼠标指定第一角点/指定第二角点 用法2:输入命令REC/回车/输入C(绘制带有倒角的矩形)/回车/输入第一倒角值/回车/输入第二倒角值/回车/鼠标指定第一角点/指定第二角点 用法3:输入命令REC/回车/输入F(绘制带有圆角的矩形)/回车/输入圆角半径/回车/指定第一角点/指定第二角点 圆弧:A 用法:输入命令A/回车/指定圆弧起点/指定圆弧中点/指定圆弧结束点 (绘制圆弧的方法有11种,可参考绘图菜单---圆弧选项) 圆:C 用法:输入命令C/回车/鼠标指定圆心/输入半径值/回车(命令结束) (绘制圆的方法有6种,可参考绘图菜单---圆选项) 样条曲线:SPL 用法:输入命令SPL/回车/鼠标指定要绘制的范围即可/需要三下回车结束命令 椭圆:EL

Linux操作系统及常用命令

Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。 下面我将比较常用的命令,按照系统中的作用分成以下6个部分 安装和登录命令:shutdown、reboot、install、mount、umount、exit、last; 文件处理命令:file、mkdir、grep、find、mv、ls、diff、cat; 系统管理相关命令:df、top、free、adduser、groupadd、kill、crontab; 网络操作命令:ifconfig、ping、netstat、telnet、ftp、route、scp、finger; 系统安全相关命令:passwd、su、chmod、chown、sudo、ps、who; 其它命令:tar、unzip、unarj、man 安装与登陆命令 shutdown 1.作用 shutdown命令的作用是关闭计算机,它的使用权限是超级用户root。 2.格式 shutdown [-h][-i][-k][-m][-t] 3.重要参数 -t:在改变到其它运行级别之前,告诉init程序多久以后关机。 -k:并不真正关机,只是送警告信号给每位登录者。 -h:关机后关闭电源。 -c:cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数,但是可以输入一个用来解释的讯息,而这信息将会送到每位使用者。 -F:在重启计算机时强迫fsck。 -time:设定关机前的时间。 -m: 将系统改为单用户模式。 -i:关机时显示系统信息。 -r:重启。 4.实用例子 远程重启满天星服务器192.168.0.25 shutdown -m \\192.168.0.25 -r -f -t 0 远程重启兴通博服务器192.168.0.41 shutdown -m \\192.168.0.41 -r -f -t 0 reboot 1.作用 reboot命令的作用是重新启动计算机,它的使用权限是系统管理者root。 2.格式

文本预览
相关文档 最新文档