RTP/RTCP協議介紹

?

1流媒體協議

?????? 當前在Internet上傳輸音頻和視頻等信息主要有兩種方式:下載和流式傳輸。

下載情況下,用戶需要先下載整個媒體文件到本地,然后才能播放媒體文件。流式傳輸是指傳輸之前首先對多媒體進行預處理(降低質量和高效壓縮),然后使用緩存系統來保證數據連續正確地進行傳輸。使用流式傳輸可以邊下載邊觀看流媒體節目,可以實現網上直播、視頻會議等。

目前,支持流媒體傳輸的協議主要有:實時傳輸協議RTP、實時傳輸控制協議RTCP和實時流協議RTSP(Real-time Streaming Protocol) 等,此類協議在IP/TCP協議中的位置如圖1所示。


圖1流媒體協議在IP/TCP協議中的位置

2 RTP/RTCP協議

?????? RTP協議是IEIF提出的標準,對應的RFC文檔為RFC3550。如圖1所示,RTP 為實時應用提供端到端的數據運輸,但不提供任何服務質量的保證,服務質量由RTCP來提供。從應用開發者的角度看,RTP 應當是應用層的一部分。在應用的發送端,開發者必須編寫用 RTP 封裝分組的程序代碼,然后把 RTP 分組交給 UDP 插口接口。在接收端,RTP 分組通過 UDP 插口接口進入應用層后,還要利用開發者編寫的程序代碼從 RTP 分組中把應用數據塊提取出來。

?????? RTP的工作機制為:當應用程序建立一個RTP會話時,應用程序將確定一對目的傳輸地址。目的傳輸地址由一個網絡地址和一對端口組成,有兩個端口:一個給RTP包,一個給RTCP包,使得RTP/RTCP數據能夠正確發送。RTP數據發向偶數的UDP端口,而對應的控制信號RTCP數據發向相鄰的奇數UDP端口(偶數的UDP端口+1),這樣就構成一個UDP端口對。 RTP的發送過程如下,接收過程則相反。

?????? 1) RTP協議從上層接收流媒體信息碼流(如H.263),封裝成RTP數據包;RTCP從上層接收控制信息,封裝成RTCP控制包。

?????? 2) RTP將RTP 數據包發往UDP端口對中偶數端口;RTCP將RTCP控制包發往UDP端口對中的奇數端口。

?????? RTP分組只包含RTP數據,而控制是由RTCP協議提供。RTP在1025到65535之間選擇一個未使用的偶數UDP端口號,而在同一次會話中的RTCP則使用下一個奇數UDP端口號。端口號5004和5005分別用作RTP和RTCP的默認端口號。RTP分組的首部格式如圖2所示,其中前12個字節是必須的。


圖2RTP分組的首部格式

?????? RTCP 協議的主要功能是:服務質量的監視與反饋、媒體間的同步,以及多播組中成員的標識。RTCP 分組也使用 UDP 傳送,但 RTCP 并不對聲音或視像分組進行封裝。可將多個 RTCP 分組封裝在一個 UDP 用戶數據報中。RTCP 分組周期性地在網上傳送,它帶有發送端和接收端對服務質量的統計信息報告。

?????? RTCP包含五種分組類型

1)結束分組 BYE 表示關閉一個數據流。

2)特定應用分組 APP 使應用程序能夠定義新的分組類型。

3)接收端報告分組 RR 用來使接收端周期性地向所有的點用多播方式進行報告。

4)發送端報告分組 SR 用來使發送端周期性地向所有接收端用多播方式進行報告。

5)源點描述分組 SDES 給出會話中參加者的描述。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253170.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253170.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253170.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

推薦一款軟件(作業)

在過去,每當我遇見不認識的英文單詞時我的解決方法是:查閱英漢詞典,后來在我擁有手機之后,我的解決方法是:上網百度,而現在我的解決方法是:“有道翻譯官”。是的,我要介紹的這款軟件便是“有道翻…

網易有道最新力作 有道詞典筆3 結構拆解

2020年12月1日,有道品牌推出了一款硬件新品,名叫有道詞典筆3。 網易有道于2019年8月推出可以“一掃查詞”的有道詞典筆2代,搭載了OCR(光學字符識別)技術的產品,大大改變了傳統的學習方式,查詞效…

DataGridView動態添加新行的兩種方法

簡單介紹如何為DataGridView控件動態添加新行的兩種方 法: 方法一: int indexthis.dataGridView1.Rows.Add();this.dataGridView1.Rows[index].Cells[0].Value "1"; this.dataGridView1.Rows[index].Cells[1].Value "2"; this.dat…

使用glew和glad 新建窗口

一、添加頭文件 首先&#xff0c;將頭文件加到項目的.cpp文件中 1 #include <glad/glad.h> 2 #include <GLFW/glfw3.h> 注&#xff1a; 包含glad的頭文件一定要在包含glfw的頭文件之前使用。因為glad的頭文件包含了正確的openGL頭文件&#xff08;例如GL/gl.h&…

有道詞典筆3新增功能掃讀和點讀是怎么集成的?

2020年12月1日&#xff0c;有道品牌推出了一款硬件新品&#xff0c;名叫有道詞典筆3。 相對有道于2019年8月推出后來被稱為“爆品”的有道詞典筆2來說&#xff0c;有道3硬件最大最明顯差別是屏幕變的更大了&#xff0c;同時增加了點讀功能&#xff08;點讀筆點讀特定教材的功能…

??RTP協議分析

RTP協議分析 一&#xff0e; RTP協議背景.......................................................................................................... 1 二&#xff0e; RTP協議原理及工作機制........................................................................…

