kurento是一个开源的webrtc mcu服务器,按官方的文档,建议在ubtntu上安装,过程如下:

注:建议先切换到root身份,如果不是root身份登录的,下列命令,请自行加上sudo . 另:kurento 6.10版,要求ubtntu最低版本为16.04,低版本的安装将出错。

1、安装gunpg

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

2、确定ubuntu版本

cat /etc/issue
Ubuntu 18.04.2 LTS \n \l #输出

3、设置变量(根据上一步的结果 ,下面2行选1行执行)

# Run ONLY ONE of these lines:
DISTRO="xenial" # KMS for Ubuntu 16.04 (Xenial)
DISTRO="bionic" # KMS for Ubuntu 18.04 (Bionic)

4、添加key

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5AFA7A83

5、设置kurento.list

tee "/etc/apt/sources.list.d/kurento.list" >/dev/null <<EOF
# Kurento Media Server - Release packages
deb [arch=amd64] http://ubuntu.openvidu.io/6.10.0 $DISTRO kms6
EOF

注:这一步的作用,实际就是在"/etc/apt/sources.list.d/kurento.list" 这个文件中,追加一行deb [arch=amd64] http://ubuntu.openvidu.io/6.10.0 $DISTRO kms6。

执行时,terminal终端中,按顺序把上面4行,都复制进去就行(注:1个字符都不要少)

6、安装kurento media server

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

7、启动/停止

sudo service kurento-media-server start
sudo service kurento-media-server stop

kurento有几个重要的配置文件:

/etc/kurento/kurento.conf.json
/etc/kurento/modules/kurento/MediaElement.conf.ini
/etc/kurento/modules/kurento/SdpEndpoint.conf.ini
/etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
/etc/kurento/modules/kurento/HttpEndpoint.conf.ini
/etc/default/kurento-media-server

建议大家看看里面的内容,比如修改监听端口,配置stun/turn server地址等,都可以在里面找到答案。

另外,如果不想麻烦,只是想快速搭建一个kurento环境,也可以直接用docker部署(或直接上dockerhub)。

kurento提供了一系列详细的demo示例,github地址为:https://github.com/Kurento/kurento-tutorial-java.git, 强烈建议大家先跑跑这些hello world,有些还是蛮有意思的,比如下面这个:

通过一个人脸识别的filter,动态给人物带上一顶超级玛丽的小帽子。

如果用docker本机运行,调试tutorial代码时,要注意端口,默认情况下,这些代码连接本机8888端口,如果docker对外暴露的端口不是这个,需要在idea中参考下图修改kurento server的websocket地址:

参考:

https://doc-kurento.readthedocs.io/en/6.10.0/user/installation.html

https://doc-kurento.readthedocs.io/en/6.10.0/user/configuration.html

https://doc-kurento.readthedocs.io/en/6.10.0/user/tutorials.html

https://zhuanlan.zhihu.com/p/38585455

 

最新文章

  1. JAVA JVM虚拟机选项:Xms Xmx PermSize MaxPermSize 区别
  2. 在ANSYS WORKBENCH中使用APDL命令的例子
  3. C#二维数组
  4. 异常:Message 850 not found; No message file for product=network, facility=NL解决方案
  5. sql 分组查询及格不及格人数
  6. python 编码与解码 decode解码 encode 编码
  7. 解决iOS内存泄露
  8. HDU 4441 Queue Sequence
  9. BZOJ 2588: Spoj 10628. Count on a tree 树上跑主席树
  10. 谈谈项目中遇到的各种iOS7适配问题
  11. Citect:How do I translate Citect error messages?
  12. 网站开发常用jQuery插件总结(五)滚动条插件nanoscroller
  13. 【Linux】鸟哥的Linux私房菜基础学习篇整理(三)
  14. Java学习笔记--Socket和ServerSocket
  15. jade模板引擎简明用法
  16. java学习笔记08-switch case语句
  17. 【Java】用注解实现分发器
  18. Installing Language Tool in TexStudio
  19. 【测量实战技术】Cad中导入坐标高程点并可以提取坐标带高程
  20. 常用正则表达式—邮箱(Email)

热门文章

  1. __doc__
  2. typescript里一些有趣的点
  3. vue的基础概念和语法01
  4. 【zabbix告警配置】zabbix服务配置邮件告警
  5. selenium元素定位方法之轴定位
  6. JMS入门Demo
  7. Java8接口新特性
  8. Java日期时间API系列7-----Jdk8中java.time包中的新的日期时间API类的特点
  9. 基于token机制鉴权架构
  10. js文件中模块化导入swiper.js文件方法