WebRTC基础实践 - 2. WebRTC课程概述

本课程将逐步开发一个 WebRTC 应用, 通过网络摄像头来拍照、录像、并将这些信息传递给另一方. 在此过程中, 我们将学习如何使用WebRTC的核心API, 还会通过 Node.js 来搭建一个消息服务器。

课程内容

  • 从摄像头获取视频
  • 通过 RTCPeerConnection 传输视频流
  • 通过 RTCDataChannel 传输数据流
  • 配置信令服务来交换消息
  • 集成对等连接与信令服务
  • 拍照, 并通过数据通道来分享

环境准备

  • Chrome 47 及以上版本的浏览器
  • 如果没有服务器环境, 则可以使用扩展应用 Web Server for Chrome 来代替。
  • 下载示例代码
  • 文本编辑器/IDE
  • HTML,CSS和JavaScript 相关的基础知识

相关词汇对照:

  • webcam : 网络摄像头
  • data channel : 数据通道

原文链接: https://codelabs.developers.google.com/codelabs/webrtc-web/#1

翻译人员: 铁锚 - https://blog.csdn.net/renfufei

翻译日期: 2018年06月29日

WebRTC基础实践 系列文章目录如下:

已标记关键词 清除标记
<p><span style="color: #333333; font-family: 'Hiragino Sans GB', 'Microsoft Yahei', arial, 宋体, 'Helvetica Neue', Helvetica, STHeiTi, sans-serif; font-size: 14px; background-color: #ffffff;">WebRTC技术经过多年的发展,已经非常成熟,它提供了HTML5流媒体技术的一整套解决方案及API,可用来实现一对一视频通话,视频会议,远程教育以及远程会诊等应用。尤其现在5G时代已经到来,WebRTC技术为必备技能。</span><br style="color: #333333; font-family: 'Hiragino Sans GB', 'Microsoft Yahei', arial, 宋体, 'Helvetica Neue', Helvetica, STHeiTi, sans-serif; font-size: 14px; background-color: #ffffff;" /><br style="color: #333333; font-family: 'Hiragino Sans GB', 'Microsoft Yahei', arial, 宋体, 'Helvetica Neue', Helvetica, STHeiTi, sans-serif; font-size: 14px; background-color: #ffffff;" /><span style="color: #333333; font-family: 'Hiragino Sans GB', 'Microsoft Yahei', arial, 宋体, 'Helvetica Neue', Helvetica, STHeiTi, sans-serif; font-size: 14px; background-color: #ffffff;">本课程序为WebRTC的理论基础教程,将带领你理解并掌握WebRTC的系统架构,媒体协商,网络协商,协议,信令服务,连接建立等理论知识。适合0基础小白以及想从事音视频行业的开发人员学习。</span><br style="color: #333333; font-family: 'Hiragino Sans GB', 'Microsoft Yahei', arial, 宋体, 'Helvetica Neue', Helvetica, STHeiTi, sans-serif; font-size: 14px; background-color: #ffffff;" /><br style="color: #333333; font-family: 'Hiragino Sans GB', 'Microsoft Yahei', arial, 宋体, 'Helvetica Neue', Helvetica, STHeiTi, sans-serif; font-size: 14px; background-color: #ffffff;" /><span style="max-width: 100%; box-sizing: border-box; color: #333333; font-family: 'Hiragino Sans GB', 'Microsoft Yahei', arial, 宋体, 'Helvetica Neue', Helvetica, STHeiTi, sans-serif; background-color: #ffffff; font-size: 18px;"><strong>讲师介绍</strong></span></p> <p style="margin: 0px; max-width: 100%; box-sizing: border-box; color: #333333; font-family: 'Hiragino Sans GB', 'Microsoft Yahei', arial, 宋体, 'Helvetica Neue', Helvetica, STHeiTi, sans-serif; font-size: 14px; background-color: #ffffff;">讲师:亢少军<br />展翼科技联合创始人,国内首本Flutter出版书籍作者,著有《Flutter技术入门与实战》《WebRTC音视频开发 React+Flutter+Go实战》。多年从事流媒体技术研发,对于Android,iOS等开发技术有比较深入的研究和应用,作为主要程序员开发了多个应用项目,涉及医疗、交通、银行等领域。</p> <p style="margin: 0px; max-width: 100%; box-sizing: border-box; color: #333333; font-family: 'Hiragino Sans GB', 'Microsoft Yahei', arial, 宋体, 'Helvetica Neue', Helvetica, STHeiTi, sans-serif; font-size: 14px; background-color: #ffffff;"><br />WebRTC音视频开源<strong> PION/ION</strong> 项目主要贡献者,一个Flutter+React+Go+WebRTC的视频会议项目,Star已破1.9K。<br /><br /><span style="max-width: 100%; box-sizing: border-box; font-size: 18px;"><strong>课程收益:</strong></span><br />了解WebRTC概况及应用场景<br />理解WebRTC整体架构结构<br />理解视频通话基本原理<br />掌握媒体协商概念及理论<br />理解SDP协议理论<br />掌握网络协商概念及理论<br />掌握NAT网络地址转换理论<br />掌握ICE,STUN,TURN协议理论<br />理解信令服务器的作用<br />掌握视频通话连接建立流程及实现方法<br /><br /><br /><span style="max-width: 100%; box-sizing: border-box; font-size: 18px;"><strong>图书介绍</strong></span><br /><br /><img style="border: 0px; vertical-align: middle; max-width: 100%;" src="https://10.idqqimg.com/qqke_course_info/ajNVdqHZLLCdwibScmJ4ibic2FafVhjRa8HhicdEsWYuGlPOn0MTf0nbjhvjqqq9EkbkLOibOVQc0p7c/" /></p>
相关推荐
WebRTC 简介 WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音通话或视频聊天的技术,是谷歌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库——l
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页