mongodb 部署

安裝mongodb-3.4 1&#xff09;將安裝包上傳至服務器 2&#xff09;對壓縮文件進行解壓 tar -zxvf mongodb-linux-x86_64-suse12-v3.4-latest.tar.gz 3&#xff09;把解壓出來的文件修改一下名字&#xff0c;并挪到指定安裝路徑 sudo mv mongodb-linux-x86_64-suse12-3.4.6-22-…

如何選擇一款優秀的兒童讀寫臺燈?

如何選擇一款優秀的兒童閱讀臺燈&#xff1f;除了品牌、外觀、材質、價格等因素外&#xff0c;最關鍵的是技術參數。 先說結論&#xff0c;滿足如下幾點參數&#xff0c;當數優選&#xff1a; 1-光通量&#xff1a;500lm以上 2-顯色指數&#xff1a;≥95 3-色溫&#xff1a…

Python與操作系統有關的模塊

Os模塊Python的標準庫中的os模塊主要涉及普遍的操作系統功能。可以在Linux和Windows下運行&#xff0c;與平臺無關。os.sep 可以取代操作系統特定的路徑分割符。os.name字符串指示你正在使用的平臺。比如對于Windows&#xff0c;它是’nt’&#xff0c;而對于Linux/Unix用戶&am…

數據對拍代碼 c++

碼了一晚上才碼出這個&#xff0c;有點簡陋&#xff0c;待更新 注意&#xff1a;1、數據路徑自己在代碼中修改&#xff0c;直接重定向即可 2、要配置好環境&#xff0c;將cb安裝路徑里的MinGW\bin路徑放到path中 3、三份代碼記得先編譯一遍&#xff0c;再運行這份代碼 #include…

LCD顯示相關知識

無論是筆記本電腦還是桌面系統&#xff0c;采用的LCD顯示屏都是由不同部分組成的分層結構。位于最后面的一層是由熒光物質組成的可以發射光線的背光層。背光層發出的光線在穿過第一層偏振過濾層之后進入包含成千上萬水晶液滴的液晶層。液晶層中的水晶液滴都被包含在細小的單元格…

屏幕防藍光設計方向

屏幕防藍光設計方向&#xff0c;會有哪些呢&#xff1f; 初步想到的如下&#xff1a; 1- 背光燈珠類型&#xff1b; 藍光激發還是全光譜sunlike燈珠&#xff1b; 2-玻璃鍍膜&#xff1b; 3-屏幕貼膜&#xff1b; 4-軟件設置&#xff1b; 除了第一項外&#xff0c;其余均多…

快速冪,矩陣乘法,矩陣快速冪

快速冪利用二進制 復雜度 log級 #include <cstdio> #include <iostream> #include <string> #include <bits/stdc.h>using namespace std; typedef long long ll; typedef unsigned long long ull;int q_power(int a,int b,int c) {int r1;a%c;while (…

標準C++類std::string的內存共享和Copy-On-Write(寫時拷貝)

標準C&#xff0b;&#xff0b;類std::string的內存共享&#xff0c;值得體會&#xff1a; 詳見大牛&#xff1a;https://www.douban.com/group/topic/19621165/ 顧名思義&#xff0c;內存共享&#xff0c;就是兩個乃至更多的對象&#xff0c;共同使用一塊內存&#xff1b; 1.關…

常用類一一枚舉類一一定義和調用

package test;public class EnumTest {/**枚舉* */public static void main(String[] args) {// TODO Auto-generated method stubStudent stu new Student();stu.setName("李華");stu.setSex(Genders.MALE);stu.setAge(24);System.out.println(stu.getSex());}} pa…

HDbaseT 高清傳輸更簡單——只需一根網線

HDbaseT支持最高20Gbps的傳輸速率&#xff0c;能更好的支持未來的3D和2K4K視頻格式&#xff0c;傳輸采用普通的CAT5e/6網絡線纜&#xff0c;連接器也采用普通的 RJ45接頭&#xff0c;而傳輸距離達到了100米&#xff0c;除了提供視頻信號傳輸功能外&#xff0c;還具有網絡連接以…

2017年

2017年對自己來說這一年是最需要成長的一年&#xff0c;肩上的責任越來越大了。轉載于:https://www.cnblogs.com/jimmy1293/p/6543533.html

解決 | 此數據庫文件跟當前sql server實例不兼容 sql server2008無法連接到(local)...

最近在搞ASP.NET&#xff0c;因實驗室VS版本跟PC不一樣可能&#xff0c;拷回來一打開就這樣子&#xff1a; 眉頭一皺的我打開我的古董SQL&#xff0c;自從用了MySQL就沒碰它了我的鍋。。。果然。。連接的時候。。。不慌&#xff0c;(win 10)打開控制面板\系統和安全\管理工具 -…

IP大時代下,網絡槍機技術發展現狀

來源&#xff1a;a&s《評測&選型》 作者&#xff1a;海康威視程瑋 在視頻監控行業內&#xff0c;有很多里程碑式的產品&#xff0c;我們可以從這些產品中了解視頻監控的發展趨勢。2000年左右&#xff0c;第一臺DVR面世奠定了視頻監控行業從CCTV走向數字化的基礎&#x…

JVM調優總結(3):垃圾回收面臨的問題

如何區分垃圾 上面說到的“引用計數”法&#xff0c;通過統計控制生成對象和刪除對象時的引用數來判斷。垃圾回收程序收集計數為0的對象即可。但是這種方法無法解決循環引用。所以&#xff0c;后來實現的垃圾判斷算法中&#xff0c;都是從程序運行的根節點出發&#xff0c;遍歷…