WebRTC 简介

WebRTC,是一个支持网页浏览器进行实时语音通话或视频聊天的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术。

WebRTC提供了实时音视频的核心技术,包括音视频的采集、编解码、网络传输、显示等功能,并且还支持跨平台:windows,linux,mac,android。

虽然WebRTC的目标是实现跨平台的Web端实时音视频通讯,但因为核心层代码的Native、高品质和内聚性,开发者很容易进行除Web平台外的移殖和应用。很长一段时间内WebRTC是业界能免费得到的唯一高品质实时音视频通讯技术。

为什么需要 WebRTC 开发者教程?

虽然WebRTC技术已经较为成熟,其集成了最佳的音/视频引擎,十分先进的codec,且包含了使用STUN、ICE、TURN、RTP-over-TCP的关键NAT和防火墙穿透等众多门槛并不低的技术。抛开音视频技术本身的复杂性外,要想找到合适的资料、完整的代码和库、配合合适的IDE和辅助工具能正常地实现编译和安装都非常的不容易,而这还只是个开始。没有靠谱的教程,你该怎么开始?那么地坑等在那,难道你打算一个一个趟过去?

本《WebRTC 零基础开发者教程》主要讲了什么

本文中提供下载的《WebRTC 零基础开发者教程》将以一个初学者的角度,从0开始逐步引导你掌握WebRTC开发的方方面面(当然,教程中更多的是操作性的内容,具体到技术原理和实现,显然不是本教程的讨论范畴)。

《WebRTC 零基础开发者教程》目录

1 工具
1.1 depot_tools
1.1.1 目标
1.1.2 Chromium
1.1.3 使用说明在这儿
1.1.4 下载
1.1.5 使用
1.1.6 具体使用例子

1.2 Gyp工具
1.3 Python工具
1.4 本地集成开发环境(IDE )
1.4.1 Visual studio
1.4.2 Kdevelop
1.4.3 Eclipse

2 Webrtc
2.1 下载、编译
2.1.1 Windows下
2.1.2 ubuntu下编译
2.1.3 编译Android(只能在 linux 下)

3 webrtc开发
3.1 开发P2P视频软件需要处理的问题
3.1.1 用户列的获取、交换、信令的交换
3.1.2 P2P通信
3.1.3 多媒体处理
3.2 webrtc架构
3.2.1 WebRTC架构组件介绍
3.2.2 WebRTC核心模块API介绍
3.2.3 webRTC核心API详解

4 Libjingle详细介绍
4.1 重要组件
4.1.1 信号
4.1.2 线程和消息
4.1.3 名称转换
4.1.4 SSL支持
4.1.5 连接
4.1.6 传输,通道,连接
4.1.7 候选项
4.1.8 数据包
4.2 如何工作
4.2.1 Application模块
4.2.2 XMPP Messaging Component 模块
4.2.3 Session Logic and management commponent 模块
4.2.4 Peer to peer Component 模块
4.2.5 其他
4.3 建立libjingle应用程序

5 代码分析
5.1 音频通道建立过程
5.2 音频接收播放过程
5.3 视频接收播放过程

6 协议
6.1 XMPP协议
6.1.1 原理介绍
6.1.2 XMPP 协议网络架构
6.1.3 XMPP 协议的组成
6.1.4 Xmpp介绍
6.1.5 协议内容
6.2 Stun协议
6.2.1 P2P实现的原理
6.2.2 P2P的常用实现
6.2.3 Stun URI
6.2.4 内容
6.2.5 中文内容
6.2.6 开源服务器
6.2.7 公开的免费STUN服务器
6.3 Turn协议
6.3.1 概念
6.3.2 Turn uri
6.3.3 开源服务器工程
6.3.4 开源库
6.4 交互式连接建立(Interactive Connectivity Establishment) 
6.4.1 IETF规格
6.4.2 开源工程
6.5 XEP-0166 Jingle
6.5.1 绪论
6.5.2 需求
6.6 Sctp协议
6.7 Rtp协议

7 附件
7.1 Gyp工具
7.2 Google test程序
7.3 Webrtc库介绍
7.4 webrtc代码相关基础知识
7.5 STUN和TURN技术浅析
7.6 基于ICE的VoIP穿越NAT改进方案
7.7 ubuntu安装使用stuntman
7.8 一个开源的ICE库——libnice介绍
7.9 4种利用TURN穿越对称型NAT方案的设计与实现
7.10 基于ICE方式SIP信令穿透Symmetric_NAT技术研究

