WebRTC 音視頻開發:React + Flutter + Go 實戰
亢少軍著
買這商品的人也買了...
-
$454樹莓派開發實戰, 2/e (Raspberry Pi Cookbook, 2/e)
-
$500$390 -
$250分佈式緩存 原理、架構及 Go 語言實現
-
$414$393 -
$403Flutter:從0到1構建大前端應用
-
$690$587 -
$505實時語音處理實踐指南
-
$383Flutter 實戰
-
$454WebRTC Native 開發實戰
-
$750$593 -
$680$530 -
$450$356 -
$550$429 -
$414$393 -
$811統計學習要素:機器學習中的數據挖掘、推斷與預測, 2/e (The Elements of Statistical Learning: Data Mining, Inference, and Prediction, 2/e)
-
$540$427 -
$454Go 微服務實戰
-
$690$538 -
$420$332 -
$880$695 -
$505WebRTC 技術詳解:從0到1構建多人視頻會議系統
-
$653$614 -
$1,223Kubernetes 權威指南:從 Docker 到 Kubernetes 實踐全接觸, 5/e
-
$580$458 -
$534$507
相關主題
商品描述
本書詳細介紹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章),通過一個一對一的視頻通話案例,
將前面所學知識串起來,案例的客戶端實現了畫面渲染、聲音控制、
視頻控制、大小視頻展示等功能,服務器端實現了信令處理服務器以及中轉數據服務器等。
本書是一本入門級實戰指南,既有基礎知識,
又有操作步驟詳細的豐富示例,實操性強,
可幫助讀者在輕鬆掌握基礎理論的同時快速進入應用開發領域。
作者簡介
亢少軍
捷智雲視頻會議系統聯合創始人,從事流媒體技術研發工作多年,
對於Android、iOS等開發技術有比較深入的研究和應用,
作為主要程序員開發了多個應用項目,涉及醫療、交通、銀行等領域。
目錄大綱
前言
第一篇基本概念
第1章WebRTC概述
1.1 WebRTC是什麼
1.2 WebRTC整體架構
第2章WebRTC通話原理
2.1概述
2.2媒體協商
2.3網絡協商
2.4連接建立的流程
第二篇基礎應用
第3章HTML5示例工程準備
3.1開發環境搭建
3.1.1 Node安裝
3.1.2 VSCode安裝
3.2新建示例工程
3.2.1 package.json配置
3.2.2 babel支持
3.2.3 webpack配置
3.2.4首頁模板文件
3.2.5全局樣式
3.2.6入口文件
3.2.7主組件及路由
第4章訪問設備
4.1概述
4.2獲取用戶媒體數據
4.3打開攝像頭
4.4打開麥克風
4.5截取視頻
4.6共享屏幕
4.7視頻濾鏡
第5章音視頻設置
5.1概述
5.2分辨率概述
5.3分辨率設置
5.4音量檢測
5.5設備枚舉
5.6設置綜合示例
第6章媒體流與軌道
6.1概述
6.2媒體流
6.3 MediaStreamTrack
6.4流與軌道API測試
6.5捕獲Video媒體流
6.6捕獲Canvas媒體流
6.6.1瀏覽器兼容性
6.6.2創建畫布
6.6.3 Canvas坐標系
6.6.4繪製API
6.6.5畫板示例
第7章媒體錄製
7.1媒體錄製原理
7.1.1創建錄製對象
7.1.2常用API
7.1.3錄製事件
7.2錄製音頻
7.3錄製視頻
7.3.1約束條件的區別
7.3.2播放器的區別
7.3.3 miniType的區別
7.3.4錄製視頻示例
7.4錄製屏幕
7.5錄製Canvas
第8章連接建立
8.1概述
8.2連接建立的過程
8.3連接建立示例
8.3.1視頻清晰度自適應
8.3.2提議/應答信息
8.3.3 Candidate信息
8.4將Video發送至遠端
8.5流方式同步白板
第9章數據通道
9.1概述
9.2數據通道的概念
9.3發送文本消息
9.4發送文件
9.4.1 FileReader
9.4.2讀取數據
9.4.3發送文件示例
第10章App示例工程準備
10.1 Windows環境搭建
10.2 MacOS環境搭建
10.3 App方案選取
10.4 Flutter示例工程
10.5權限設置
10.5.1 iOS平台設置
10.5.2 Android平台設置
10.6項目配置
10.7入口程序
第11章App音視頻技術
11.1概述
11.2 GetUserMedia
11.3屏幕共享
11.4控制設備
11.5連接建立
11.5 .1媒體約束
11.5.2連接約束
11.5.3 SDP約束
11.5.4手機旋轉方向
11.5.5連接建立示例
11.6數據通道
第三篇綜合案例
第12章一對一視頻通話總體架構
12.1通話流程
12.2技術框架
12.3 WebSocket
12.4信令設計
第13章服務器端實現
13.1 Go開發環境搭建
13.1.1 Windows環境搭建
13.1.2 MacOS環境搭建
13.2開發工具
13.3後端工程介紹
13.3.1 TURN服務器運行
13.3.2信令服務器目錄
13.4依賴庫管理
13.5工具庫
13.6項目配置文件
13.7入口程序
13.8 Socket服務
13.9 P2P信令服務
13.10用戶和會話信息
13.11房間管理及信令處理
13.11.1房間管理
13.11.2信令處理
13.11.3合併邏輯並測試
第14章Web端實現
14.1登錄組件
14.2本地視頻組件
14.3遠端視頻組件
14.4信令實現
14.5 P2P客戶端
14.6視頻通話測試
第15章App端實現
15.1登錄組件
15.2生成Id
15.3約束條件
15.4請求TurnServer
15.5 ICE配置
15.6封裝WebSocket
15.7定義狀態
15.8信令實現
15.9 P2P客戶端
15.10整體測試