Kurento多对多webrtc会议搭建测试

这篇具有很好参考价值的文章主要介绍了Kurento多对多webrtc会议搭建测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境ubuntu18.04
KMS版本6.13.0
多对多通信demo7.0.0

KMS运行起来后,通过运行它的一个个demo,来实现不同的功能,它的demo很多如下:
https://github.com/Kurento
Kurento多对多webrtc会议搭建测试,Server,webrtc,kurento
里面有一对一,多对多,还有一些特效的demo。这里运行的是多对多通话的demo。
它的KMS可以通过apt方式安装,然后拉下来每个demo源码来跑,每个demo的介绍使用在官网都有文档,如下:
Kurento多对多webrtc会议搭建测试,Server,webrtc,kurento
建议完全按照官网的步骤运行,下面的方法包括配置一些环境问题和测试。

deviser@deviser:~/temp/KMS/kurento/tutorials/java/group-call$ which java
/usr/bin/java

根据以上地址,配置java环境变量

vim ~/.bashrc
export JAVA_HOME=/usr
export PATH=$JAVA_HOME/bin:$PATH

更换阿里云后

sudo apt-get update
sudo apt-get upgrade

查看java环境的版本

javac --version
javac 11.0.19
java --version
openjdk 11.0.19 2023-04-18
OpenJDK Runtime Environment (build 11.0.19+7-post-Ubuntu-0ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.19+7-post-Ubuntu-0ubuntu118.04.1, mixed mode, sharing)
mvn -v
Apache Maven 3.5.2
Maven home: /usr/share/maven
Java version: 11.0.19, vendor: Ubuntu
Java home: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-213-generic", arch: "amd64", family: "unix"

没有需要安装

sudo apt install openjdk-11-jdk-headless

Kurento Media Server简称KMS
安装gnupg,它是管理密钥和认证的工具,用来为后面添加KMS的源管理认证

sudo apt-get update && sudo apt-get install --no-install-recommends --yes  gnupg

根据需要添加变量,这里用的是18.04

DISTRO="xenial"  # KMS for Ubuntu 16.04 (Xenial)
DISTRO="bionic"  # KMS for Ubuntu 18.04 (Bionic) //由于使用的是Ubuntu18.04服务器,所以选择这个

