RTP(Real-time Transport Protocol)
是實時流媒體傳輸協(xié)議,RTCP(Real-time Transport Control Protocol)
是對RTP的控制協(xié)議,
RTSP(Real Time Streaming Protocol)
就是我們常說的SDP(會話描述協(xié)議)背率,是用來控制聲音或影像的多媒體串流協(xié)議。
與RTP和RTCP對應(yīng)的春畔,還有SRTP(Secure Real-time Transport Protocol)
和SRTCP(Secure Real-time Transport Control Protocol)
。
RTP :(Real-time Transport Protocol)
是用于Internet上針對多媒體數(shù)據(jù)流的一種傳輸層協(xié)議.RTP 協(xié)議和 RTP 控制協(xié)議 RTCP 一起使用,
而且它是建立在 UDP 協(xié)議上的.
RTP 不像http和ftp可完整的下載整個影視文件质和,它是以固定的數(shù)據(jù)率在網(wǎng)絡(luò)上發(fā)送數(shù)據(jù),客戶端也是按照這種速度觀看影視文件稚字,當(dāng)
影視畫面播放過后饲宿,就不可以再重復(fù)播放厦酬,除非重新向服務(wù)器端要求數(shù)據(jù)。
RTCP:(Real-time Transport Control Protocol)
實時傳輸控制協(xié)議,是實時傳輸協(xié)議(RTP)的一個姐妹協(xié)議.
注:--:RTP 協(xié)議和 RTP控制協(xié)議(RTCP) 一起使用瘫想,而且它是建立在UDP協(xié)議上的(一般用于視頻會議)
RTSP:(Real Time Streaming Protocol)
實時流媒體會話協(xié)議,SDP(會話描述協(xié)議)弃锐,RTP(實時傳輸協(xié)議)。
是用來控制聲音或影像的多媒體串流協(xié)議,RTSP 提供了一個可擴(kuò)展框架殿托,使實時數(shù)據(jù),如音頻與視頻的受控剧蚣、點播成為可能支竹。
媒體數(shù)據(jù)使用rtp,rtcp協(xié)議。
一般使用udp 作為傳輸層鸠按。適合IPTV場景礼搁。
數(shù)據(jù)源包括現(xiàn)場數(shù)據(jù)與存儲在剪輯中的數(shù)據(jù)。該協(xié)議目的在于控制多個數(shù)據(jù)發(fā)送連接目尖,為選擇發(fā)送通道馒吴,如UDP、多播UDP與TCP提供途
徑瑟曲,并為選擇基于RTP上發(fā)送機(jī)制提供方法
傳輸時所用的網(wǎng)絡(luò)通訊協(xié)定并不在其定義的范圍內(nèi)饮戳,服務(wù)器端可以自行選擇使用TCP或UDP來傳送串流內(nèi)容,比較能容忍網(wǎng)絡(luò)延遲.
RTSP 與 RTP 最大的區(qū)別在于:RTSP 是一種雙向?qū)崟r數(shù)據(jù)傳輸協(xié)議洞拨,它允許客戶端向服務(wù)器端發(fā)送請求扯罐,如回放、快進(jìn)烦衣、倒退等操作歹河。當(dāng)然,RTSP 可基于 RTP 來傳送數(shù)據(jù)花吟,還可以選擇 TCP秸歧、UDP、組播 UDP 等通道來發(fā)送數(shù)據(jù)衅澈,具有很好的擴(kuò)展性键菱。它時一種類似與http協(xié)議
的網(wǎng)絡(luò)應(yīng)用層協(xié)議.
RTMP(Real Time Messaging Protocol)
Macromedia 開發(fā)的一套視頻直播協(xié)議,現(xiàn)在屬于 Adobe矾麻。和 HLS 一樣都可以應(yīng)用于視頻直播纱耻,基于TCP不會丟失。
// 區(qū)別是 RTMP 基于 flash 無法在 iOS 的瀏覽器里播放险耀,但是實時性比 HLS 要好弄喘。
實時消息傳送協(xié)議是 Adobe Systems 公司為 Flash 播放器和服務(wù)器之間音頻、視頻和數(shù)據(jù)傳輸開發(fā)的開放協(xié)議.
// iOS 代碼里面一般常用的是使用 RTMP 推流甩牺,可以使用第三方庫 librtmp-iOS 進(jìn)行推流蘑志,librtmp 封裝了一些核心的 API 供使用者調(diào)用
RTMP 協(xié)議也要客戶端和服務(wù)器通過"握手"來建立 RTMP Connection,然后在Connection上傳輸控制信息。RTMP 協(xié)議傳輸時會對數(shù)據(jù)格式化急但,而實際傳輸?shù)臅r候為了更好地實現(xiàn)多路復(fù)用澎媒、分包和信息的公平性,發(fā)送端會把Message劃分為帶有 Message ID的Chunk波桩,每個Chunk可能是一個單獨的Message戒努,
也可能是Message的一部分,在接受端會根據(jù)Chunk中包含的data的長度镐躲,message id和message的長度把chunk還原成完整的Message储玫,從而實現(xiàn)信息的收發(fā)。