WebRTC音視頻開發:React+Flutter+Go實戰

WebRTC音視頻開發:React+Flutter+Go實戰

《WebRTC音視頻開發:React+Flutter+Go實戰》是2020年機械工業出版社出版的圖書,作者是亢少軍。

基本介紹

  • 中文名:WebRTC音視頻開發:React+Flutter+Go實戰
  • 作者:亢少軍
  • 出版社:機械工業出版社
  • 出版時間:2020年10月
  • 頁數:320 頁
  • 定價:99 元
  • 裝幀:平裝
  • ISBN:9787111664468
內容簡介,圖書目錄,作者簡介,

內容簡介

本書詳細介紹WebRTC音視頻開發技術,本書系統介紹WebRTC技術的原理與套用,涵蓋:WebRTC技術發展歷史、套用場景、整體架構,WebRTC通話原理,Web開發環境搭建,HTML5項目簡介,訪問設備的設定,音視頻設備的設定,音視頻的錄製,結合React+Flutter+Go技術開發音視頻套用的案例等。
分為三篇,共15章,主要內容包括:
基本概念篇(第1~2章),介紹WebRTC技術發展歷史,分析WebRTC整體架構及其核心API,分析WebRTC通話原理,介紹媒體協商、網路協商等基本概念,介紹NAT、SDP、ICE、STUN以及TURN協定;
基礎套用篇(第3~11章),介紹WebRTC技術的方方面面,如訪問設備、音視頻設定、媒體流與軌道、媒體錄製、連線建立過程以及數據通道等,幫助讀者快速掌握WebRTC的常用接口;
綜合案例篇(第12~15章),通過一個一對一的視頻通話案例,將前面所學知識串起來,案例的客戶端實現了畫面渲染、聲音控制、視頻控制、大小視頻展示等功能,伺服器端實現了信令處理伺服器以及中轉數據伺服器等。
本書是一本入門級實戰指南,既有基礎知識,又有操作步驟詳細的豐富示例,實操性強,可幫助讀者在輕鬆掌握基礎理論的同時快速進入套用開發領域。

圖書目錄

【第一篇 基本概念】
●第1章 WebRTC概述2
1.1 WebRTC是什麼2
1.2 WebRTC整體架構4
●第2章 WebRTC通話原理7
2.1 概述7
2.2 媒體協商8
2.3 網路協商11
2.4 連線建立的流程15
【第二篇 基礎套用】
●第3章 HTML5示例工程準備18
3.1 開發環境搭建18
3.1.1 Node安裝18
3.1.2 VSCode安裝19
3.2 新建示例工程20
3.2.1 package.json配置21
3.2.2 babel支持24
3.2.3 webpack配置24
3.2.4 首頁模板檔案26
3.2.5 全局樣式27
3.2.6 入口檔案28
3.2.7 主組件及路由28
●第4章 訪問設備31
4.1 概述31
4.2 獲取用戶媒體數據32
4.3 打開攝像頭33
4.4 打開麥克風35
4.5 截取視頻38
4.6 共享螢幕41
4.7 視頻濾鏡45
●第5章 音視頻設定49
5.1 概述49
5.2 解析度概述50
5.3 解析度設定51
5.4 音量檢測57
5.5 設備枚舉60
5.6 設定綜合示例67
●第6章 媒體流與軌道77
6.1 概述77
6.2 媒體流78
6.3 MediaStreamTrack79
6.4 流與軌道API測試81
6.5 捕獲Video媒體流85
6.6 捕獲Canvas媒體流88
6.6.1 瀏覽器兼容性88
6.6.2 創建畫布88
6.6.3 Canvas坐標系88
6.6.4 繪製API89
6.6.5 畫板示例90
●第7章 媒體錄製95
7.1 媒體錄製原理95
7.1.1 創建錄製對象95
7.1.2 常用API97
7.1.3 錄製事件97
7.2 錄製音頻97
7.3 錄製視頻103
7.3.1 約束條件的區別103
7.3.2 播放器的區別103
7.3.3 miniType的區別103
7.3.4 錄製視頻示例104
7.4 錄製螢幕109
7.5 錄製Canvas113
●第8章 連線建立118
8.1 概述118
8.2 連線建立的過程119
8.3 連線建立示例122
8.3.1 視頻清晰度自適應130
8.3.2 提議/應答信息131
8.3.3 Candidate信息131
8.4 將Video傳送至遠端132
8.5 流方式同步白板138
●第9章 數據通道146
9.1 概述146
9.2 數據通道的概念147
9.3 傳送文本訊息147
9.4 傳送檔案154
9.4.1 FileReader155
9.4.2 讀取數據156
9.4.3 傳送檔案示例157
●第10章 App示例工程準備167
10.1 Windows環境搭建167
10.2 MacOS環境搭建173
10.3 App方案選取178
10.4 Flutter示例工程178
10.5 許可權設定184
10.5.1 iOS平台設定184
10.5.2 Android平台設定184
10.6 項目配置185
10.7 入口程式186
●第11章 App音視頻技術189
11.1 概述189
11.2 GetUserMedia190
11.3 螢幕共享195
11.4 控制設備200
11.5 連線建立206
11.5.1 媒體約束206
11.5.2 連線約束207
11.5.3 SDP約束207
11.5.4 手機旋轉方向207
11.5.5 連線建立示例207
11.6 數據通道215
【第三篇 綜合案例】
●第12章 一對一視頻通話總體架構224
12.1 通話流程224
12.2 技術框架226
12.3 WebSocket226
12.4 信令設計228
●第13章 伺服器端實現230
13.1 Go開發環境搭建230
13.1.1 Windows環境搭建230
13.1.2 MacOS環境搭建231
13.2 開發工具232
13.3 後端工程介紹232
13.3.1 TURN伺服器運行232
13.3.2 信令伺服器目錄233
13.4 依賴庫管理234
13.5 工具庫235
13.6 項目配置檔案237
13.7 入口程式238
13.8 Socket服務240
13.9 P2P信令服務244
13.10 用戶和會話信息248
13.11 房間管理及信令處理248
13.11.1 房間管理249
13.11.2 信令處理249
13.11.3 合併邏輯並測試252
●第14章 Web端實現258
14.1 登錄組件258
14.2 本地視頻組件259
14.3 遠端視頻組件262
14.4 信令實現263
14.5 P2P客戶端278
14.6 視頻通話測試285
●第15章 App端實現287
15.1 登錄組件287
15.2 生成Id290
15.3 約束條件291
15.4 請求TurnServer292
15.5 ICE配置293
15.6 封裝WebSocket294
15.7 定義狀態297
15.8 信令實現298
15.9 P2P客戶端312
15.10 整體測試318

作者簡介

亢少軍 捷智雲視頻會議系統聯合創始人,從事流媒體技術研發工作多年,對於Android、iOS等開發技術有比較深入的研究和套用,作為主要程式設計師開發了多個套用項目,涉及醫療、交通、銀行等領域。

相關詞條

熱門詞條

聯絡我們