通过WebRTC实现实时视频通信(三)

通过WebRTC实现实时视频通信(一)

通过WebRTC实现实时视频通信(二)

通过WebRTC实现实时视频通信(三)

在这篇文章中我们继续了解WebRTC的相关API,RTCPeerConnectiont和RTCDataChannel。

RTCPeerConnection

RTCPeerConnection是是WebRTC的组件,用来解决数据流通信的稳定性和高效性。下面这张是WebRTC的架构图,展示了RTCPeerConnection的规则,你会发现,绿色的部分是相当复杂的。

JavaScript的角度来看,理解这个图最重要的是理解RTCpeerConnection这一部分。WebRTC对编解码器和协议做了大量的工作,使实时通信成为可能,甚至在一些不可靠的网络中。

W3C code从信号的角度展示了一个简单的例子,关于WebRTC流程的应用:演示RTCPeerConnection的例子。

没有服务器的RTCPeerConnection

下面的代码来自于 webrtc-demos.appspot.com, 这个demo是本地和远程RTCPeerConnection基于Web的连接。这个例子虽然没有什么实际的用处-请求和被请求方都在同一个页面上。但是 可以从这个例子中可以更清楚的看出RTCPeerConnetion API的工作流程,它们可以直接通过RTCPeerConnection对象在页面 上交换信息,而不需要使用中介的信号机制。

在这个例子中,pc1代本地端点(呼叫者 ),pc2代表远程端点(被呼叫者)。

。。。。

阅读原文:通过WebRTC实现实时视频通信(三)

时间: 2024-10-10 17:31:01

通过WebRTC实现实时视频通信(三)的相关文章

通过WebRTC实现实时视频通信(二)

通过WebRTC实现实时视频通信(一) 通过WebRTC实现实时视频通信(二) 通过WebRTC实现实时视频通信(三) 在上一篇文章中,我们讲解了WebRTC的概述.历史.安全性和开发者工具.接下来我们通过WebRTC的三个API来具体的讲解构建WebRTC的流程,这篇文章会对MediaStream进行讲解. MediaStream (别名 getUserMedia) MediaStream API 代表媒体数据流的同步.举个例子,从相机获取的视频流的同步和跟踪. 理解MediaStream最简

通过WebRTC实现实时视频通信(一)

通过WebRTC实现实时视频通信(一) 通过WebRTC实现实时视频通信(二) 通过WebRTC实现实时视频通信(三) WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API.它于2011年6月1日开源并在Google.Mozilla基金会.Opera支持下被包括进万维网联盟的W3C推荐标准. 不需要插件的实时通信 想像一下,如果你的手机.电视.电脑都可以通过一个平台进行通信,想像一下你可以在We

Thinking in Java---线程通信+三种方式实现生产者消费者问题

前面讲过线程之间的同步问题:同步问题主要是为了保证对共享资源的并发访问不会出错,主要的思想是一次只让一个线程去访问共享资源,我们是通过加锁的方法实现.但是有时候我们还需要安排几个线程的执行次序,而在系统内部线程的调度是透明的,没有办法准确的控制线程的切换.所以Java提供了一种机制来保证线程之间的协调运行,这也就是我们所说的线程调度.在下面我们会介绍三种用于线程通信的方式,并且每种方式都会使用生产者消费者问题进行检验. 一.使用Object类提供的线程通信机制 Object类提供了wait(),

iOS开发之使用XMPPFramework实现即时通信(三)

你看今天是(三)对吧,前面肯定有(一)和(二),在发表完iOS开发之使用XMPPFramework实现即时通信(一)和iOS开发之使用XMPPFramework实现即时通信(二)后有好多的小伙伴加我Q或者评论留言提出一些问题,比如:“楼主,在哪注册?”,“楼主,你的登录用户名和密码是多少?”之类的问题.在之前的博客中使用的账号和密码,为了方便,是用spark客户端注册的,在今天的博客中将会详细的介绍如何使用代码注册我们新用户,还有在这感谢关注我的小伙伴们,谢谢你们的支持! 好了,废话少说,说道到

一起talk C栗子吧(第一百四十九回:C语言实例--socket通信三)

各位看官们,大家好,上一回中咱们说的是socket通信的例子,这一回咱们继续说该例子.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们在上一回中介绍了socket通信的步骤,当时提到了实现这些步骤使用的系统调用,当时有些看官不理解这些系统调用,今天我们趁热打铁来介绍这些系统调用. int socket(int domain, int type, int protocol) 该函数用来创建一个socket; 该函数的三个参数分别对应socket的三个属性:域,类型和协议: 该函数运

第9组通信三班091网络协议抓包分析

一.地址规划表 源地址 目的地址 域名 备注 172.31.148.91 221.181.72.104 www.baidu.com 百度 172.31.148.91 183.240.51.232 www.douyu.com 斗鱼 二.源地址的配置(打开电脑网络状态,将源地址改成合规的网络地址.) 三.应用层分析(测试网络联通性)www.baidu.com 平均延时7ms左右,可以使用TCP协议 www.douyu.com 平均延时5ms左右,较为稳定.可进行UDP直播. 四丶传输层 1.TCP三

第二组通信三班205孙斯美抓包分析

抓包分析 1. 网络规划表图如下 源ip地址 目的IP地址 域名 备注 192.168.43.1 183.232.175.239 www.haoqq.com QQ浏览器 192.168.43.1 192.168.43.205 www.yy.com Yy直播 2. 打开“控制面板”→选择“网络和Internet”→选择“网络和共享中心”→选择已连接的WLAN→选择“属性”→打开“Internet协议版本4(TCP/IPv4)的属性”.更改IP地址如下: 3. 连通性:打开网页,能上网. 二.应用层

浅析线程间通信三:Barriers、信号量(semaphores)以及各种同步方法比较

之前的文章讨论了互斥量.条件变量.读写锁和自旋锁用于线程的同步,本文将首先讨论Barriers和信号量的使用,并给出了相应的代码和注意事项,相关代码也可在我的github上下载,然后对线程各种同步方法进行了比较. Barriers Barriers是一种不同于前面线程同步机制,它主要用于协调多个线程并行(parallel)共同完成某项任务.一个barrier对象可以使得每个线程阻塞,直到所有协同(合作完成某项任务)的线程执行到某个指定的点,才让这些线程继续执行.前面使用的pthread_join

WebRTC源码分析三:视频处理流程

转自:http://blog.csdn.net/neustar1/article/details/19480863 文本介绍视频的处理流程.图1中显示了两路视频会话视频信号流过程. 图1 视频流程示意图 以一路视频会话为例,主要分为以下几个线程: 1)视频源产生线程:Camera生产视频画面,封装成视频帧,以一定帧率投递到下一个模块.: 2)采集线程:由Capturer负责采集视频帧,并对视频帧进行一定处理,如调整画面亮度.并送入各个发送链路的编码模块编码并发送出去: 3)接收线程:Rtp/Rt