之前公司要做自主研发的多人会议,搞了很久.记录一些东西在这里,因为涉及到的东西有点多,网上教程很多,这里只做一些记录,就不写详细的过程了.
之前自主研发了一套IM,用webrtc做了点对点的视频通话.
之后用了几天时间查了一些资料,准备做多人视频会议.然后就入坑了.
后台用的nodejs配合forever,就是那个大家都在用的.访问http://localhost:3000#roomName查看效果,其中roomName为进入的房间名,不同房间的用户无法互相通信,这里不再赘述.
iOS编译修改demo的过程很顺利.
网页端由于需要SSL验证,我们公司连测试的SSL证书和服务器都没提供,我就自己搭建了一个虚拟机,然后用我自己的域名,申请了一个阿里云的免费SSL证书.
如果网页端想要绕过SSL协议,通过3000端口访问页面使用摄像头,需要使用火狐浏览器46版本以下方可做到.
如图

我用的浏览器是

之后就是安卓,需要验证SSL协议,我就去虚拟机上弄nginx来配置SSL协议,之后由于自己的失误耽误了一天半时间,由于nginx在1.9.0以上版本才支持TCP,所以你安装的nginx版本一定要在1.9.0以上,我最开始为了省事,随便找了个低版本的装上去了,结果怎样都连不上,大家引以为戒,我把nginx的安装配置过程写在下面吧.

1.最重要的一点,我在这里卡了一天半,最开始用的低版本的nginx,nginx从1.9.0版本开始支持TCP,所以版本一定要大于等于这个。

2.安装nginx依赖的程序

yum install gcc;
yum install pcre-devel;
yum install zlib zlib-devel;
yum install openssl openssl-devel;

3.下载nginx

wget http://nginx.org/download/nginx-1.12.2.tar.gz

4.解压nginx

tar -zxvf nginx-1.12.2.tar.gz

5.cd nginx-1.12.2/

cd nginx-1.12.2/

6…/configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

7.make && make install

make && make install

8.cd /usr/local/nginx/sbin

cd /usr/local/nginx/sbin

9…/nginx

./nginx

10.访问IP地址如图,成功

11.cd /usr/local/nginx/conf/

cd /usr/local/nginx/conf/

12.mkdir cert

mkdir cert

13.cd cert

cd cert

14.把SSL证书扔进去,如图

15.cd …/

cd ../

16.vim nginx.conf

vim nginx.conf

17.配置文件修改如下


worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  localhost;location / {root   html;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}upstream web {server 0.0.0.0:3000;      }upstream websocket {server 0.0.0.0:3000;   }server { listen       443; server_name  localhost;ssl          on;ssl_certificate     cert/cert.crt;ssl_certificate_key  cert/cert.key;ssl_session_cache    shared:SSL:1m;ssl_session_timeout  50m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;location /wss {proxy_pass http://websocket/; proxy_read_timeout 60s;proxy_set_header Host $host;proxy_set_header X-Real_IP $remote_addr;proxy_set_header X-Forwarded-for $remote_addr;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection 'Upgrade';  }location / {proxy_pass         http://web/;proxy_set_header   Host             $host;proxy_set_header   X-Real-IP        $remote_addr;proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;}}}

18.cd …/sbin/

cd ../sbin/

19…/nginx -s reload

./nginx -s reload

这样nginx就配置好了.

最后来个合集
首先安卓

然后iOS

最后网页端

以上就是webrtc多人视频会议的一些杂乱记录了.

关于webrtc的多人视频会议的杂乱记录相关推荐

  1. WebRtc实现多人视频会议以及视频录制上传

    1.前言 最近公司做的一个项目需求是实现多人视频会议聊天,查阅资料,决定使用HTML5新支持的WebRtc来作为视频通讯.客户端使用支持HTML5浏览器即可,如chrome,服务器段需要提供两个主要的 ...

  2. 基于Webrtc的多人视频会议的简单实现

    通过重写WEBRTC传输模块来实现一个简单的视频会议,效果如下图: 说明: 1.画面1.2.3都是其他手机传过来的图像,局域网内有点点卡顿,同时软解3路数据你懂的. 2.声音比较清晰,服务端没有做混音 ...

  3. webrtc 安卓端多人视频会议的实现

    webrtc_android 项目地址:ddssingsong/webrtc_android  简介:webrtc 安卓端多人视频会议的实现 更多:作者   提 Bug   官网 标签: 概述 mee ...

  4. WebRTC / Jitsi / 多人视频通讯常用架构 Mesh / MCU / SFU

    问题:为什么要搞这么多架构? WebRTC 虽然是一项主要使用 P2P 的实时通讯技术,本应该是无中心化节点的,但是在一些大型多人通讯场景,如果都使用端对端直连,端上会遇到很带宽和性能的问题,所以就有 ...

  5. 腾讯云多人视频会议 TUIRoom 功能体验

    腾讯云多人视频会议 TUIRoom 功能体验 腾讯云 (Tencent Cloud) 是腾讯集团倾力打造的云计算品牌,提供全球领先的云计算和人工智能等技术产品与服务,推动产业互联网建设. 实时音视频( ...

  6. vue2+node实现全栈多人视频会议

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 项目前言 一.前期准备 二.开发展示 三.开发过程 1.环境配置 2.源码目录 3.运行 4.部署上线 总结 项目前言 场景 ...

  7. WebRTC实现多人视频聊天

    写在前面 实现房间内人员的视频聊天,由于并未很完善,所以需要严格按照步骤来,当然基于此完善,就是时间的问题了. 架构 整个设计架构如下: 图片来自于参考博文.我使用的是第一种Mesh 架构,无需任何流 ...

  8. WebRTC实现多人视频聊天之客户端设计

    写在前面 在开始之前,需要对如何建立点对点连接有一个了解,参考我的另一篇博文:WebRTC之点对点连接.下图是来自参考博文中的一张图片. 基础想法 基础架构如下: 客户端主要在于处理从WebSocke ...

  9. html5 视频语音对讲,一种基于WebRTC的多人语音视频通话方法及系统与流程

    本发明涉及视频通话领域,特别涉及一种基于WebRTC的多人语音视频通话方法及系统. 背景技术: 随着互联网技术和通信技术的快速发展,人们的交流方式与交流内容得到了极大的丰富和发展.在节奏越来越快的信息 ...

最新文章

  1. Django的前世今生
  2. 用八块腹肌调戏智能屏是一种什么体验?
  3. ssas 为绑定指定的大小太小,导致一个或多个列值被截断
  4. 用LIBSVM做回归和预测
  5. tf.stack()和tf.unstack()的用法
  6. 博士申请 | 香港中文大学(深圳)罗元教授招收计算机与信息工程全奖博士
  7. linux7电脑配置要求,安装win7系统电脑配置有何要求--win10专业版
  8. Spring Cloud 相关配置信息说明
  9. cf486A Calculating Function
  10. BitHacks--位操作技巧
  11. SPSS入门教程——如何分析两个变量之间的关联度?
  12. Outlook2013 邮件签名设置
  13. flash加载脚本文件导致IE脚本错误 ,行53 ,字符3,缺少对象,代码0 , 怎么解决?
  14. IDEA如何快速切换项目(快捷键切换)
  15. 鹿晗关晓彤公开恋情,是如何把微博服务器搞炸的? 附大型网站高可用架构和解决方案...
  16. EXCEL数据计算结果不对
  17. mybatis(一)MyBatis Generator
  18. 注册时验证用户名和密码是否合法
  19. 判断iphone4 retain屏幕方法
  20. STM32F103系列芯片原理学习以及LED灯的点亮

热门文章

  1. Ubuntu系统释放磁盘空间
  2. Spring MVC的核心控制器DispatcherServlet的作用
  3. Beam Search 简介
  4. 基于引擎开发HTML5游戏实战(一)---游戏引擎
  5. Elasticsearch压测工具esrally使用笔记
  6. local-preference-实践理解(22/3/2)
  7. 漫画绘图软件MediBang Paint Pro 27.2中文版
  8. Windows核心编程笔记(8)
  9. 单片机阻塞延时与非阻塞延时(1)
  10. 国内云主机为什么那么贵?主要从4个方面来决定