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