6.1.webrc媒體協商

那今天呢?我們來看一下y8 rtc的媒體協商,那實際上在我們之前的課程中呢?我已經向你介紹過y8 rtc的媒體協商了。只不過呢,角度是不一樣的,在之前介紹外邊tc媒體協商的時候呢,我們是從應用的角度來看。那web rtc為什么要進行媒體協商?媒體協商在整個音視頻的傳輸過程中起到了什么作用?那么今天呢?我們換一個角度,從源碼的角度來看,
在這里插入圖片描述

y8 rtc它是如何進行媒體協商的?具體它是怎么做到這個媒體協商這個作用的?那對于我們這節課來說呢,我們主要介紹一下我們這一章要介紹哪些知識點,那首先呢,我們要了解媒體協商的意義。

那在之前的課程中呢,我們已經介紹了雙方在進行音視頻通訊之前呢,要進行一些必要的媒體協商。那這些協商的內容是什么呢?

比如說雙方都支持哪些音視頻的編解碼器,比如說我用的是VP 8,結果呢?你只支持二六四。那這樣呢,雙方是沒法進行通訊的,那除了編解碼器之外

傳輸上的一些內容也需要進行協商。比如我們使用的配是多少?傳輸協議是udp還是TCP?那在udp之上,我們使用的rtp與rt CP是共用同一個傳輸通道還是分別的兩個通道?那這些呢,都是在整個媒體協商過程中需要完成的事情,所以總結出一句話就是什么事兒大家要商量著來。我要告訴你,我支持哪些編解碼器,支持什么樣的傳輸協議,那同時呢,你也告訴我,

你所支持的都有哪些?這樣呢,我們商量好之后就可以進行后續的工作了,那這是媒體協商意義,就是什么事兒都要商量著來。那在媒體進行協商的過程中,實際信令起著非常關鍵的作用。那我們在介紹信令的時候呢?我向你介紹過。

那其中呢,還有一個重要的消息就是message在整個媒體協商的過程中,我們的answer以及offer都是通過message這個消息進行進行交換的。實際我們在進行信令的時候呢,做過這塊兒的講解,我們要想進行媒體協商,

那信令在其中起著至關重要的作用,這點我們要知道。那在禁令進行交換的時候,那信令里邊使用的就是sdp協議,那對于外包來說,為什么要使用sdp協議?這個我們也要清楚。呢其實是一個非常古老的協議,是二零零六年就已經推出這個規范了,它采用的格式呢?是這種格式。那它相較于XML這種格式來說呢,它的格式更緊湊,也就是說同樣的信息,它占用的空間更小。

而XML呢,更適合大規模的,結構化的組織,所以它占用的這個空間呢,就會大很多。那我們在進行網絡傳輸的時候呢,實際是希望這個數據越小越好,越緊湊越合適,那如果你要傳一個更大的數據,它占的網絡帶寬就會越多。那這就導致失敗的可能性會越高,所以我們在進行傳輸的時候呢,都有一個潛規則,就是讓數據越小越好。那這是使用的一個最主要的原因,

那除此之外呢,采用的方式也更有利于我們的讀取與寫入。它就像我們以前使用的,非常老的配置文件點in I,這種配置文件那讀寫起來呢,都非常的方便。那這也是web rtc為什么會選擇stp的一個很重要的原因好,那以上呢?我就介紹了媒體協商,它的意義是什么?新令在其中起到作用,以及為什么選擇sdp好,那下面呢?我們就來看一下我們這一章主要介紹哪些內容?那無非呢,

就是我們之前介紹過幾個非常重要的點,那第一個呢就是sdp協議對吧?我們要知道sdp它的協議什么?在這個協議中,web rtc做了哪些修改?那這是我們必須要了解的,而且呢,可以說是我們理解web rtc的一個非常重要的內容。那只有你將里邊的每一個字段都了解清楚了,你才知道web rtc里頭的代碼為什么要那么寫才能讀懂它的代碼?這是第一個點,我們要介紹的是sdb協議。那

第二個呢?就是offer的創建,我們前面介紹過如何通過web rtc的API來創建offer,

但對于這個API內部,它的邏輯具體是怎么做的?怎么創建的這個offer我們就不知道了,那這些內容呢?就是我們這一章所要介紹的重點,除了offer之外呢?answer也是類似的。那實際上offer與answer除了類型不一樣之外,里邊的內容呢,都是一樣的,它里邊會包含你支持了哪些編輯碼器?使用的傳輸協議是什么?數據是否進行加密等等,這些內容呢?都是在offer跟a中進行描述的。

