WebRTC音视频开发:React+Flutter+Go实战

WebRTC音视频开发:React+Flutter+Go实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2020-09
版次: 1
ISBN: 9787111664468
定价: 99.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 328页
28人买过
  • 本书系统介绍WebRTC技术的原理与应用,主要内容包括:WebRTC技术发展历史、应用场景、整体架构,WebRTC通话原理,Web开发环境搭建,HTML5项目简介,访问设备的设置,音视频设备的设置,音视频的录制,结合React+Flutter+Go技术开发音视频应用的案例。 亢少军 捷智云视频会议系统联合创始人,从事流媒体技术研发工作多年,对于Android、iOS等开发技术有比较深入的研究和应用,作为主要程序员开发了多个应用项目,涉及医疗、交通、银行等领域。 前言 

    第一篇 基本概念 

    第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
  • 内容简介:
    本书系统介绍WebRTC技术的原理与应用,主要内容包括:WebRTC技术发展历史、应用场景、整体架构,WebRTC通话原理,Web开发环境搭建,HTML5项目简介,访问设备的设置,音视频设备的设置,音视频的录制,结合React+Flutter+Go技术开发音视频应用的案例。
  • 作者简介:
    亢少军 捷智云视频会议系统联合创始人,从事流媒体技术研发工作多年,对于Android、iOS等开发技术有比较深入的研究和应用,作为主要程序员开发了多个应用项目,涉及医疗、交通、银行等领域。
  • 目录:
    前言 

    第一篇 基本概念 

    第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
查看详情
12
相关图书 / 更多
WebRTC音视频开发:React+Flutter+Go实战
Web应用开发技术(微课版)
白磊
WebRTC音视频开发:React+Flutter+Go实战
Web API设计原则通过API和微服务实现价值交付
(美)詹姆斯·希金博特姆(James Higginbotham)
WebRTC音视频开发:React+Flutter+Go实战
Weir & Abrahams 人体解剖影像图谱(第6版)
袁慧书 著
WebRTC音视频开发:React+Flutter+Go实战
Web3.0:数字时代赋能与变革
贾新峰
WebRTC音视频开发:React+Flutter+Go实战
Web3:科技新趋势(拥抱数字化变革,打造Web 3时代商业新生态)
(美)克里斯·达菲
WebRTC音视频开发:React+Flutter+Go实战
Web3.0:构建数字经济新未来
翟振林
WebRTC音视频开发:React+Flutter+Go实战
Web前端开发基础
韩少云、王春梅 著
WebRTC音视频开发:React+Flutter+Go实战
Web前端开发基础案例教程
赵革委
WebRTC音视频开发:React+Flutter+Go实战
Web地理信息课程建设与服务模式研究(精)
秦耀辰、闫卫阳、夏浩铭、付品德、秦奋 著
WebRTC音视频开发:React+Flutter+Go实战
Web前端开发实战
郭凯;孔繁玉;张有宽
WebRTC音视频开发:React+Flutter+Go实战
Web3.0应用开发实战(从Web 2.0到Web 3.0)
屈希峰 编
WebRTC音视频开发:React+Flutter+Go实战
Web前端设计基础(第2版)
李立威;薛晓霞;王晓红;李丹丹;王艳娥