关于webrtc的多人视频会议的杂乱记录
之前公司要做自主研发的多人会议,搞了很久.记录一些东西在这里,因为涉及到的东西有点多,网上教程很多,这里只做一些记录,就不写详细的过程了.
之前自主研发了一套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的多人视频会议的杂乱记录相关推荐
- WebRtc实现多人视频会议以及视频录制上传
1.前言 最近公司做的一个项目需求是实现多人视频会议聊天,查阅资料,决定使用HTML5新支持的WebRtc来作为视频通讯.客户端使用支持HTML5浏览器即可,如chrome,服务器段需要提供两个主要的 ...
- 基于Webrtc的多人视频会议的简单实现
通过重写WEBRTC传输模块来实现一个简单的视频会议,效果如下图: 说明: 1.画面1.2.3都是其他手机传过来的图像,局域网内有点点卡顿,同时软解3路数据你懂的. 2.声音比较清晰,服务端没有做混音 ...
- webrtc 安卓端多人视频会议的实现
webrtc_android 项目地址:ddssingsong/webrtc_android 简介:webrtc 安卓端多人视频会议的实现 更多:作者 提 Bug 官网 标签: 概述 mee ...
- WebRTC / Jitsi / 多人视频通讯常用架构 Mesh / MCU / SFU
问题:为什么要搞这么多架构? WebRTC 虽然是一项主要使用 P2P 的实时通讯技术,本应该是无中心化节点的,但是在一些大型多人通讯场景,如果都使用端对端直连,端上会遇到很带宽和性能的问题,所以就有 ...
- 腾讯云多人视频会议 TUIRoom 功能体验
腾讯云多人视频会议 TUIRoom 功能体验 腾讯云 (Tencent Cloud) 是腾讯集团倾力打造的云计算品牌,提供全球领先的云计算和人工智能等技术产品与服务,推动产业互联网建设. 实时音视频( ...
- vue2+node实现全栈多人视频会议
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 项目前言 一.前期准备 二.开发展示 三.开发过程 1.环境配置 2.源码目录 3.运行 4.部署上线 总结 项目前言 场景 ...
- WebRTC实现多人视频聊天
写在前面 实现房间内人员的视频聊天,由于并未很完善,所以需要严格按照步骤来,当然基于此完善,就是时间的问题了. 架构 整个设计架构如下: 图片来自于参考博文.我使用的是第一种Mesh 架构,无需任何流 ...
- WebRTC实现多人视频聊天之客户端设计
写在前面 在开始之前,需要对如何建立点对点连接有一个了解,参考我的另一篇博文:WebRTC之点对点连接.下图是来自参考博文中的一张图片. 基础想法 基础架构如下: 客户端主要在于处理从WebSocke ...
- html5 视频语音对讲,一种基于WebRTC的多人语音视频通话方法及系统与流程
本发明涉及视频通话领域,特别涉及一种基于WebRTC的多人语音视频通话方法及系统. 背景技术: 随着互联网技术和通信技术的快速发展,人们的交流方式与交流内容得到了极大的丰富和发展.在节奏越来越快的信息 ...
最新文章
- Django的前世今生
- 用八块腹肌调戏智能屏是一种什么体验?
- ssas 为绑定指定的大小太小,导致一个或多个列值被截断
- 用LIBSVM做回归和预测
- tf.stack()和tf.unstack()的用法
- 博士申请 | 香港中文大学(深圳)罗元教授招收计算机与信息工程全奖博士
- linux7电脑配置要求,安装win7系统电脑配置有何要求--win10专业版
- Spring Cloud 相关配置信息说明
- cf486A Calculating Function
- BitHacks--位操作技巧
- SPSS入门教程——如何分析两个变量之间的关联度?
- Outlook2013 邮件签名设置
- flash加载脚本文件导致IE脚本错误 ,行53 ,字符3,缺少对象,代码0 , 怎么解决?
- IDEA如何快速切换项目(快捷键切换)
- 鹿晗关晓彤公开恋情,是如何把微博服务器搞炸的? 附大型网站高可用架构和解决方案...
- EXCEL数据计算结果不对
- mybatis(一)MyBatis Generator
- 注册时验证用户名和密码是否合法
- 判断iphone4 retain屏幕方法
- STM32F103系列芯片原理学习以及LED灯的点亮