在這里插入圖片描述
那當我們有了offer跟answer之后,剩下的就是協商,那對于外邊tc來說,它是如何進行媒體協商的呢?實際有兩個API,一個是side local description,那當我們調用這個API的時候,如果同時擁有了offer跟answer,在它內部呢,就會進行媒體協商。媒體協商的過程中呢,就會進行網絡傳輸的創建,編解碼器的創建等等,這些呢,都是在set local description中實現的。

那當只有某一項的時候,比如只有offer或者answer的時候,那他只做其中的一半工作,那剩下的一半工作呢,要交給下一個API,也就是set remote description來進行完成。只有這兩個API全部調用完成之后,那底層的媒體協商過程才真正結束掉。

所以對于我們本章來說呢,主要就是讓你了解如何創建offer answer,讓你知道web rtc是如何。通過調用side local description以及side remote description,最終實現媒體協商的對這就是我們這章所介紹內容。那下面呢,我們就開始我們這一章內容的講解。

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

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

相關文章

ActiveMQ消息中間件應用場景

一、ActiveMQ簡介 ActiveMQ是Apache出品,最流行的,能力強勁的開源消息總線。ActiveMQ是一個完全支持JMS1.1和J2EE1.4規范的JMS Provide實現。盡管JMS規范出臺已經是很久的事情了,但是JMS在當今的J2EE應用中仍然扮演這特殊的地位。 二、Active…

《第一行代碼:Android》第三版-2.5.4數據類與單例_數據類

