RTSP協(xié)議總結(jié)

參考原文鏈接:
http://blog.csdn.net/maopig/article/details/6665250
http://www.cnblogs.com/qingquan/archive/2011/07/14/2106834.html


RTSP實時流協(xié)議

多媒體播放控制協(xié)議严就,TCP/IP協(xié)議體系中的一個應(yīng)用層協(xié)議炊汹,用來使用戶在播放從因特網(wǎng)下載的實時數(shù)據(jù)時能夠進(jìn)行控制蔗蹋。(暫停澎胡,播放偷遗,后退哈误,前進(jìn))

RTSP特性

  • 流控分離:從控制邏輯上來說RTSP和FTP相似逃延,控制流和數(shù)據(jù)流是分開的卓囚。
  • 可擴(kuò)展性:因為RTSP協(xié)議是基于文本的協(xié)議所以其具有較強(qiáng)的可擴(kuò)展性套鹅。
  • 安全:RTSP 使用網(wǎng)頁安全機(jī)制站蝠。

RTSP協(xié)議條件

實現(xiàn)控制功能 除協(xié)議外還需

  • 1 媒體播放器(media player)
  • 2 媒體服務(wù)器(media server)

RTSP 報文結(jié)構(gòu)

RTSP有 兩類報文:請求報文和響應(yīng)報文。請求報文是指從客戶向服務(wù)器發(fā)送請求報文卓鹿,響應(yīng)報文是指從服務(wù)器到客戶的回答菱魔。

由于RTSP 是面向正文的(text-oriented),因此在報文中的每一個字段都是一些 ASCII 碼串吟孙,因而每個字段的長度都是不確定的澜倦。

請求報文
響應(yīng)報文

協(xié)議特點

  • 可擴(kuò)展性:新方法和參數(shù)很容易加入RTSP。
  • 易解析:RTSP可由標(biāo)準(zhǔn) HTTP或MIME解析器解析杰妓。
  • 安全:RTSP使用網(wǎng)頁安全機(jī)制藻治。
  • 獨立于傳輸:RTSP傳輸通道,可使用不可靠數(shù)據(jù)包協(xié)議(UDP)或可靠數(shù)據(jù)包協(xié)議(RDP)巷挥,如要實現(xiàn)應(yīng)用級可靠桩卵,可使用諸如TCP的可靠流協(xié)議。
  • 記錄設(shè)備控制:協(xié)議可控制記錄和回放設(shè)備。
  • 適合專業(yè)應(yīng)用:通過SMPTE 時標(biāo)吸占,RTSP支持幀級精度晴叨,允許遠(yuǎn)程數(shù)字編輯。
  • 演示描述中立:協(xié)議未強(qiáng)加特殊演示或元文件矾屯,可傳送所用格式類型兼蕊;然而,演示描述至少需包含一個RTSP URI件蚕。
  • 代理與防火墻友好:協(xié)議可由應(yīng)用和傳輸層防火墻處理孙技。防火墻需要理解SETUP方法,為UDP媒體流打開一個“缺口”排作。
  • 適當(dāng)?shù)姆?wù)器控制:如用戶啟動一個流牵啦,則也可以停止一個流。
  • 傳輸協(xié)調(diào):實際處理連續(xù)媒體流前妄痪,用戶可協(xié)調(diào)傳輸方法哈雏。
  • 性能協(xié)調(diào):如基本特征無效,則必須有一些清理機(jī)制讓用戶決定那種方法不生效衫生。這允許用戶提出適合自己的界面裳瘪。

與HTTP協(xié)議流控制協(xié)議的區(qū)別

  • 都使用純文本來發(fā)送信息,語法類似
  • RTSP協(xié)議是有狀態(tài)的協(xié)議罪针,HTTP是無狀態(tài)的協(xié)議