部分截图


教程下载

https://pan.baidu.com/s/1d278ccYTQQ_79gyQNDzEBw

WebRTC 零基础开发者教程(中文版)下载的更多相关文章

  1. WordPress安装:零基础入门教程

    WordPress安装:零基础入门教程 1主机空间要求要运行 WordPress,主机空间需满足以下条件.不过现在网络上的空间基本都可以,而且还让你随意定制Php和Mysql版本,至于空间和数据库大小 ...

  2. Python运算符 - Python零基础入门教程

    目录 一.算术运算符 二.赋值运算符 三.比较运算符 四.运算符的优先等级 五.重点总结 六.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python ...

  3. Python break/continue - Python零基础入门教程

    目录 一.break 二.continue 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python wh ...

  4. Python for循环 - Python零基础入门教程

    目录 一.for 循环语法 二.for 循环实战 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python ...

  5. 轻松搞定表白女朋友:Android版APP (零基础也可直接下载软件)

    在我们平时生活当中,经常会看到一些表白女朋友的html网页,但是Android端的表白软件可以说是基本没有,笔者在全网搜了一下,就没有一个可以用的.安卓端可以给人一种定制和精美的感觉,这是网页所做不到 ...

  6. nodejs零基础详细教程1:安装+基础概念

    第一章 建议学习时间2小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...

  7. node.js零基础详细教程(3):npm包管理、git github的使用

    第三章  建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑 ...

  8. node.js零基础详细教程(6):mongodb数据库操作

    第六章 建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...

  9. node.js零基础详细教程(7.5):mongo可视化工具webstorm插件、nodejs自动重启模块Node Supervisor(修改nodejs后不用再手动命令行启动服务了)

    第七章 建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...

随机推荐

  1. php快速无限遍历递归文件夹目录、子文件,支持绝对路径和相对路径,支持返回生成数组

    支持无限极遍历子文件及文件夹,支持绝对路径和相对路径! 函数说明:array glob ( string $pattern [, int $flags ] )功能:寻找与模式匹配的文件路径,返回包含匹 ...

  2. 一个新的Android Studio 2.3.3可以在稳定的频道中使用。A new Android Studio 2.3.3 is available in the stable channel.

    作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com 一个新的Android Studio 2.3 ...

  3. BZOJ.1430.小猴打架(Prufer)

    题目链接 猴子之间的打架是棵无根树,有\(n^{n-2}\)种可能:同时n-1个过程的排列是\((n-1)!\) //820kb 104ms #include <cstdio> const ...

  4. 潭州课堂25班:Ph201805201 第十三课 文件 (课堂笔记)

    对文件的操作,                       open('h:\\asa.txt') r 以只读方式打开 w 以写入方式打开,会覆盖已文件 X 如果已存在,会异常 a 如果文件存在,则在 ...

  5. Springzz中使用监听器,用于容器一启动就加载准备数据(application范围内的数据,用于减轻服务器压力,不用每次都去查数据)

    java代码: public class InitListener implements ServletContextListener { public void contextInitialized ...

  6. Mysql 创建用户并授权

    设置MySQL用户账号,指定哪个用户可以连接服务器,从哪里连接,连接后能做什么. MySQL管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后能做什么? GRAN ...

  7. 20172302《程序设计与数据结构》实验四Android程序设计实验报告

    课程:<程序设计与数据结构> 班级: 1723 姓名: 侯泽洋 学号:20172302 实验教师:王志强老师 实验日期:2018年5月30日 必修/选修: 必修 1.实验内容 (1)And ...

  8. Redis简单延时队列

    Redis实现简单延队列, 利用zset有序的数据结构, score设置为延时的时间戳. 实现思路: 1.使用命令 [zrangebyscore keyName socreMin socreMax] ...

  9. 使用uploadify上传图片时返回“Cannot read property 'queueData' of undefined”

    在使用uploadify插件上传图片时,遇到一个比较坑的错误:上传时提示“Cannot read property 'queueData' of undefined”. 遇到这个问题有点无语,因为这个 ...

  10. Golang 实现 set 集合,变相实现 切片去重、排序 功能

    Java 中的集合(set)去重很方便,PHP 中的数组值去重,就更加方便,一个函数搞定:array_unique(),Golang 中就比较苦逼了,官方没有提供对“切片去重”的功能,而项目中,又经常 ...