Kurento本地环回部署测试

参考文档:Kurento

安装Kurento服务器
本地安装
使用这种方法,您将从Kurento项目提供的本地Ubuntu软件包系统信息库中安装Kurento Media Server。KMS 对Ubuntu的两个长期支持(LTS)版本有明确的支持:Ubuntu 16.04(Xenial)和Ubuntu 18.04(Bionic)(仅64位)。
卸载旧版Kurento,可以发出以下命令:

sudo aptitude remove kurento-media-server

建议使用aptitude卸载软件包,因为它具有更好的删除算法,并且实际上确实删除了Kurento安装的所有依赖项。apt-get没有。
打开一个终端,然后按照下列步骤操作:

确保已安装GnuPG

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

定义系统中安装了哪个版本的Ubuntu。

仅运行以下行之一:

DISTRO="xenial"  # KMS for Ubuntu 16.04 (Xenial)
DISTRO="bionic"  # KMS for Ubuntu 18.04 (Bionic)

将Kurento存储库添加到您的系统配置中。

在上一步中使用的同一终端中运行以下三个命令

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

安装KMS:

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

该服务器包含与Ubuntu初始化系统集成的服务文件,因此您可以使用以下命令来启动和停止它:

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

查看kurento-media-server服务状态

sudo service kurento-media-server status

像这样就是跑起来了

 kurento-media-server.service - LSB: Kurento Media Server daemon
   Loaded: loaded (/etc/init.d/kurento-media-server; generated)
   Active: active (running) since Wed 2020-04-29 12:25:08 CST; 5h 16min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 27688 ExecStart=/etc/init.d/kurento-media-server start (code=exited, 
    Tasks: 39 (limit: 4419)
   CGroup: /system.slice/kurento-media-server.service
           └─27698 /usr/bin/kurento-media-server

4月 29 12:25:07 hrb systemd[1]: Starting LSB: Kurento Media Server daemon...
4月 29 12:25:07 hrb kurento-media-server[27688]:  * Start Kurento Media Server
4月 29 12:25:07 hrb kurento-media-server[27688]:  * Configure Kernel resource li
4月 29 12:25:08 hrb kurento-media-server[27688]:    ...done.
4月 29 12:25:08 hrb systemd[1]: Started LSB: Kurento Media Server daemon.

检查安装
要验证Kurento进程是否已启动并正在运行,请使用以下命令并查找该kurento-media-server进程:

ps -fC kurento-media-server

输出:

UID        PID  PPID  C STIME TTY          TIME CMD
kurento   7688     1  0 13:36 ?        00:00:00 /usr/bin/kurento-media-server

使用此命令来验证此端口是否已打开并正在侦听传入的数据包

sudo netstat -tupln | grep -e kurento -e 8888

输出:

tcp6  0  0  :::8888  :::*  LISTEN  7688/kurento-media-

最后,检查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 500 Internal Server Error
Server: WebSocket++/0.7.0

忽略错误行:这是一个预期的错误,因为curl它不使用Kurento协议。我们只是检查了WebSocket++服务器是否真正启动,并正在监听连接。

我使用的是JavaScript端实现(缺啥装啥)
在系统中安装Node.js,Bower和Web服务器:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g bower
sudo npm install -g http-server

需要此演示的源代码。从GitHub克隆它,然后启动Web服务器

官方文档 说明切换到6.13.0分支,我clone下来的并没有这个分支,所以我直接在master分支上操作的
也就是不需要git checkout 6.13.0这句.

git clone https://github.com/Kurento/kurento-tutorial-js.git
cd kurento-tutorial-js/kurento-hello-world
git checkout 6.13.0
bower install
http-server -p 8443 --ssl --cert keys/server.crt --key keys/server.key

这时候用浏览器访问https://localhost:8443,会发现控制台报错,wss无法连接,这是因为本地证书相关的问题.

ctrl+c关闭当前webserver

打开kurento-hello-world下的js下的index.js
修改这个地方:

{
  default:
  {
    // Non-secure WebSocket (only for localhost tests)
    //ws_uri: 'ws://' + location.hostname + ':8888/kurento',

    // Secure WebSocket (for localhost and remote tests)
    // To use this, you have to enable the "mediaServer.net.websocket.secure"
    // KMS setting in "kurento.conf.json".
    //
    // Also, note that most browsers will reject self-signed certificates for
    // Secure WebSockets connections. You have to either use a proper
    // certificate, or install your self-signed Root CA in the browser. For this
    // last option, we recommend using the tool "mkcert".
     ws_uri: 'wss://' + location.hostname + ':8433/kurento',

    ice_servers: undefined
  }
});

//ws_uri: 'ws://' + location.hostname + ':8888/kurento',的注释解开,将 ws_uri: 'wss://' + location.hostname + ':8433/kurento',注释掉.
重新启动一下webserver

http-server -p 8443 --ssl --cert keys/server.crt --key keys/server.key

这个时候应该就没问题了
Kurento本地环回部署测试_第1张图片

你可能感兴趣的:(webrtc)