協(xié)議的狀態(tài)是指下一次傳輸數(shù)據(jù)的時候能考慮到這次傳輸信息的狀態(tài)彭羹。也有是說有狀態(tài)協(xié)議以前的請求導(dǎo)致協(xié)議所處的狀態(tài)會影響后續(xù)的狀態(tài),協(xié)議會根據(jù)上一個狀態(tài)創(chuàng)建上下文泪酱。

  • http協(xié)議里就是無狀態(tài)協(xié)議不用考慮上下文派殷;每個請求都是與服務(wù)器的獨立連接,即下一次請求到來的時候協(xié)議不用維護(hù)這次請求中客戶機(jī)-服務(wù)器間交互的信息墓阀。
  • RTSP通過維護(hù)一個session來維護(hù)其狀態(tài)的轉(zhuǎn)換

協(xié)議實現(xiàn)

1.初始化

在建立連接之前毡惜,客戶端應(yīng)向服務(wù)器提出測試請求,即要求服務(wù)器向客戶端發(fā)送相應(yīng)的測試數(shù)據(jù)包斯撮。初始化的目的虱黄,是為了獲取客 戶端和服務(wù)器之間的一些網(wǎng)絡(luò)參數(shù),估測基本網(wǎng)絡(luò)狀況吮成,并以此選擇相應(yīng)的網(wǎng)絡(luò)傳輸協(xié)議,使客戶端獲得最佳觀看效果辜梳。
接到這個請求之后粱甫,服務(wù)器將根據(jù)自身情況進(jìn)行如下測試:

  • 利用同客戶端建立的RTSP通道,采用TCP協(xié)議作瞄,下發(fā)測試數(shù)據(jù)包茶宵。
  • 采用UDP協(xié)議,向客戶端下發(fā)測試數(shù)據(jù)包宗挥。
    測試數(shù)據(jù)包僅做測試用乌庶,上面帶有相應(yīng)的時間和順序信息种蝶,其內(nèi)部數(shù)據(jù)并無任何意義。
    需要向RTSP增加一個新的方法TEST瞒大,以支持這種傳輸前的測試工作螃征。
2.TCP傳輸

如果在TCP測試中,客戶端反饋良好透敌,即丟包率在可承受范圍之內(nèi)盯滚,并且在規(guī)定時間內(nèi)到達(dá),那么就認(rèn)為客戶端同服務(wù)器之間的 網(wǎng)絡(luò)狀況良好酗电, 可以采用RTP over TCP的方式發(fā)送數(shù)據(jù)魄藕。由于TCP沒有丟包(其自身具有重傳機(jī)制),網(wǎng)絡(luò)狀況又屬于良好撵术,因此客戶端將有較高的視聽享受背率。
當(dāng)子網(wǎng)內(nèi)存在防火墻時,就需要采用RTSP附加數(shù)據(jù)傳輸方式嫩与。即把音視頻數(shù)據(jù)直接打包寝姿,在RTSP通信信道內(nèi)傳輸。這種傳 輸方式也存在一定的問題:

  • 傳輸過程中蕴纳,只是把音視頻文件當(dāng)成一個普通文件來處理会油,而沒有考慮到它的音視頻特性,不利于以后的擴(kuò)展古毛。
  • 音頻與視頻文件沒有分離翻翩,不利于某些特殊需求的場合。例如稻薇,客戶端需要對音嫂冻、視頻做不同的處理。
  • 客戶端的反饋和RTSP的控制信息也是通過同一條RTSP信道傳送塞椎,因此控制效率不高桨仿。
    因此,一般情況下案狠,都默認(rèn)使用RTP over TCP的方式發(fā)送數(shù)據(jù)服傍。
3.UDP傳輸

