ICE

WebRTC SDP 详解和剖析

自闭症网瘾萝莉.ら 提交于 2020-12-09 16:45:16
WebRTC 是 Web Real-Time Communication,即网页实时通信的缩写,是 RTC 协议的一种 Web 实现,项目由 Google 开源,并和 IETF 和 W3C 制定了行业标准。在国内 WebRTC 已经获得了越来越多厂商的支持,应用前景变得更加广阔,所以我们也开设专栏,分享阿里云内部的 WebRTC 研究工作。 本篇是阿里云视频云 WebRTC 技术专栏系列文章的第一篇,作者将从 WebRTC SDP 例子和关键属性的角度为大家深度剖析解读,其中也分享了阿里云技术专家的一些实践经验,希望能对大家有所帮助或者启发。后续 WebRTC 技术专栏系列将继续推出 WebRTC ICE/DTLS/SRTP/RTCP/TURN 的详解与剖析,欢迎关注我们的公众号。 作者: 忘篱,阿里云高级技术专家,负责阿里云 RTC 服务器研发; 泰一,阿里云高级开发工程师,从事阿里云 RTC 服务器研发 Overview 狭义的说 WebRTC 是指浏览器端,浏览器端如何直接交换数据呢?肯定是没法完全独立完成的,必须得依靠服务器。一般依赖几种服务器: Signaling 信令服务器,也就是交换房间和会议的媒体信息,以及会议期间的消息,媒体描述使用的是 SDP 协议,也就是本文剖析的重点。 ICE 服务器,可以分为帮助两个客户端打洞建立 P2P 连接的 STUN 服务器

Will ICE negotiations between peers behind two symmetric NAT's result in requiring two TURN servers?

不想你离开。 提交于 2020-12-06 13:12:17
问题 I read RFC6577 and RFC8445 but I feel like there is a bit of a disconnect between how TURN can be used versus how ICE actually utilizes the relay candidates . The TURN RFC describes the use of one single TURN server to ferry data between a client and a peer. The transport address on the TURN server accepts data flow from a client via TURN messages, whereas the relayed transport address accepts data flow from peer(s) via UDP. This sounds great - one TURN server and bidirectional data flow.

Will ICE negotiations between peers behind two symmetric NAT's result in requiring two TURN servers?

▼魔方 西西 提交于 2020-12-06 13:07:24
问题 I read RFC6577 and RFC8445 but I feel like there is a bit of a disconnect between how TURN can be used versus how ICE actually utilizes the relay candidates . The TURN RFC describes the use of one single TURN server to ferry data between a client and a peer. The transport address on the TURN server accepts data flow from a client via TURN messages, whereas the relayed transport address accepts data flow from peer(s) via UDP. This sounds great - one TURN server and bidirectional data flow.

Will ICE negotiations between peers behind two symmetric NAT's result in requiring two TURN servers?

只愿长相守 提交于 2020-12-06 13:06:23
问题 I read RFC6577 and RFC8445 but I feel like there is a bit of a disconnect between how TURN can be used versus how ICE actually utilizes the relay candidates . The TURN RFC describes the use of one single TURN server to ferry data between a client and a peer. The transport address on the TURN server accepts data flow from a client via TURN messages, whereas the relayed transport address accepts data flow from peer(s) via UDP. This sounds great - one TURN server and bidirectional data flow.

苹果自研 M1 芯片性能强大,却不支持 Docker ?