添加源
```cpp
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5AFA7A83
sudo tee "/etc/apt/sources.list.d/kurento.list" >/dev/null <<EOF
# Kurento Media Server - Release packages
deb [arch=amd64] http://ubuntu.openvidu.io/6.13.0 $DISTRO kms6
EOF

安装

sudo apt-get update && sudo apt-get install --yes kurento-media-server

一些服务器命令,这里启动服务器

sudo service kurento-media-server start
sudo service kurento-media-server stop
sudo service kurento-media-server status
sudo service kurento-media-server restart //重启kms
ps -ef | grep kurento-media-server
cat /var/log/kurento-media-server/error.log //查看日志

配置coturn服务器,参考
给KMS配置coturn

cd /etc/kurento/modules/kurento/
vim WebRtcEndpoint.conf.ini
//找到下列语句先将这两句取消注释,把尖括号里的内容替换成具体的IP地址和端口号
stunServerAddress=127.0.0.1
stunServerPort=3478
//填上可用的TURN 服务器地址、端口、用户名和密码(另见ubuntu18.04下安装coturn穿透服务器)
turnURL=helloworld:helloworld@127.0.0.1:3478?transport=udp
//重新启动KMS服务
sudo service kurento-media-server restart

检查Kurento的RPC WebSocket是否正常,并且能够接收和处理消息。为此,发送一个虚拟请求并检查响应是否符合预期

curl -i -N \
     -H "Connection: Upgrade" \
     -H "Upgrade: websocket" \
     -H "Host: 127.0.0.1:8888" \
     -H "Origin: 127.0.0.1" \
     http://127.0.0.1:8888/kurento

返回如下

HTTP/1.1 426 Upgrade Required
Connection: close Server:
WebSocket++/0.7.0

git clone https://github.com/Kurento/kurento.git
cd kurento/tutorials/java/group-call/
git checkout 7.0.0//相当于KMS6配7的demo了,用官网的源拉不下来7的KMS,许是我环境的问题
sudo mvn -U clean spring-boot:run//这里用了sudo,不用发现报错

关闭防火墙,开通tcp和udp的8888端口,KMS默认监听8888端口。
用firefox或者chrome打开,以下网址,有安全提示忽略,选高级按钮,接受风险进入。
https://localhost:8443/

如下:
PC1:其中大的是远端PC2的视频,小的是本地
Kurento多对多webrtc会议搭建测试,Server,webrtc,kurento
PC2:其中大的是远端PC1的视频,小的是本地
Kurento多对多webrtc会议搭建测试,Server,webrtc,kurento
测试发现,进入房间后,如果点击“leave room",之后再进入刚刚的房间,那么看不到本地和远端的,必须重刷新页面,再进入才能恢复。

参考:
官方文档
阿里云服务器(Ubuntu18.04版本)中安装Kurento流媒体服务器

Kurento的维护人员基于Kurento开发了商业的方案,叫OpenVidu,它较Kurento更容易上手,部署,其功能包含视频电话,视频课堂,视频会议等。其demo可以在以下连接体验,在两个pc上打开浏览器即可测试。
OpenVidu_demo
但这个服务分为免费和付费的。如下:
Kurento多对多webrtc会议搭建测试,Server,webrtc,kurento
以上测试只用两个浏览器,但我们用的server其实是官网的server。想要自己部署到本地可参考如下教程。包括流媒体服务器,信令服务器,客户端等。
OpenVidu文章来源地址https://www.toymoban.com/news/detail-720748.html

Kurento多对多webrtc会议搭建测试,Server,webrtc,kurentoKurento多对多webrtc会议搭建测试,Server,webrtc,kurentoKurento多对多webrtc会议搭建测试,Server,webrtc,kurento

到了这里,关于Kurento多对多webrtc会议搭建测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • EFCore-13 多对多关系配置

    学生与老师的关系,是一个常见的多对多的关系模型,一个老师有多个学生,一个学生也可能有多个老师。关系模型图如下所示: 学生1的老师为老师1、老师2 学生2的老师为老师2、老师3 学生3的老师为老师1、老师2、老师3 下面用程序实现这样的关系模型。 新建一个控制台应

    2024年02月12日
    浏览(42)
  • MySQL表设计思路(一对多、多对多...)

    要开始单独负责需求了,捋一捋表设计的思路。 字符串类型 varchar:即variable char ,可边长度的字符串,会根据实际数据的长度动态分配空间,以节省空间,如varchar(10)存jack,则只给4字节 char:定长字符串,最大255 字符 。不论实际数据长度都以定长空间存储,使用不当容易浪

    2024年02月07日
    浏览(40)
  • hibernate 一对一 一对多 多对多

    User 实体类 Address 实体类 测试 User实体类 Vlog实体类 测试 测试 mappedby : 属性指向实体关联表的拥有者,声明在被拥有者。 简单说就是另一边定义了关联规则,这边不用再定义一遍了,直接引用就行。 @JoinColumn : 外键列 在一对一中 @JoinColumn 声明在那个实体类中,生成数据库表

    2024年02月13日
    浏览(50)
  • mediasoup webrtc音视频会议搭建

    拉下源码: https://github.com/versatica/mediasoup-demo 源码里有以下目录其中,app网页的界面终端,broadcasters是广播,也就是他支持我们用ffmpeg推流上去给所有的成员广播,server是流媒体服务器。 源码包含了,https服务器用于浏览器获取界面,信令服务器用于房间管理,和流媒体服务

    2024年02月05日
    浏览(45)
  • queryWrapper处理一对一,一对多,多对多

    是的,定义一个 BankUser 对象时,通常需要在其内部定义一个 BankCard 字段来表示其与 bank_card 表的关联关系。 例如,在 BankUser 类中定义一个 BankCard 对象作为其属性:```java ``` 然后,在查询 BankUser 对象时,需要使用 LEFT JOIN 将 bank_user 和 bank_card 表进行关联,并使用 select 方法指

    2024年02月04日
    浏览(50)
  • MySQL-多表设计-一对一&多对多

    案例:用户 与身份证信息 的关系 关系:一对一关系, 多用于单表拆分 ,将一张表的基础字段放在一张表中,其它字段放在另一张表中,以提高操作效率 实现: 在任意一方加入外键,关联另一方的主键,并且设计外键为唯一的(unique) 具体代码及运行结果如下:   上述的

    2024年02月16日
    浏览(48)
  • 杨中科 .NETCORE EFCORE第七部分 一对一,多对多

    1、builder.HasOne(o =o.Delivery).WithOne(d=d.Order).HasForeignKey(d=dOrderId); 2、测试插入和获取数据 示例 新建 Order 新建 Delivery DeliveryConfig OrderConfig 执行 迁移命令 查看数据库 测试数据插入 运行查看数据 1、多对多:老师一学生 2、EF Core 5.0开始,才正式支持多对多 3、需要中间表,举例数据

    2024年01月17日
    浏览(45)
  • python#django数据库一对一/一对多/多对多

    搭建 # 一对一 class   TestUser(models.Model):     username=models.CharField(max_length=32)     password = models.CharField(max_length=32) class TestInfo(models.Model):     mick_name=models.CharField(max_length=32)     user=models.OneToOneField(to=TestUser,on_delete=models.CASCADE()#on_delete 删除的模式 CASCADE 级联删除 让后执行数

    2024年02月14日
    浏览(78)
  • MyBatis 的关联关系配置 一对多,一对一,多对多 关系的映射处理

    目录 一.关联关系配置的好处  二. 导入数据库表:  三.    一对多关系:--    一个订单对应多个订单项        四.一对一关系:---一个订单项对应一个订单 五.多对多关系(两个一对多)          MyBatis是一个Java持久化框架,可以 通过XML或注解的方式 将对象与数据库

    2024年02月11日
    浏览(64)
  • vue手写多对多关联图,连线用leader-line

    效果如图  鼠标滑动效果 关联性效果      

    2024年02月13日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包