如果在TCP測試中,客戶端的反饋存在比較大的問題骂铁,即網(wǎng)絡(luò)情況不理想吹零,就應(yīng)該考慮進(jìn)行UDP測試。
目前初步采取的措施拉庵,在服務(wù)器端準(zhǔn)備了兩種碼率的視頻文件——高碼率和低碼率灿椅。
收到客戶端的TEST方法后,將采用UDP協(xié)議下發(fā)測試包。采取的策略是每間隔2秒茫蛹,下發(fā)一個1500字節(jié)的UDP數(shù)據(jù) 包操刀。當(dāng)丟包率處于一定范圍(75%~85%)之內(nèi),就認(rèn)為客戶端的網(wǎng)絡(luò)狀況基本良好婴洼,可以下發(fā)高碼率的電影文件;否則骨坑,認(rèn)為測試不成功,由于網(wǎng)絡(luò)狀況的限 制窃蹋,僅對客戶端下發(fā)低碼率的電影文件卡啰。
在基于UDP的播放過程中,可能會出現(xiàn)輕微的馬賽克警没,這是完全可以接受的匈辱。這些馬賽克出現(xiàn)的主要原因是:

  • 不可靠連接造成的網(wǎng)絡(luò)丟包,為客戶端被動丟包杀迹。
  • 高質(zhì)量文件(DVD->MP4)的高數(shù)據(jù)量亡脸,使得客戶端解碼線程和顯示線程出現(xiàn)擁塞,從而出現(xiàn)客戶端主動丟包树酪。
    但從整體而言浅碾,UDP傳輸消耗的帶寬,要比TCP小許多续语。在一般的視頻點播要求下垂谢,使用基于UDP的傳輸線路,是完全可以 滿足要求的疮茄。
4.傳輸反饋

在傳輸過程中滥朱,主要采取的方式是RTP over TCP或RTP over UDP,因此力试,在RTP端口之外徙邻,還存在一個回傳端口RTCP。
在服務(wù)器收到客戶端的RTCP回傳信息后畸裳,需要對其進(jìn)行判斷缰犁。如果客戶端的丟包率、解碼率等指標(biāo)在一定限度之下怖糊,就認(rèn)為目 前傳送的視頻文件可令客戶端獲得最大程度的音視頻享受;否則帅容,考慮改為傳輸更低碼率的視頻文件或放棄這次RTSP會話,以避免更大范圍的擁塞伍伤。

5.實際效果

采取如上方法設(shè)計的系統(tǒng)丰嘉,可以滿足視頻點播的基本要求,避免了服務(wù)器視頻文件下發(fā)的盲目性嚷缭,同時使客戶端應(yīng)用效果最好

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子阅爽,更是在濱河造成了極大的恐慌路幸,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件付翁,死亡現(xiàn)場離奇詭異简肴,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)百侧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門砰识,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人佣渴,你說我怎么就攤上這事辫狼。” “怎么了辛润?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵膨处,是天一觀的道長。 經(jīng)常有香客問我砂竖,道長真椿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任乎澄,我火速辦了婚禮突硝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘置济。我一直安慰自己解恰,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布舟肉。 她就那樣靜靜地躺著修噪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪路媚。 梳的紋絲不亂的頭發(fā)上黄琼,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機(jī)與錄音整慎,去河邊找鬼脏款。 笑死,一個胖子當(dāng)著我的面吹牛裤园,可吹牛的內(nèi)容都是我干的撤师。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼拧揽,長吁一口氣:“原來是場噩夢啊……” “哼剃盾!你這毒婦竟也來了腺占?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤痒谴,失蹤者是張志新(化名)和其女友劉穎衰伯,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體积蔚,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡意鲸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了尽爆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怎顾。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖漱贱,靈堂內(nèi)的尸體忽然破棺而出槐雾,到底是詐尸還是另有隱情,我是刑警寧澤饱亿,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布蚜退,位于F島的核電站,受9級特大地震影響彪笼,放射性物質(zhì)發(fā)生泄漏钻注。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一配猫、第九天 我趴在偏房一處隱蔽的房頂上張望幅恋。 院中可真熱鬧,春花似錦泵肄、人聲如沸捆交。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽品追。三九已至,卻和暖如春冯丙,著一層夾襖步出監(jiān)牢的瞬間肉瓦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工胃惜, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留泞莉,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓船殉,卻偏偏與公主長得像鲫趁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子利虫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容