风格不统一 提交于 2020-11-30 12:08:08
整理 | 郑丽媛 译者|弯月 头图 | CSDN下载自东方IC 不久前,苹果的“返场”发布会“ One More Thing ”隆重揭晓了其自研 5nm M1 芯片以及三款搭载此芯片的新 Mac 产品,此举意味着苹果正式开启了从英特尔架构到 ARM 架构的过渡。其中令人印象深刻的是,苹果宣称,M1 芯片是“世界最快的处理器”。 苹果这一句“豪言壮语”,果不其然引起了许多人对这款芯片进行测评。国外知名硬件评测网站 AnandTech 于 17 日表示已拿到搭载 M1 芯片的产品之一:Mac mini 2020 版,并发布了对 M1 芯片的详细测评,其结果也证实了苹果似乎并没有夸大其词。 性能优越的 M1 芯片 苹果的 Firestorm 核在运行单线程负载时的时钟频率为 3.2GHz,相比 A14 芯片的 3GHz 频率,提高了 6.66% ,而且只要散热上还有空间,在运行全核心负载的时候也可以达到该时钟频率。除了 4 个 3.2GHz 性能核心以外, 2064MHz 还有 4 个 Thunder 效率核心,也比 A14 上的 1823MHz 高出很多。 除了 4 个高性能的 Firestorm 核心之外,M1 还包括 4 个 Icestorm 核心,旨在降低闲置功率并提高电池供电的效率。4 个性能内核和 4 个效率内核可以同时激活,尽管所有核心的性能吞吐量并不相同, M1

WebRTC SDP 详解和剖析

好久不见. 提交于 2020-11-24 23:31:48
WebRTC 是 Web Real-Time Communication,即网页实时通信的缩写,是 RTC 协议的一种 Web 实现,项目由 Google 开源,并和 IETF 和 W3C 制定了行业标准。在国内 WebRTC 已经获得了越来越多厂商的支持,应用前景变得更加广阔,所以我们也开设专栏,分享阿里云内部的 WebRTC 研究工作。 本篇是阿里云视频云 WebRTC 技术专栏系列文章的第一篇,作者将从 WebRTC SDP 例子和关键属性的角度为大家深度剖析解读,其中也分享了阿里云技术专家的一些实践经验,希望能对大家有所帮助或者启发。后续 WebRTC 技术专栏系列将继续推出 WebRTC ICE/DTLS/SRTP/RTCP/TURN 的详解与剖析,欢迎关注我们的公众号。 作者: 忘篱,阿里云高级技术专家,负责阿里云 RTC 服务器研发; 泰一,阿里云高级开发工程师,从事阿里云 RTC 服务器研发 Overview 狭义的说 WebRTC 是指浏览器端,浏览器端如何直接交换数据呢?肯定是没法完全独立完成的,必须得依靠服务器。一般依赖几种服务器: Signaling 信令服务器,也就是交换房间和会议的媒体信息,以及会议期间的消息,媒体描述使用的是 SDP 协议,也就是本文剖析的重点。 ICE 服务器,可以分为帮助两个客户端打洞建立 P2P 连接的 STUN 服务器

你的模型需要解释(一)

北战南征 提交于 2020-11-24 02:53:36
导读: 模型可解释性方面的研究,在近两年的科研会议上成为关注热点,因为大家不仅仅满足于模型的效果,更对模型效果的原因产生更多的思考,这样的思考有助于模型和特征的优化,更能够帮助更好的理解模型本身和提升模型服务质量。本文对机器学习模型可解释性相关资料汇总 survey。 ——综述—— 机器学习业务应用以输出决策判断为目标。可解释性是指人类能够理解决策原因的程度。机器学习模型的可解释性越高,人们就越容易理解为什么做出某些决定或预测。模型可解释性指对模型内部机制的理解以及对模型结果的理解。其重要性体现在:建模阶段,辅助开发人员理解模型,进行模型的对比选择,必要时优化调整模型;在投入运行阶段,向业务方解释模型的内部机制,对模型结果进行解释。比如基金推荐模型,需要解释:为何为这个用户推荐某支基金。 机器学习流程步骤:收集数据、清洗数据、训练模型、基于验证或测试错误或其他评价指标选择最好的模型。第一步,选择比较小的错误率和比较高的准确率的高精度的模型。第二步,面临准确率和模型复杂度之间的权衡,但一个模型越复杂就越难以解释。一个简单的线性回归非常好解释,因为它只考虑了自变量与因变量之间的线性相关关系,但是也正因为如此,它无法处理更复杂的关系,模型在测试集上的预测精度也更有可能比较低。而深度神经网络处于另一个极端,因为它们能够在多个层次进行抽象推断,所以他们可以处理因变量与自变量之间非常复杂的关系

浅谈微服务架构、容器技术与K8S

