webrtc

直播一对一视频直播聊天

百般思念 提交于 2020-10-19 08:53:10
直播间一对一展示代码 webrtc+websocket 直接上代码 @Configuration public class WebSocketConfig { @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); } } @Component @ServerEndpoint("/groupChat/{roomId}/{username}") public class GroupChatController { // 保存 聊天室id -> 聊天室成员 的映射关系 private static ConcurrentHashMap<String, List<Session>> rooms = new ConcurrentHashMap<>(); // 收到消息调用的方法,群成员发送消息 @OnMessage public void onMessage(@PathParam("roomId") String roomId, @PathParam("username") String username, String message) { List<Session> sessionList = rooms.get(roomId); System

OnRL: 基于在线强化学习的移动视频传输优化

限于喜欢 提交于 2020-10-14 16:28:15
从 2019年开始,淘系技术部内容社交互动团队和北京邮电大学周安福教授一起着手研究更好的基于机器学习的智能拥塞控制算法。 在实验室环境完成原型验证后在淘宝直播的生产环境做实际效果对比,从实际数据来看效果明显。我们将其中的技术要点和数据做了总结,并投稿MobiCom2020,非常幸运地被这家全球最顶级的计算机刊物录用。以下是这篇Paper的中译本。 摘要 机器学习模型,尤其是强化学习(RL),在优化视频流应用方面已显示出巨大的潜力。然而,目前的解决方案局限于“离线学习”模式,即 RL 模型在仿真器/模拟器中进行训练,然后 在真实网络中部署。因此,上述方案不可避免地会遇到’仿真-现实’环境之间的差异(gap),在真实网络中的性能远远不如仿真环境下的性能。 在本文中,我们提出了 OnRL,一个实时移动视频通话的在线 RL 框架。OnRL 将单独的 RL agent 直接部署到每个视频通话系统中。这些系统依据 RL 算法,实时地做出视频比特率决策,并随时间实时演化其 RL agent。OnRL 继而聚合这些 agent,形成一个具有高层次信息的 RL 模型,从而使得每个视频通话都能应 对不确定的动态网络条件。 此外,OnRL 还设计融合了新的机制来处理视频特性所带来的系列挑战,并消除由 RL 算法本身的强探索性导致的服务质量下降的风险。我们将 OnRL 应用到主流的视频直播系统—

【问题】搭建coturn服务器,google返回701错误??

蓝咒 提交于 2020-10-04 03:47:58
想请问下,搭建好coturn服务器,使用的阿里云ECS服务器, 测试地址:https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ 使用火狐浏览器就没有问题,但是用google虽然done,但是报701错误?360浏览器也报这个错?? Note: errors from onicecandidateerror above are not neccessarily fatal. For example an IPv6 DNS lookup may fail but relay candidates can still be gathered via IPv4. The server stun:47.95.XXX.XX:3478 returned an error with code=701: STUN server address is incompatible. 转中文:报错信息: 注意:上述onicecandidateerror错误不一定是致命的。 例如,IPv6 DNS查找可能会失败,但仍可以通过IPv4收集中继候选者。 服务器stun:47.95.XXX.XX:3478返回了错误,代码为701: 正常的火狐浏览器: google浏览器: 来源: oschina 链接: https://my

mark:webrtc历史版本(带编译工程)下载方法

天大地大妈咪最大 提交于 2020-10-02 01:29:43
1、首先下载当前最新的webrtc版本 git下使用命令行如下: mkdir webrtc-checkout cd webrtc-checkout fetch --nohooks webrtc gclient sync 2、切换到指定历史版本 git checkout -b (随便命名) refs/remotes/branch-heads/(指定版本号) gclient sync 例如: git checkout -b mine refs/remotes/branch-heads/m74 gclient sync 3、历史版本号查询 git branch -a 4、备注 历史版本可能需要老VS。会有如下打印: 为了保证正常下载,可以查看vs_toolchain.py文件是否支持新版本。 若支持,直接配置GYP_MSVS_VERSION系统变量就好。 来源: oschina 链接: https://my.oschina.net/u/4419179/blog/4602977

思考、创新、坚持——阿里做了七年前端,我的成长经验分享

倖福魔咒の 提交于 2020-09-30 18:12:13
简介: 在成长的未知道路上,我们总会遇到各种各样的问题,但是,所有的迷茫与逆境都能够帮助我们成长,我们要抓住每一个机会让自己进步,而不是徘徊不前。 淘系前端开发同学——林晚,今天就来和大家分享他这七年的成长经历,以及如何摆脱业务前端的职业迷茫感。 个人经历 我的经历相对来说比较简单,毕业后一直在阿里。 07到13年我在武汉大学学习通信工程专业,同时辅修了动画双学位。 13年毕业后加入阿里巴巴国际站,在B2B阶段我对动画和创新交互比较感兴趣,共申请了6项相关专利,有的已经获得授权,赚得了人生的第一桶金:5万 15年转岗到蚂蚁口碑,当时主要负责互动营销和质量检测。 18年了解到淘宝直播,想在多媒体领域持续深耕,最近两年主要负责ALive直播开放和多媒体前端领域的建设。 三个阶段都有一定的成长,也得到了认可。下面就带着大家走进我的七年,希望能给处于迷茫期的你一些指引。 阶段回顾 每个阶段的回顾,按照下面几个阶段来划分,总结了下我在每个阶段的关键词: 折腾点什么(点) 主导点什么(线) 突破点什么(面) 引领点什么(体) ▐ 折腾点什么 初入职场 大家还记得自己做过的第一个需求是什么吗? 我的第一个需求是做一个类目选择器,索引、排序。我记得当时是周五,我了解完需求和师兄说,这个需求我周末弄两天,下周一就可以做好。当时师兄笑了一下。因为那个时候我还不清楚一个需求的完整流程,需要经过评审、排期