欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用Kurento框架构建Java客户端的WebRTC应用程序(一)

程序员文章站 2022-07-05 11:34:39
...

第一步: 安装Kurento媒体服务器

KMS明确支持Ubuntu的两个长期支持(LTS)发行版:Ubuntu 14.04(Trusty)Ubuntu 16.04(Xenial)仅支持64位版本。

目前,KMS的主要开发环境是Ubuntu 16.04(Xenial)。

本地安装(Ubuntu 16.04)

1. 打开一个终端并复制以下命令:

#KMS for Ubuntu 16.04(Xenial)
DISTRO = “xenial”

2. 在上一步中使用的相同终端中运行这两个命令,将Kurento存储库添加到您的系统配置中。

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.7.1 $DISTRO kms6
EOF

3. 安装KMS:

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

使用以下命令来启动和停止它:

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

STUN和TURN服务器

如果Kurento媒体服务器部署在NAT后面的话,就需要STUN和 TURN来提供穿透服务。大部分情况下使用STUN就够了,TURN仅在对称NAT的情况下使用。

STUN服务器

如果要在KMS中配置STUN服务器,请取消注释位于以下位置的WebRtcEndpoint配置文件中的以下行:

/etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini:

stunServerAddress=<serverIp>
stunServerPort=<serverPort>

参数serverIp应该是STUN服务器的IP地址而不是域名,可以找到如下一些免费的公共STUN服务器:

173.194.66.127:19302
173.194.71.127:19302
74.125.200.127:19302
74.125.204.127:19302
173.194.72.127:19302
74.125.23.127:3478
77.72.174.163:3478
77.72.174.165:3478
77.72.174.167:3478
77.72.174.161:3478
208.97.25.20:3478
62.71.2.168:3478
212.227.67.194:3478
212.227.67.195:3478
107.23.150.92:3478
77.72.169.155:3478
77.72.169.156:3478
77.72.169.164:3478
77.72.169.166:3478
77.72.174.162:3478
77.72.174.164:3478
77.72.174.166:3478
77.72.174.160:3478
54.172.47.69:3478

使用vim或者gedit进入上述文件,进行如下修改:(使用sudo指令可以实现编辑保存

stunServerAddress= 77.72.169.166
stunServerPort=3478

TURN服务器

如果要在KMS中配置TURN服务器,请取消注释位于以下位置的WebRtcEndpoint配置文件中的以下行:

/etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini:

turnURL = <用户>:<密码> @ <serverIp>:<serverPort>

可进行如下修改:

turnURL = user:aaa@qq.com:3478

检查安装

要验证KMS已启动并正在运行,请使用此命令并查找kurento-media-server过程:

ps -ef | grep kurento-media-server

> nobody  1270  1  0 08:52 ?  00:01:00  /usr/bin/kurento-media-server

除非另行配置,否则KMS将打开端口8888以接收请求并通过Kurento协议发送响应使用此命令验证此端口是否侦听传入数据包:

sudo netstat -tupan | grep kurento

> tcp6  0  0 :::8888  :::*  LISTEN  1270/kurento-media-server

第二步: 配置运行环境

1.获取示例代码需要用到Git,可以通过以下命令安装:

sudo apt-get install git

2.运行示例代码需要用到Maven 3.0以上版本和JDK 7以上的版本。Maven可以通过以下命令安装:

sudo apt-get install maven
3. JDK可以下载压缩文件传到Linux下,这里下载了jdk-8u152-linux-x64.tar.gz 版本

解压 JDK 到 /usr/lib/jvm

sudo tar zxvf jdk-8u152-linux-x64.tar.gz -C /usr/lib/jvm

设置环境变量

sudo gedit /etc/profile

在打开的文件的末尾输入

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_152
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"  
export PATH="$JAVA_HOME/bin:$PATH

设置系统默认JDK

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_152/bin/java 300  
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_152/bin/javac 300  
sudo update-alternatives --config java

验证JDK

java -version

第三步: Hello World

1.首先从github上获取代码(如果已经获取可以跳过,获取的代码已经包括后面的示例代码了)

git clone https://github.com/Kurento/kurento-tutorial-java.git

2. 进入目录,编译执行

cd kurento-tutorial-java / kurento -hello-world
git checkout 6.7.1
mvn clean compile exec:java -Dkms.url = ws:// localhost:8888 / kurento

3.  使用符合WebRTC的浏览器(Chrome,Firefox)打开演示页面:https:// localhost:8443 /

4.  点击开始开始演示

5.  授予访问您的摄像头

6.  协商并建立回送连接,您应该在本地和远程占位符中看到您的网络摄像头视频

7.  点击停止完成演示

成功运行应该看到这样的画面:

使用Kurento框架构建Java客户端的WebRTC应用程序(一)

官网参考文档(html):http://doc-kurento.readthedocs.io/en/stable/

官网参考文档(pdf):doc-kurento.pdf