|
-- 會員 / 註冊 --
|
|
|
|
WebRTC音視頻實時互動技術:原理、實戰與源碼分析 ( 簡體 字) |
作者: 李超 | 類別:1. -> 程式設計 -> 綜合 |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 54892 詢問書籍請說出此書號!【有庫存】 NT售價: 445 元 |
出版日:6/1/2021 |
頁數:288 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111685012 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書分成四大部分: ? 第1部分為基礎篇,主要介紹 WebRTC是干什么的,大體結構是怎樣的。我們該如何下載源碼,如何對源碼進行編譯以及 WebRTC 的目錄結構是如何安排的,每個目錄的主要作用是什么。
實際上,目前90% 的同學還不清楚WebRTC 的源碼該如何下載,源碼下載后該如何編譯。之所以會有這個問題是因為 WebRTC 的代碼量過于龐大,必須要命名用它自己的工具進行下載。而困難點在于國內不能直接訪問 WebRTC 的源碼地址,這就給很多學習者帶來了特別大的困難。
另一方面, WebRTC 的編譯工具也是自己寫的,不是我們通常使用的編譯工具。
因此,對于一個新手來說,可以幾周甚至幾個月都搞不定這件事兒。
? 第2部分為應用該,在這部分核心的目的是要向讀者講明白如何通過 WebRTC 實現 1對1 的通信。要實現一個 1:1 的實時通信系統,必然要涉及到很多知識。如 SDP協議,媒體協商過程,NAT穿越,信令通信等等相關的知識。因此,在這部分我以實現 WebRTC 1對1實時通信為目的,讓讀者講解必要的知識,從而為后面知識的講解打好基礎。
? 第3部分是本書的核心內容,首先向讀者講解 WebRTC 的整體框架,讓他們對 WebRTC 有個全局的認識,之后再逐步向他們介紹 WebRTC 如何采集音視頻靈敏據,如何進行音視頻的編解碼,如何播放聲音,如何渲染視頻等相關的知識。
? 第4部分是提高篇,在這部分我會向讀者講解我們在使用 WebRTC 時經常要解決的一些問題。如 如何給 WebRTC 增加模塊,即目錄是的增加 x264 視頻編解碼模塊,AAC音頻編解碼模塊,在WebRTC中是如何將多路音頻進行混音的, WebRTC是如何進行回音清除的等相關的內容。 |
目錄:1 章 音視頻直播的前世今生 1 1.1 音視頻的歷史 1 1.2 移動互聯網 3 1.3 音視頻直播的兩條技術路線 3 1.4 音視頻直播的現狀 5 1.5 音視頻直播的未來 6 1.6 小結 7 第 2 章 為什么要使用 WebRTC8 2.1 自研直播客戶端架構8 2.1.1 拆分音視頻模塊 9 2.1.2 跨平臺 10 2.1.3 插件化管理11 2.1.4 其他 13 2.2 WebRTC 客戶端架構14 2.3 小結 16 第 3 章 音視頻實時通信的本質 17 3.1 兩種指標 18 3.1.1 實時通信延遲指標 18 3.1.2 音視頻服務質量指標 19 3.2 實時通信的主要矛盾 20 3.2.1 增加帶寬 20 3.2.2 減少數據量22 3.2.3 適當增加時延 24 3.2.4 提高網絡質量 24 3.2.5 快速準確地評估帶寬 25 3.3 小結 25 第 4 章 構建WebRTC一對一信令服務器 27 4.1 WebRTC 一對一架構27 4.2 細化架構 28 4.3 信令 29 4.3.1 信令定義 29 4.3.2 信令時序 30 4.3.3 信令傳輸協議的選擇 31 4.4 構建信令服務器 31 4.4.1 信令服務器的實現方案32 4.4.2 信令服務器的業務邏輯32 4.4.3 信令服務器的實現 33 4.4.4 信令服務器的安裝與部署 35 4.4.5 信令服務器的完整代碼37 4.5 小結 40 第 5 章 WebRTC 實現一對一通信 41 5.1 瀏覽器對 WebRTC 的支持41 5.2 遍歷音視頻設備 42 5.3 采集音視頻數據 44 5.4 MediaStream 與 MediaStreamTrack 47 5.5 本地視頻預覽47 5.6 信令狀態機 49 5.7 RTCPeerConnection52 5.7.1 創建 RTCPeerConnection 對象 52 5.7.2 RTCPeerConnection 與本地 音視頻數據綁定 53 5.7.3 媒體協商 54 5.7.4 ICE 55 5.7.5 SDP 與 Candidate 消息的 交換 57 5.7.6 遠端音視頻渲染 58 5.7.7 客戶端完整例子 59 5.8 小結 82 第 6 章 WebRTC 中的 ICE 實現 83 6.1 Candidate 種類與優先級83 6.2 ICE 策略 85 6.3 P2P 連接 87 6.3.1 完全錐型 NAT 89 6.3.2 IP 限制錐型 NAT90 6.3.3 端口限制錐型 NAT 91 6.3.4 對稱型 NAT92 6.3.5 NAT 類型檢測 93 6.3.6 如何進行 NAT 穿越 97 6.4 網絡中繼 101 6.4.1 TURN 協議中轉數據 101 6.4.2 WebRTC 使用 TURN 協議 102 6.4.3 STUN/TURN 服務器的 安裝與部署103 6.5 小結 105 第 7 章 WebRTC 中的 SDP 106 7.1 SDP 標準規范106 7.2 WebRTC 中 SDP 的整體 結構 108 7.3 媒體信息 110 7.3.1 音頻媒體信息 111 7.3.2 視頻媒體信息 112 7.3.3 SSRC 與 CNAME 114 7.4 PlanB 與 UnifiedPlan 115 7.5 WebRTC 如何保證數據 安全 117 7.6 RTP 擴展頭 119 7.7 服務質量 120 7.8 SDP 詳解 122 7.9 ORTC 131 7.10 小結 131 第 8 章 各端的互聯互通 132 8.1 WebRTC Native 的核心 132 8.2 Android 端的實現 134 8.2.1 申請權限 134 8.2.2 引入 WebRTC 庫 136 8.2.3 構造 PeerConnection- Factory 138 8.2.4 創建音視頻源 138 8.2.5 視頻采集 139 8.2.6 視頻渲染 142 8.2.7 創建 PeerConnection 144 8.2.8 建立信令系統 146 8.3 iOS 端的實現146 8.3.1 申請權限 146 8.3.2 引入 WebRTC 庫 147 8.3.3 構造 RTCPeerConnection- Factory 148 8.3.4 創建音視頻源 149 8.3.5 視頻采集 150 8.3.6 本地視頻預覽 151 8.3.7 建立信令系統 153 8.3.8 創建 RTCPeer- Connection155 8.3.9 遠端視頻渲染 158 8.4 PC 端與 Mac 端的實現 159 8.5 小結 159 第 9 章 網絡傳輸協議 RTP 與 RTCP 160 9.1 如何選擇 UDP 與 TCP 160 9.2 RTP 162 9.2.1 RTP 協議頭163 9.2.2 RTP 的使用165 9.2.3 RTP 擴展頭167 9.2.4 RTP 中的填充數據 170 9.3 RTCP 171 9.3.1 RTCP 報文分類 171 9.3.2 RTCP 協議頭 172 9.3.3 WebRTC 的反饋報文 173 9.4 小結 174 第 10 章 WebRTC 擁塞控制 175 10.1 WebRTC 的擁塞控制算法175 10.1.1 Goog-REMB176 10.1.2 Transport-CC 181 10.1.3 基于丟包的擁塞評估算法 原理184 10.1.4 WebRTC 擁塞控制 流程184 10.2 擁塞控制算法比較185 10.2.1 擁塞控制的準確性 186 10.2.2 與 TCP 連接并存時的公 平性187 10.2.3 同種類型連接的公 平性188 10.2.4 擁塞控制算法在丟包 情況下的表現 189 10.3 小結 191 第 11 章 WebRTC 源碼分析入門 192 11.1 WebRTC 源碼的選擇 193 11.2 WebRTC 開發環境的搭建193 11.2.1 配置軟硬件環境194 11.2.2 安裝依賴工具包195 11.2.3 獲取并編譯 WebRTC 代碼195 11.3 國內 WebRTC 鏡像196 11.4 WebRTC 目錄結構 197 11.4.1 WebRTC 主目錄 197 11.4.2 modules 目錄 198 11.5 小結 200 第 12 章 分析 WebRTC 源碼的必經 之路 201 12.1 信令服務器實現分析 201 12.1.1 信令服務器的組成 202 12.1.2 信令服務器的工作流程 203 12.2 PeerConnection 客戶端分析 206 12.2.1 運行 peerconnection_ client 206 12.2.2 peerconnection_client 的組成 207 12.2.3 界面的展示 213 12.2.4 視頻的渲染 218 12.2.5 WebRTC 的使用 220 12.2.6 信令的處理 225 12.3 小結 229 第 13 章 WebRTC 源碼分析 231 13.1 WebRTC 的數據流 231 13.2 WebRTC 線程模型 234 13.2.1 WebRTC 線程的創建與使用 234 13.2.2 線程切換 236 13.3 網絡傳輸 250 13.3.1 網絡接收與分發模塊類關系圖 250 13.3.2 網絡連接的建立251 13.4 音視頻數據采集 256 13.4.1 音頻采集與播放256 13.4.2 視頻采集與渲染258 13.5 音視頻編解碼 261 13.5.1 音頻編碼 261 13.5.2 音頻解碼 265 13.5.3 視頻編碼 267 13.5.4 視頻解碼 270 13.6 小結 272 |
序: |
|