Ubuntu16.04搭建webrtc服务器

本人查阅无数资料,历时3周搭建成功

一、服务器组成

  1. AppRTC 房间+Web服务器 https://github.com/webrtc/apprtc
  2. Collider 信令服务器,在AppRTC源码里
  3. CoTurn coturn打洞+中继服务器 
  4. Nginx 服务器,用于Web访问代理和Websocket代理。


AppRTC 房间+Web服务器使用python+js语言
AppRTC Collider信令服务器采用go语言
Coturn 采用C语言
在部署到公网时需要通过Nginx做Web和Websocket的代理连接

二、安装步骤

  1. 安装虚拟机
    1. 使用VMware虚拟机安装ubuntu 16.04 
    2. WMware安装过程中的问题及解决方法
      1. 完美解决ubuntu18.04下vi不能使用方向键和退格键
        【Linux】完美解决ubuntu18.04下vi不能使用方向键和退格键_ubuntu方向键变字母-CSDN博客
      2. Ubuntu 16.04 开启root用户和使用root用户登陆
        Ubuntu 16.04 开启root用户和使用root用户登陆_ubuntu 16.04 怎么用root登录-CSDN博客
      3. VMware虚拟机和主机间复制粘贴共享剪贴板
        VMware虚拟机和主机间复制粘贴共享剪贴板 - 知乎
  2.  准备工作
    1. 安装vim
      sudo apt‐get install vim
    2. 安装ssh
      sudo apt‐get install openssh‐server
    3. 安装ifconfig工具
      sudo apt‐get install net‐tools
      sudo apt‐get install iputils‐ping
    4. 更新源
      1. 备份source.list源
        sudo mv /etc/apt/sources.list /etc/apt/sources.list.old
      2. 执行命令打开sourcse.list文件
        sudo vim /etc/apt/sources.list
      3. 复制以下源到sources.list

        # deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ ‐ Release amd64
        (20160420.1)]/ xenial main restricted
        deb‐src http://archive.ubuntu.com/ubuntu xenial main restricted #Add

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/577056.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elcomsoft iOS Forensics Toolkit: iPhone/iPad/iPod 设备取证工具包

天津鸿萌科贸发展有限公司是 ElcomSoft 系列取证软件的授权代理商。 Elcomsoft iOS Forensics Toolkit 软件工具包适用于取证工作,对 iPhone、iPad 和 iPod Touch 设备执行完整文件系统和逻辑数据采集。对设备文件系统制作镜像,提取设备机密&#xff08…

【机器学习】集成学习:强化机器学习模型与创新能的利器

集成学习:强化机器学习模型预测性能的利器 一、集成学习的核心思想二、常用集成学习方法Bagging方法Boosting方法Stacking方法 三、集成学习代表模型与实现四、总结与展望 在大数据时代的浪潮下,机器学习模型的应用越来越广泛,而集成学习作为…

Centos7 yum报错 Could not resolve host: mirrorlist.centos.org

yum install报如下错误 应该是网络问题,检查是不是这个文件配置错了导致连不上网 /etc/sysconfig/network-scripts/ifcfg-ens33 注意里面的DNS配置 可以在服务器ping一下百度 ping wwww.baidu.com

QX2303L50F输入电压0.7V~5V输出电压5V非同步DCDC最大输出电流800mA

前言 外围较简单,价格较低,小电流输出时,最低启动电压0.8V 输出电压有多种,封装有多种 参考价格约0.2元 QX2303典型应用电路图 QX2303封装 QX2303丝印 1.概述 QX2303 系列产品是一种高效率、低纹波、工作频率高的 PFM 升压 DC-…

战胜DALL·E 3和 Midjourney的开源模型来了——playground-v2.5

这是首次超越闭源AI模型的开源时刻。Playground AI 前不久宣布Playground v2.5正式开源。Playground v2.5 是美学质量方面最先进的开源模型,特别关注增强的颜色和对比度、改进的多纵横比生成以及改进的以人为中心的精细细节。并且在美学质量方面树立了新标准&#x…

从单按键状态机思维扫描引申到4*4矩阵按键全键无冲扫描,一步一步教,超好理解,超好复现(STM32程序例子HAL库)

目前大部分代码存在的问题 ​ 单次只能对单个按键产生反应;多个按键按下就难以修改;并且代码耦合度较高,逻辑难以修改,对于添加长按,短按,双击的需求修改困难。 解决 16个按键按下无冲,并且代…

AIGC技术带来的安全与隐私问题探讨

如何看待AIGC技术? 简介:探讨AIGC技术的发展现状和未来趋势。提醒:在发布作品前,请把不需要的内容删掉。 方向一:技术应用 机遇和挑战 AIGC国内场景应用图谱 方向二:伦理与风险 垄断与隐私风险 AI民主化诉…

