ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5713|回复: 3

RTCP, RTP, RTSP.协议是如何一起协同工作的?

[复制链接]
发表于 2013-12-3 09:05:36 | 显示全部楼层 |阅读模式


  近日在学习流媒体的东西, 看到论坛中的一个帖子讲的是RTCP RTP RTSP, 这几种协议, 现在从理论上已经清楚了, 但是这几个协议是如何配合协调工作的呢. 还请高手指点一二,最好详细一下. 在此谢过.
回复

使用道具 举报

 楼主| 发表于 2013-12-3 09:05:56 | 显示全部楼层
自己抢沙发!
回复 支持 反对

使用道具 举报

发表于 2013-12-3 12:40:58 | 显示全部楼层
可以参考这个
一.产生的背景

随着互连网的发展,人们已经不满足于传统的HTTP,FTP和电子邮件等文本信息和服务,而对内容丰富多彩的多媒体信息,服务以及多媒体通信方式提出了需求,包括声音,图象,图形,视频信息等等,而这些不但传输的数据量大而且对交互性和实时性要求很高。

这时,基于HTTP的TCP协议无法达到要求,故产生RTP协议来进行多媒体数据实时传输.



二.RTP/RTCP/RTSP协议与TCP/IP协议对比

那么,现在有个疑问是:为什么TCP/IP协议就不能满足多媒体通信的要求呢?

这是因为TCP有以下4个特点:

1.TCP重传机制

2.TCP拥塞控制机制

3.TCP报文头比UDP保文头要大

4.TCP的启动速度慢



RTP由IETF(Internet Engineering Task Force,互联网工程任务组)的音频/视频传输工作组制定,主要实现实时数据的传输,它在包头中提供编码类型,包中数据的采样时刻和数据包的序号,根据这些信息发送和接受方可以协商编码类型,可以对接收到的数据包进行排序等工作;RTCP主要负责传输质量的监控以及传送发送者的一些标志信息。试验和研究表明,RTP/RTCP所提出的实时数据的传输机制是行之有效的。



对比记忆

IP:数据传输  RTP:多媒体数据实时传输

TCP:保证数据传输可靠  RTCP:保证多媒体数据传输的可靠



三.RTP/RTCP,RTSP协议说明

RTP:Realtime Transport Potocol 实时传输协议

RTCP:Realtime Transport Control Potocol 实时传输控制协议

RTSP:RealTime Streaming Potocol 实时流协议

RSVP:Resource Reserve Potocol 资源预留协议



1.RTP提供时间标志,序列号以及其他能够保证在实时数据传输时处理时间的方法

2.RTCP是RTP的控制部分,是用来保证服务质量和成员管理的

3.RTSP具体数据传输交给RTP,提供对流的远程控制

4.RSVP预留带宽,提高QoS(Quality of Sever)