本文主要講述數據類,以前用java實現數據類很麻煩,寫很多代碼,就是搭個數據類的框架。kotlin用data class 關鍵字,給你簡化了數據類的創建,比較貼心。 就是自動為你創建了:equals()、hashCode()、toString(…

深入理解JVM 類加載機制

深入理解JVM 類加載機制 虛擬機如何加載Class文件? Class文件中的信息進入到虛擬機后會發生什么變化? 類加載機制就是Java虛擬機把描述類的數據從Class文件加載到內存,并對數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機…

實現點擊一個選框 使得一個組件的可選性修改

實現效果 代碼 html <div class"divrow"><el-checkbox-group v-model"isSendTag" :max"1"><el-checkbox v-for"(item, index) in isSendTagOptions" :key"index" :label"item.value">{{item.…

【C++設計模式】單例模式singleton

C 設計模式–單例模式singleton 單例模式 單例模式是指確保一個類在任何情況下都絕對只有一個實例&#xff0c;并提供一個全局訪問點。 優點&#xff1a;內存中只有一個實例&#xff0c;減少內存開銷&#xff1b;避免對資源多重占用&#xff1b;設置全局訪問點&#xff0c;嚴…

【Axure教程】用中繼器制作卡片多條件搜索效果

卡片設計通過提供清晰的信息結構、可視化吸引力、易擴展性和強大的交互性&#xff0c;為用戶界面設計帶來了許多優勢&#xff0c;使得用戶能夠更輕松地瀏覽、理解和互動。 那今天就教大家如何用中繼器制作卡片的模板&#xff0c;以及完成多條件搜索的效果&#xff0c;我們會以…

并發與并行

并發和并行是操作系統中的兩個重要概念&#xff0c;它們在定義和處理任務的方式上有一些區別。 并發&#xff08;concurrency&#xff09;是指在一段時間內&#xff0c;有多個程序都處于啟動運行到運行完畢之間&#xff0c;但任一時刻點上只有一個程序在處理機上運行。它是一種…

Vue偵聽器

Vue偵聽器是根據組件狀態做DOM更新或者異步更新其他級聯狀態的。計算屬性的主要目標是根據已有數據計算出組件的狀態&#xff0c;它是組件內部的計算&#xff0c;計算結果在組件內部應用。偵聽器的主要目標是根據組件狀態的變動&#xff0c;做級聯的或者異步的操作或DOM更新&am…

STM32F103C8T6第6天:adc、iic、spi、溫濕度dht11在lcd1602顯示

1. ADC介紹 ADC是什么&#xff1f; Analog-to-Digital Converter&#xff0c;指模擬/數字轉換器 ADC的性能指標 量程&#xff1a;能測量的電壓范圍分辨率&#xff1a;ADC能辨別的最小模擬量&#xff0c;通常以輸出二進制數的位數表示&#xff0c;比如&#xff1a;8、10、1…

【Spring篇】Spring注解式開發

本文根據嗶哩嗶哩課程內容結合自己自學所得&#xff0c;用于自己復習&#xff0c;如有錯誤歡迎指正&#xff1b; 我在想用一句話激勵我自己努力學習&#xff0c;卻想不出來什么驚為天人、精妙絕倫的句子&#xff0c;腦子里全是上課老師想說卻沒想起的四個字 “ 唯手熟爾 ”&am…

自動駕駛術語匯總

目錄 智駕級別芯片相關自動駕駛相關輔助駕駛相關預警相關傳感器相關泊車相關安全相關車燈相關 智駕級別 L0-L2屬于輔助駕駛&#xff0c;L4-L5才算自動駕駛 L0&#xff08;Level 0&#xff09;&#xff1a;無自動化。這是大多數傳統汽車的級別&#xff0c;所有的駕駛任務都需要…

C++每日選擇題—Day1

第一題 以下C代碼會輸出什么? #include <iostream> using namespace std; class A { public:A() {}~A() {} private:static int a; }; int main() {cout << sizeof(A) << endl;return 0; } A&#xff1a;0 B&#xff1a;1 C&#xff1a;4 D&#xff1a;8 答…

2023年最新PyCharm環境搭建教程(含Python下載安裝)

文章目錄 寫在前面PythonPython簡介Python生態圈Python下載安裝 PyCharmPyCharm簡介PyCharm下載安裝PyCharm環境搭建 寫在后面 寫在前面 最近博主收到了好多小伙伴的吐槽稱不會下載安裝python&#xff0c;博主聽到后非常的扎心&#xff0c;經過博主幾天的熬夜加班&#xff0c;…

單鏈表實現【隊列】

目錄 隊列的概念及其結構 隊列的實現 數組隊列 鏈式隊列 隊列的常見接口的實現 主函數Test.c 頭文件&函數聲明Queue.h 頭文件 函數聲明 函數實現Queue.c 初始化QueueInit 創建節點Createnode 空間釋放QueueDestroy 入隊列QueuePush 出隊列QueuePop 隊頭元…

Hyper-V系列:Hyper-V啟動、創建虛擬機、與主機傳輸文件

Hyper-V啟動、創建虛擬機、與主機傳輸文件 一. 簡介二. 啟用Hyper-V的方式也很簡單:一、從“任務管理器”的“性能”查看虛擬化是否啟用,未啟用的需要到BIOS開啟:右下角可以看到“虛擬化:已啟用”二、啟用Hyper-v和虛擬機1.電腦左下角右鍵打開應用界面——可選功能2.在可選…

JavaScript 原始數據類型和對應的對象類型(內置對象)之間的關系

JavaScript 原始數據類型和對應的對象類型&#xff08;內置對象&#xff09;之間的關系 JavaScript 的原始&#xff08;primitive&#xff09;數據類型包括包括數字&#xff08;Number&#xff09;、字符串&#xff08;String&#xff09;、布爾值&#xff08;Boolean&#xf…

【數據結構】E : 貨幣套匯(圖路徑)

E : 貨幣套匯&#xff08;圖路徑&#xff09; Description 套匯是指利用貨幣匯兌率的差異將一個單位的某種貨幣轉換為大于一個單位的同種貨幣。例如&#xff0c;假定1 美元可以買0.7 英鎊&#xff0c;1 英鎊可以買9.5 法郎&#xff0c;1法郎可以買到0.16美元。通過貨幣兌換&a…

ELK企業級日志分析平臺——ES集群監控

啟用xpack認證 官網&#xff1a;https://www.elastic.co/guide/en/elasticsearch/reference/7.6/configuring-tls.html#node-certificates 在elk1上生成證書 [rootelk1 ~]# cd /usr/share/elasticsearch/[rootelk1 elasticsearch]# bin/elasticsearch-certutil ca[rootelk1 ela…

GB/T 29498-2013 木門窗檢測

木門窗是指以木材、木質復合材料為主要材料制作框和扇的門窗。 GB/T 29498-2013 木門窗檢測項目 測試項目 測試標準 外觀質量 GB/T 29498 尺寸 GB/T 29498 裝配質量 GB/T 29498 含水率 GB/T 17657 附著力 GB/T 4893.4 外門窗耐冷熱循環 GB/T 4893.7 耐劃痕 GB/…

Volcano3D繪制3D火山圖

一邊學習&#xff0c;一邊總結&#xff0c;一邊分享&#xff01; 本期教程內容 **注&#xff1a;**本教程詳細內容 Volcano3D繪制3D火山圖 一、前言 火山圖是做差異分析中最常用到的圖形&#xff0c;在前面的推文中&#xff0c;我們也推出了好幾期火山圖的繪制教程&#xff0…