Linux--MyMiniTry--Vim

首先下载好vim,我们可以按以下的方式进行光标的移动(也可以回车进行换行) (--> 进入教程) (初始的时候没有文本,你怎么按都没有用) (我们要先按 i ,进行插入文本才…

前端单元测试的艺术:专业化策略与Vue项目高效实践指南

单元测试是软件开发中的基石,尤其对于前端领域,它为保证代码质量、提升开发效率、强化项目稳定性提供了不可或缺的支持。本文将深入剖析单元测试的核心理念,揭示其在前端开发中的独特价值,并提炼出一套专业且高效的实践策略&#…

全志ARM-官方库SDK安装和验证

进入界面,输入以下指令 git clone https://github.com/orangepi-xunlong/wiringOP //下载源码 cd wiringOP //进入文件夹 sudo ./build clean //清除编译信息 sudo ./build …

电容的理论基础

目录 1.电容的本质: 2.电容量的大小 2.1电容的单位 2.2电容的决定式 ​编辑3.电容的特点 5.电容器的类型 6.电容实际的电路模型 7.安装方法 ​编辑8.电容值 9.电容的耐压、封装 10.阻抗-频率特性 11.频率特性 12.等效串联电组ESR 13.电容器的温度特性…

[C++基础学习]----03-程序流程结构之选择结构详解

前言 本篇都是在自学C基础知识的基础上,加上本身理解所完成的,为了便于记录学习情况,使用更加容易理解的话术描述出来,方便使用。 在C程序中,选择结构(也称为条件结构)用于根据特定的条件执行不…

python 使用flask_httpauth和pyjwt实现登录权限控制

最近需要用到,学习了一下记录 首先安装依赖 pip install Flask-HTTPAuth pyjwt passlib Welcome to Flask-HTTPAuth’s documentation! — Flask-HTTPAuth documentation Welcome to PyJWT — PyJWT 2.8.0 documentation Passlib 1.7.4 documentation — Passl…

Unity类银河恶魔城学习记录15-1,2 p153 Audio Manager p154 Audio distance limiter

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili AudioManager.cs using System.Collections; using System.Collections.Gen…

Grafana 系列|Grafana 监控 TDengine集群

Grafana 监控 TDengine集群有两种方式: 一、 taosKeeper监控 TDengine 通过 taosKeeper 将服务器的 CPU、内存、硬盘空间、带宽、请求数、磁盘读写速度等信息定时写入指定数据库。TDengine 还将重要的系统操作(比如登录、创建、删除数据库等&#xff0…

OpenHarmony语言基础类库【@ohos.util.HashSet (非线性容器HashSet)】

HashSet基于[HashMap]实现。在HashSet中,只对value对象进行处理。 HashSet和[TreeSet]相比,HashSet中的数据无序存放,即存放元素的顺序和取出的顺序不一致,而TreeSet是有序存放。它们集合中的元素都不允许重复,但Hash…

八国语言50种海外电子游戏源码 海外游戏开发BTC虚拟币支付 外国电子游艺 游戏源码交易平台 搭建教程

全新海外版的游戏竞猜玩法带搭建教程 系统支持八国语言,50种游戏,支持 Paypal、人工充值、BTC多种支付 源码下载:https://download.csdn.net/download/m0_66047725/89105597 更多资源下载:关注我。

WEB攻防-PHP特性-CMS审计实例

前置知识&#xff1a;PHP函数缺陷 测试环境&#xff1a;MetInfo CMS 函数缺陷导致的任意文件读取 漏洞URL&#xff1a;/include/thumb.php?dir 漏洞文件位置&#xff1a;MetInfo6.0.0\app\system\include\module\old_thumb.class.php <?phpdefined(IN_MET) or exit(No…

Python用于高级异常检测和聚类的工具库之BanditPAM使用详解

概要 Python BanditPAM库是一个用于高级异常检测和聚类的工具,具有强大的特性和灵活的功能,可以发现数据中的异常点并进行有效的聚类分析。本文将详细介绍Python BanditPAM库的安装、特性、基本功能、高级功能以及总结。 安装 首先,需要安装Python BanditPAM库。 可以使用…

2024年智能手表行业线上市场销售数据分析

智能手表市场近几年随着各大厂商的加入&#xff0c;逐渐朝着专业化、智能化发展。从一开始被认为是“智商税”、“鸡肋产品”到如今可以成为人体心脑血管健康监测、专业运动测速、移动定位的“多功能电子管家”&#xff0c;智能手表市场仍在不断发展中。 根据鲸参谋数据显示&a…