时光毁灭记忆、已成空白 提交于 2020-11-22 03:33:50
关注嘉为科技,获取运维新知 企业应用系统:从单体应用走向微服务架构;从裸金属走向容器。 如果在诸多热门云计算技术诸如容器、微服务、DevOps、OpenStack等之中,找出一个最火的方向,那么可能非微服务莫属。尽管话题炙手可热,但对传统行业来说,微服务落地和方法论目前处于起步阶段。 单体架构 对于传统企业来说,数字化转型的需求日益迫切,其IT架构面临着互联网融合业务中海量用户和快速迭代的巨大挑战。当前,我们所开发的应用,不管是运行在局域网中还是部署在云端的,都采用了单体架构、分布式架构或微服务架构其中的一种。 其中,采用单体架构的应用数量最多,我们将这种应用简称为单体应用。我们可以将单体应用理解为主要的业务逻辑模块(我们编写的代码模块,不包括独立的中间件)运行在一个进程中的应用,最典型的是跑在Tomcat中的Java Web应用,不管这个应用在内部划分了多少模块,以及是否采用了MVC的分层架构,它都是一个单体应用,因为所有模块都运行在一个Tomcat容器中,位于一个进程里,如图所示是目前应用最为广泛的基于Sping Framework的单体应用的架构图。 单机应用有哪些好处和劣势呢? 好处 技术门槛低 编程工作量少 开发简单快速 调试方便 环境容易搭建 容易发布部署及升级 无论是开发还是运维,其总体成本都很低且见效快 劣势 单体应用的系统比较膨胀与臃肿

Django ContentType组件

冷暖自知 提交于 2020-11-22 01:47:06
ContentType组件 遇到这一张表要跟多张表进行外键关联的时候~我们Django提供了ContentType组件~ ContentType是Django的内置的一个应用,可以追踪项目中所有的APP和model的对应关系,并记录在ContentType表中。 当我们的项目做数据迁移后,会有很多django自带的表,其中就有django_content_type表,我们可以去看下~~~ ContentType组件应用:   -- 在model中定义ForeignKey字段,并关联到ContentType表,通常这个字段命名为content-type   -- 在model中定义PositiveIntergerField字段, 用来存储关联表中的主键,通常我们用object_id   -- 在model中定义GenericForeignKey字段,传入上面两个字段的名字   -- 方便反向查询可以定义GenericRelation字段 建模: class Appliance(models.Model): """ 家用电器表 id name 1 冰箱 2 电视 3 洗衣机 """ name = models.CharField(max_length=64 ) coupons = GenericRelation(to= " Coupon " ) # 自用于反向查询 不生成字段

WebRTC之完整搭建Jitsi Meet指南

人盡茶涼 提交于 2020-11-15 08:54:00
想学更多的WebRTC知识,请关注 WebRTC中文社区 前言 Jitsi是个优秀的WebRTC流媒体服务器,使用Java语言做开发,可以让很多Java人员也能进行流媒体开发,但是奈何国内的教程太少,官方文档更新太快,导致很多想用他的人却望而却步。 在写这篇文章之前,在搜索引擎上进行了搜索,发现没有一篇文章完整的把Jitsi Meet搭建起来并且能够多人正常音视频通话的文章 不管是论坛和QQ群经常有人问Jitsi搭建的问题,在此我就分享一篇我自己的搭建经验 注意!!!本篇使用的官方教程Manual installation(手动安装),为什么使用手动安装不是快速安装,因为我后期会在上面自定义一些功能。 jitsi官方更新的比较频繁,如果你按照本篇文章安装出现了问题,可以进入QQ群进行提问 准备工作 建议全篇的Linxu命令都使用root用户去操作,如果不是使用root,请都加sudo 一台Ubuntu18.04的服务器,拥有公网ip,最好是国外服务器,国内服务器下载依赖很慢。 一个域名,提前把域名解析到服务器的公网ip 安全组设置入网规则 tcp80,443,4443,udp:10000-20000 关闭防火墙 Ubuntu上检查防火墙状态 sudo ufw status 出现以下说明防火墙关闭 Status: inactive 如果出现不是上面的内容,执行命令关闭防火墙 sudo