即時串流傳輸協定 (Real Time Streaming Protocol, RTSP) 主要是 RealNetworks, N
etscape Communications (網景), 和 Columbia University (哥倫比亞大學) 所一起研
發的傳輸協定 (RFC 2326). 目的是要找出一種能夠經由網路 (Internet Protocol) 有
效的傳送多媒體, 比如傳送即時或非即時的聲音或影像. RTSP 是一種可以經由即時協定
(Real Time Protocol, RTP), HyperText Transport Protocol (HTTP) 或其它的傳輸
協定來傳送.
RTSP 有以下的特色,
完全的雙向即時流的控制.
在目前的網路結構裡, 有高的穩定性.
低的領頭區 (overhead), 提供較大的資料傳送區 (data).
容易的支援和相容新的傳輸協定及技術, (像 IP Multicast, RTP 等等...).
網路的安全性.
智慧型的內容保護 (Intellectual property rights protection).
可測性 (Scalability).
RTSP 是一個經由實地證明及經驗的技術.
支援各式的作業系統, 讓使用者及程式開發者有極為彈性的選擇.
RTSP 是 RealNetworks 的 RealAudio 實地的開發經驗的累積, 加上網景 (Netscape)
的 LiveMedia 對使用較小的領頭區 (header), IP Multicast 的研發.
RTSP 已經送入 Internet Engineering Task Force (IETF), 並建議成為一種未來的網
路多媒體標準通信協定. 這可讓更多的軟體開發公司也有機會一起加入開發的行列. 這
也進而促進 RTSP 成為網路多媒體的主流.
使用 RTSP 在即時協定 RTP (the Real Time Transport Protocol, or IETF RFC 1889
) 之上, 可讓 RTSP 發揮強大的功能, 像對 RTP 領頭區 (header) 壓縮的標準化, 讓支
援的軟體程式不須要另寫壓縮程式, 即可有效的使用.
由於 RTSP 是建立在像 SDP 和 IP Multicast 等的其他網路標準通信協定之上, RTSP
目前已經得到多個電腦軟硬體公司的支援, 像 3Com, Apple Computer, Autodesk/Kine
tix, Cisco Systems, Hewlett Packard, IBM, Silicon Graphics, Sun Microsystems
, Macromedia, Narrative Communications, Precept Software 和 Voxware 等等.
----------------------------------------------------------------------------
----
以下是一些常問有關 RTSP 的疑問.
Real Time Streaming Protocol (RTSP) 到底是什麼?
RTSP 跟其他的網路標準有什麼不一樣?
Real Time Transport Protocol (RTP) 到底是什麼?
H.323 是什麼?
RTSP, RTP 和 H.323 之間有些什麼關係?
RTP, RTCP 和 RTSP 之間又有些什麼關係?
RTSP 和微軟的 Active Streaming Format (ASF) 有什麼關係?
RTP 和蘋果電腦的 QuickTime 有什麼關係?
為什麼不直接用超媒體文字通訊協定 (HyperText Transfer Protocol, HTTP) 來從網站
的伺服器 (Web Server) 上直接播放多媒體?
RTSP 可以和防火牆 (firewall) 一起使用嗎?
有那些地方可以得到更多的有關 RTSP 的相關資料?
有那些地方可以學習有關 RTSP 和網路多媒體標準的相關資料?
Real Time Streaming Protocol (RTSP) 到底是什麼?
即時串流傳輸協定 RTSP (RFC 2326) 是一種專門針對目前的網路, 提供有效的網路多媒
體資料傳輸的通訊協定. RTSP 超越目前網頁 (Web) 的結構, (例如, 使用者的確認, 經
由 HTTP 傳送文字及圖片) 不但可以伺服個別的使用者, 也可同時伺服大流量的使用.
RealNetworks, Netscape Communications (網景)和 Columbia University (哥倫比亞
大學), 加上 Internet Engineering Task Force (IETF) 裡的 MMUSIC 的協助, 一起研
發 RTSP. 在 1998 年的四月, RTSP 已經送進 IETF 做為新一代網路多媒體的建議.
RTSP 跟其他的網路標準有什麼不一樣?
網路多媒體的系統和其它的網路標準不一樣是因為網路多媒體必須包括很多考慮的元素
; 像客戶端 (Player), 伺服器 (Server), 轉換器 (Encoder) 三者之間的協調. 轉換器
和其使用工具所製作的檔案, 伺服器和客戶端必須要懂得讀. 伺服器和客戶端之間的通
訊協調. 彼此之間的是緊縮的相互結合著!
像微軟的 ASF, 蘋果的 QuickTime FF, RealAudio, RealVideo, H.263 和 MPEG 檔都可
以經由 RTSP 達到邊傳邊播放的目的.
Real Time Transport Protocol (RTP) 到底是什麼?
即時傳輸協定 Realtime Transport Protocol (RTP) 是 IETF 所建議的 (RFC 1889) 和
International Telecommuncations Union (ITU) 的標準通訊協定 (H.225.0). 是以封
包的方式來傳送多媒體. RTSP 和 H.323 都是以 RTP 為其通訊協定.
H.323 是什麼?
H.323 是 International Telecommunications Union (ITU) 目前在研究討論中的通訊
協定. 它是一種點對點 (peer-to-peer), 雙向聲音和影像的網路電話的傳送. 它是設計
來進行網路電話通訊協定的標準化.
RTSP, RTP 和 H.323 之間有些什麼關係?
H 323 和 RTSP 在其功能上是相輔相成的. H.323 使用在中型, 點對點的聲音和影像的
通訊, RTSP 使用在大型的廣播及影音的隨選視訊. 另一方面來說, H.323 像是目前的電
話裡的三向通話. RTSP 像是有線電視或錄影機.
RTSP 提供像錄影機式的控制, 比如錄影機裡的暫停鈕, 快轉, 回轉, 停格. 這些都不是
H.323 和 RTP 所能做到的.
H.323 和 RTSP 使用 RTP 來傳送它們的媒體資料. 這也讓 H.323 和 RTSP 也能有效的
在各式的通訊協定上傳送.
RTP, RTCP 和 RTSP 之間又有些什麼關係?
RTP 是一種能提供即時資料傳送的傳輸協定 (transport protocol), 當然包括聲音和影
像. RTCP 是 RTP 的一部分. RTCP 幫助 RTP 進行資料同步的控制和 QOS 的管理等等.
RTSP 是一種控制協定, 包括通訊連接前的設定, 從伺服器送出的多媒體資料的控制.
RTSP 也被被暱稱叫 "網路遙控錄影機控制協定". 經由 RTP, RTSP 可以通過防火牆和一
些網路的閘道. 基本上, RTP 和 RTSP 是常常被在一起使用, 但這並不是絕對. 在 RTS
P 的建議文裡, 有詳細的介紹如何使用 RTSP 在 RTP 之上.
RTSP 和微軟的 Active Streaming Format (ASF) 有什麼關係?
微軟的 Active Streaming Format (ASF) 只是一種檔案格式, 客戶端經由此檔案格式來
播放從伺服器送來的資料. RTSP 提供客戶端和伺服器之間的通訊協定. 經由此通訊協定
, 來傳送檔案 (包括 ASF 的檔案格式).
RTP 和蘋果電腦的 QuickTime 有什麼關係?
蘋果的 Quicktime 只是一種檔案格式. 就像微軟的 ASF 一樣. 當然, RTSP 也可以傳送
蘋果的 QuickTime 這種檔案格式.
為什麼不直接用超媒體文字通訊協定 (HyperText Transfer Protocol, HTTP) 來從網站
的伺服器 (Web Server) 上直接播放多媒體?
HTTP 是設計專門傳遞網站資訊的. 由於 HTTP 是完全使用 TCP, 所以時間並不是絕對的
, 而資料的傳遞必須是百分之百正確, 所以 HTTP 並不適合有時間限制的多媒體傳遞.
另外, TCP 的傳遞速度是取決於網路的頻寬, 而不是決定於檔案的大小. HTTP 只能針對
網站檔案的讀取, 而無法使用於有時間性的傳播. 最後, TCP 不支援 IP Multicast.
RTSP 是專門設計傳遞有時間性的資訊, 比如現場影音, 即時新聞, 或即時股價. 由於
RTSP 對傳遞的資訊有時間的標記, 所以也支援檔案的快轉, 回轉或搜尋. RTSP 完全支
援有時間標記的檔案格式, 像 SMPTE. 另外, RTSP 對資訊的傳遞的速度也可以加以控制
, 以減低資訊傳送速度的不協調. 這使得 RTSP 是網路多媒體的唯一搭檔.
RTSP 可以和防火牆 (firewall) 一起使用嗎?
基本上是的! 絕大部分的防火牆軟體公司都支援各式的多媒體通訊協定, 像 RealAudio
/Realvideo. 很多防火牆軟體公司也是在宣布支援 RTSP 的名單裡. 防火牆軟體公司目
前最希望也最樂意看到的是對網路多媒體通訊協定的標準化. 因為, 這可使防火牆對網
路多媒體通訊傳輸做更有效的管理及控制. 你可以問問你最喜歡的防火牆軟體公司, 看
看他們對支援 RTSP 的計畫表.
有那些地方可以得到更多的有關 RTSP 的相關資料?
你可以在下列的站台裡得到更多有關 RTSP 的資料,
RTSP 參考要目 - RTSP 參考要目是一個免費下載的資料. 主要是提供讓有興趣的人可以
親身試驗 RTSP. 此參考要目也提供客戶端和伺服端的原始程式碼的下載. 目前有以下的
作業系統可下載: Windows, Solaris, GNU/Linux, and FreeBSD.
RealMedia SDK - RealMedia 是一個完全開發式的網路多媒體系統. 這個 ReakMedia S
DK 包括完整的有關 RealMedia Plug-in 的結構, 如何研發的文件和一些實際的範例和
工具. 這些最新的資料讓你可以研發出加入 RealMedia 開放式的網路多媒體系統.
W3C's Jigsaw - Jigsaw 是 World Wide Web Consortium (W3C) 所提供的一個免費的爪
哇 (Java) 網頁伺服器. 這個伺服器包括最新的用爪哇寫的 RTSP 伺服器 (有關 RTSP
伺服器對多媒體檔案的編碼和解碼部分不是用爪哇寫的).
有那些地方可以學習有關 RTSP 和網路多媒體標準的相關資料?
Dr. Henning Schulzrinne 的 RTSP 網頁 - Dr. Schulzrinne 是 RTSP 和 RTP 的作者
之一. 他的網頁包括一些 RTSP 和 RTP 文件的連接, 也有網路多媒體協商結構, Inter
net Multimedia Conferencing Architecture (IMCA)的資料.
高階使用 IP Multicast 的通訊協定. - 這些文件提供技術面有關 RTP, RTCP, RSVP,
RTSP, QoS specifiers 和使用 IP Multicast 的 routing 通訊協定.
IP Multicast Initiative (IPMI) - 一個專門研發網路上被越來越多公司使用的 IP M
ulticast 的技術.
IETF Multiparty Multimedia Session Control (MMUSIC) Working Group - 這是 IET
F 裡專門負責 RTSP 的單位.
IETF Audio/Video Transport (AVT) Working Group - 這是 IETF 裡專門負責 RTP 的
單位.
MBone-related Mailing List Archives - 這是一個專門討論 MMUSIC 和 AVT 的區域.
"confctrl" 是一個正式的討論有關 MMUSIC 的名字. "rem-conf" 是一個正式的討論有
關 AVT 的名字.
--
晚学不如早学,迟早都是要学的

http://blog.163.com/longmanma%40126/blog/static/41230270200782225829236/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-3 14:07:59 | 显示全部楼层
T-Bagwell 发表于 2013-12-3 12:40
可以参考这个
一.产生的背景

了解的差不多了, 今天与群友又讨论了一下, 得到的是这样的结论:

RTSP, 发送控制指令获取IP与PORT, 然后RTP 通过建立连接, 进行数据的传输, RTCP与RTP通过数据共享的方式对RTP的数据进行有效的控制管理.?
这样的理解是否正确?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg

GMT+8, 2024-4-30 20:46 , Processed in 0.058619 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表