今年音频没事干了,根据业务需求,调研音视频p2p通信,减小服务器压力,一切从0开始。

需要信令服务器,打洞服务器,帮助链接打通双方,实现p2p音视频通信。

服务器和客服端交互等都需要实现。

谷歌webrtc里面有个安卓的demo  apprtc:

WebRTCDemo可以直接做成P2P的效果,AppRTCDemo则需要另外一个服务端(也可直接连接:https://apprtc.appspot.com/),当然你也可以自己部署这个服务端,他是利用libjingle和XMPP来处理信令交互的,而且基于ICE协议实现P2P,至于什么是ICE,什么是STUN,TURN我在后面的文章中都有陆续讲到。

AppRTCDemo的最大问题就是google为了推广自己的东东,将他搞得很复杂,服务端部署起来也很复杂,所以我后来直接做了一个移植,信令服务全部自己实现,现在已经实现了安卓,ios,pc之间视频通话的效果,而且也陆陆续续也做了不少手机适配方面的优化,很适合用在社交,智能家居,安防监控,在线教育等行业,接下来要做的工作也就是不断加入新功能,更新,优化。

吸收一些apprtc修改,实现:

p2p音视频通信的更多相关文章

  1. Nodejs搭建音视频通信-信令服务器 总结

    1.安装nodejs  node-v10.16.3-x64.msi 2.安装配置环境变量 这里的环境配置主要配置的是npm安装的全局模块所在的路径,以及缓存cache的路径,之所以要配置,是因为以后在 ...

  2. 了不起的WebRTC:生态日趋完善,或将实时音视频技术白菜化

    本文原文由声网WebRTC技术专家毛玉杰分享. 1.前言 有人说 2017 年是 WebRTC 的转折之年,2018 年将是 WebRTC 的爆发之年,这并非没有根据.就在去年(2017年),WebR ...

  3. 融云携新版实时音视频亮相 LiveVideoStack 2019

    4 月 19 日,LiveVideoStack 2019 音视频大会在上海隆重开幕,全球多媒体创新专家.音视频技术工程师.产品负责人.高端行业用户等共襄盛会,聚焦音频.视频.图像.AI 等技术的最新探 ...

  4. 云-腾讯云-实时音视频:实时音视频(TRTC)

    ylbtech-云-腾讯云-实时音视频:实时音视频(TRTC) 支持跨终端.全平台之间互通,从零开始快速搭建实时音视频通信平台 1.返回顶部 1. 腾讯实时音视频(Tencent Real-Time ...

  5. JMeter扩展Java请求实现WebRTC本地音视频推流压测脚本

    WebRTC是Web Real-Time Communication缩写,指网页即时通讯,是一个支持Web浏览器进行实时语音或视频对话的API,实现了基于网页的视频会议,比如声网的Agora Web ...

  6. 1┃音视频直播系统之浏览器中通过WebRTC访问摄像头

    一.WebRTC的由来 对于前端开发小伙伴而言,如果用 JavaScript 做音视频处理 在以前是不可想象的,因为首先就要考虑浏览器的性能是否跟得上音视频的采集 但是 Google 作为国际顶尖科技 ...

  7. 6┃音视频直播系统之 WebRTC 核心驱动SDP规范协商

    一.什么是SDP SDP(Session Description Protocal)其实就是当数据过来时候,告诉数据自己这里支持的解码方式.传输协议等等,这样数据才能根据正确的方式进行解码使用 SDP ...

  8. 8┃音视频直播系统之 WebRTC 信令系统实现以及通讯核心并实现视频通话

    一.信令系统 信令系统主要用来进行信令的交换 在通信双方彼此连接.传输媒体数据之前,它们要通过信令服务器交换一些信息,如规范协商 若 A 与 B 要进行音视频通信,那么 A 要知道 B 已经上线了,同 ...

  9. Android IOS WebRTC 音视频开发总结(二四)-- p2p调用堆栈

    本文主要分析webrtc音视频点对点部分的代码结构,文章来自博客园RTC.Blacker,转载请说明出处. 前段时间在查一个偶尔断线的问题(这种问题最蛋疼,不好重现,只能凭经验去搞),所以理了下web ...

随机推荐

  1. img图片自适应div盒子,前提是不要把盒子的高给写死了,就是不要写高,如下

    div{width:100%;}//写高就自适应盒子不起来了 img{width: 100%; height: 100%;}

  2. Tomcat 7.0的配置

     一.安装JDK 1.7     1.添加环境变量:在我的电脑->属性->高级->环境变量     2.新建系统变量,变量名:JAVA_HOME  变量值:C:\Program Fi ...

  3. ubuntu12.04 安装CS:APP Y86模拟器

    下的第一UBUNTU12.04下Y86模拟器的安装:(參考http://archive.cnblogs.com/a/1865627/ 作适当改动) 1.安装bison和flex词法分析工具 sudo ...

  4. android JSON获取值String无法转换成JSONObject

    项目中,已经获取到服务器返回的XML,并且已经解析. value= (String) result.getProperty("Value").toString().trim();J ...

  5. 关于StrangeIOC框架

    在Unity上进行开发,请先看对其开发模式应用的讨论: http://www.reddit.com/r/Unity3D/comments/1nb06h/unity_design_patterns_an ...

  6. Ubuntu 安裝 嘸蝦米 輸入法

    O S : 14.04.1-Ubuntu 加入fcitx開發團隊的repository: sudo add-apt-repository ppa:fcitx-team/nightly sudo apt ...

  7. route使用详解

    route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...

  8. 常见排序java实现

    public class Sort { public static void main(String[] args) { int[] data = {49,38,65,97,76,13,27,49}; ...

  9. pyhton 学习

    官方学习文档 https://docs.python.org/3/tutorial/

  10. Filter(过滤器)学习

    一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...