srs one2one,one2many通话环境搭建

news2024/11/18 7:49:13

一、简介
二、go环境配置
三、srs编译配置
四、信令服务器编译
4.1 signaling8
4.2 web服务器
五、测试
六、附录

官⽅⽂档参考地址:https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#sfu-one-to-one
一、简介
srs的webrtc能力和两个信令服务器不管是逻辑上还是代码目录上都是分开的,两个信令服务器相当于是srs的外挂服务器。这两个服务器分别是signaling(信令)和httpx-static(web访问),代码都放在了SRS的3rdparty⽬录,需要go环境才能编译。

二、go环境配置
Go官⽹(https://golang.google.cn/dl/)

cd /usr/local/
wget https://dl.google.com/go/go1.16.5.linux-amd64.tar.gz --no-check-certificate
tar -C /usr/local -xzf go1.16.5.linux-amd64.tar.gz

配置环境变量GOROOT使得任何终端都能使用go,也就是找到go的可执行文件路径。
GOROOT 的值应该为Go语⾔的当前安装⽬录

vim /etc/profile
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
source /etc/profile

三、srs编译配置

git clone -b v4.0.123 https://gitee.com/winlinvip/srs.oschina.git
srs.4.0.123
cd srs.4.0.123/trunk
./configure
make
./objs/srs -c conf/rtc.conf

四、信令服务器编译
4.1 signaling8

cd 3rdparty/signaling
make
./objs/signaling

4.2 web服务器
这⾥需要server.crt和server.key,如果没有则⽤openssl⽣成,见附录
编译和启动httpx-static for HTTPS/WSS

cd 3rdparty/httpx-static
make
./objs/httpx-static -http 80 -https 443 -ssk server.key -ssc server.crt -proxy http://127.0.0.1:1989/sig -proxy http://127.0.0.1:1985/rtc -proxy http://127.0.0.1:8080/

1935端⼝对应的是rtmp服务
1985对应的是http api服务,官网介绍:https://github.com/ossrs/srs/wiki/v4_CN_HTTPApi
8080对应的是http-flv、hls的服务器端⼝

五、测试
在本机运行以上三个服务器
a客户端:在本机firefox运行一个web客户端
b客户端:在同网段pc的google运行另一个web客户端

srs的一对一,多对多web端demo
https://127.0.0.1/demos/
点击后可以看到链接到Signaling服务器。
请添加图片描述

一对一测试:
点击“SRS一对一通话演示”
本机:
请添加图片描述
远端:
请添加图片描述
多对多
本机:

请添加图片描述
远端:

请添加图片描述

附录:
⽣成server.key和server.crt
server.key

openssl genrsa -out server.key 2048

⽣成 server.crt

openssl req -new -x509 -key server.key -out server.crt -days 3650

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 进程基础

目录 1、进程的概念 2、进程与线程的区别、进程与程序的区别 2.1 进程与线程的区别 2.2 进程与程序的区别 3、进程相关 shell 命令 3.1 ps 3.3.1 参数说明 3.3.2 结果说明 3.2 pidof 3.3 pstree 3.4 top 3.5 kill 4、进程相关函数 4.1 fork 4.1.1 fork的函数原型…

医院内导航及智能导医,医院导诊图怎么制作?

在大型综合性医院,由于专业分工精细,一个诊疗过程涉及的功能单元往往分布在不同的楼宇、不同楼层的不同位置,再加上多数患者对医院环境不熟悉,导致滞院的时间长、诊疗效率低、患者对服务的满意度下降。为解决这一问题,…

VMware Aria Operations for Logs 8.12 - 集中式日志管理

VMware Aria Operations for Logs 8.12 - 集中式日志管理 请访问原文链接:https://sysin.org/blog/vmware-aria-operations-for-logs/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 集中式日志管理 VMware Aria …

蓝牙mesh数据包格式解析

蓝牙mesh数据包的结构如下图: 总长31个字节。 Length (1Byte):数据长度 Type (1Byte):广播类型 IVI (1bit):用来认证加密Network PDU的IV index的最低位 NID (7bits):网络ID,network ID。从网络密钥(Ne…

学习了两个多月就进了我们公司,顺利过了试用期,我心塞了...

转行起因 公司前段时间来了个大专机械专业毕业的,挺好奇他在如今这个环境下怎么进来的而且非本科非科班,后面我请他喝了一次酒,我才了解到他的故事,写出来与大家分享,希望对各位有点启迪。 他以前在一个大厂做售后工…

新来的00后真卷,我想离职了···

都说00后躺平了,但是有一说一,该卷的还是卷。 这不,前段时间我们公司来了个00后,工作没两年,跳槽到我们公司起薪20K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。…

sentinel基本原理以及核心类介绍

Sentinel 核心类解析 架构图 ProcessorSlotChain Sentinel 的核心骨架,如上图结构,将不同的 Slot 按照顺序串在一起(责任链模式),从而将不同的功能(限流、降级、系统保护)组合在一起。slot ch…

2023.05.11-利用GPT4free免费使用ChatGPT4

1. 简介 现在OpenAI,虽然出了ChatGPT4,但是只给plus会员用,对于国内的用户来说,不仅需要魔法,还需要有一张外网的信用卡来开通会员,使用起来重重不便,有一种想要花钱买服务,都找不到…

tf卡文件隐藏怎样恢复,原来有这三种方法,你了解多少呢?

TF卡是一种便携式存储设备,非常方便用于存储数据。但是,有时TF卡中的数据会被不小心隐藏了,也许是误操作,也许是病毒攻击等原因。所以,下面将讲述如何找回TF卡中被隐藏的数据。 【一】关于TF卡概述 TF卡(…

uniapp打包ios保姆式教程【最新】

uniapp打包 打包方式ios打包一、前往官网登录二、添加证书 三、添加标识符(Identifiers)四、添加安装ios测试机(Devices)五、获取证书profile文件六、生成并下载p12文件七、开始打包 打包方式 安卓打包直接使用公共测试证书即可打包成功,简单方便,这里我…

【数据库数据恢复】sql server数据库无法附加查询的数据恢复案例

数据库数据恢复环境: 一台Dell PowerEdge某型号存储,数块SAS硬盘分别组建raid1和raid5两组磁盘阵列。其中2块磁盘组建的RAID1,用于安装操作系统;其余几块磁盘组建raid5,用于存放数据。 上层安装的windows服务器&#x…

vue中动态使用vh calc设置高度

动态设置高度 <div class"user_menu_box" :style"menuHeight"><!-- 用户信息 --><div class"user_info" :class"{ menu-collase: isCollapse }"><imgsrc"/assets/login_images/bg.jpg"alt"暂无图…

【python数据分析】对python开发岗位需求进行分析可视化

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 什么是数据分析 明确目的–获得数据(爬虫&#xff0c;现有&#xff0c;公开的数据)–数据预处理——数据可视化——结论 准备 环境使用&#xff1a; 在开始写我们的代码之前&#xff0c;我们要准备好运行代码的程序 Anacon…

空中下载技术(OTA)电控信息安全

随着汽车电子控制系统功能复杂度和数据颗粒度呈阶梯式增加&#xff0c;其发展速度逐渐超越网络安全防护方法、技术和标准的发展&#xff0c;现阶段汽车电子正面临巨大的网络信息安全风险&#xff0c;对功能安全的潜在影响也仍在探索和解决中&#xff0c;信息安全问题已经成为影…

maven从入门到精通 第五章 在IDEA2023中使用Maven

这里写自定义目录标题 一 Maven基础回顾1 archetype2 指定自己的maven工程所在的位置3 接下来是用文本编辑器打开自己下载的maven文件下的 conf >settings 二 创建maven子工程1 配置环境&#xff0c;测试运行2 打包maven的三种方式2.1 点击maven左侧的lifecycle2.2 点击m标签…

苹果录屏功能在哪?苹果如何进行屏幕录制?

案例&#xff1a;想知道苹果手机和苹果电脑的录屏功能在哪&#xff1f; 【用苹果手机和电脑很久了&#xff0c;但是我还是不知道它们的录屏功能在哪&#xff0c;如何使用&#xff1f;有没有小伙伴了解苹果的录屏功能&#xff1f;可以教教我吗&#xff1f;】 苹果手机和电脑自…

copilot 逆向

原文&#xff1a; copilot-explorer | Hacky repo to see what the Copilot extension sends to the server 对我来说&#xff0c;Github Copilot 极其有用。它经常能神奇地读懂我的想法并给出有用的建议。最让我惊讶的是&#xff0c;它能够从周围的代码中正确地“猜测”出函数…

Android 音频开发——Audio概览(八)

Audio 是 Android 系统中比较重要的一个模块,在 Android 中负责音频方面的数据流传输和控制功能,也负责音频设备的管理。 一、系统架构 Android 音频架构定义了音频功能的实现方式,并指出实现中所涉及的相关源代码。 应用框架 应用框架包含应用代码,该代码使用 android.me…

【分布式】分布式共识算法 --- RAFT

2.CAP原则 CAP原则又称CAP定理&#xff0c;指的是在一个分布式系统中&#xff0c;一致性&#xff08;Consistency&#xff09;、可用性&#xff08;Availability&#xff09;、分区容错性&#xff08;Partition tolerance&#xff09; It states, that though its desirable t…

【Google I/O 2023】PaLM2 大语言模型与 Bard 使用体验

欢迎关注【youcans的学习笔记】原创作品&#xff0c;火热更新中 【Google I/O 2023】PaLM2 大语言模型与 Bard 使用体验 1. PaLM2 大型语言模型1.1 谷歌发布 PaLM21.2 PaLM2 的功能与性能 2. 基于 PaLM2 的谷歌 AI 产品2.1 智能助手 Duet AI2.2 Gmail&#xff1a;帮我写邮件2.3…