Kurento 安裝指南-Kurento學習(三)

在這裏插入圖片描述

安裝指南

Kurento媒體服務器(KMS)可以多種方式安裝

在Amazon Web Services(AWS)雲服務中使用EC2實例。對於那些不想爲正確配置服務器和所有軟件包而煩惱的用戶,建議使用AWS,因爲提供的安裝程序會自動完成所有這一切。
使用Kurento團隊提供的Docker圖像。Docker images允許在任何主機上運行Kurento,例如可以在Fedora或CentOS系統上運行KMS。從理論上講,在Windows下運行也是可能的,但到目前爲止,這種可能性還沒有被探索出來,所以您將承擔自己的風險。
在任何Ubuntu機器上使用apt-get-install進行本地安裝。此方法允許對安裝過程進行完全控制。除了安裝KMS外,通常還需要安裝STUN或TURN服務器,特別是當KMS或其任何客戶端位於NAT防火牆後面時。
如果您想嘗試夜間構建KMS,那麼請轉到安裝夜間構建的部分。

亞馬遜網絡服務

Kurento項目提供了一個AWS雲信息模板文件。它可以用來創建一個EC2實例,該實例提供了運行KMS所需的一切,並且完全預先配置,包括一個Coturn服務器。

請注意,此模板是專門爲部署在默認Amazon虛擬私有云(Amazon VPC)網絡上而定製的。你需要一個Amazon VPC來部署這個模板。

按照以下步驟使用:

1.訪問AWS CloudFormation控制檯。
2.單擊創建堆棧。
3.查找部分選擇模板,然後選擇指定Amazon S3模板URL選項。然後,在啓用的文本字段中,粘貼以下URL:

https://s3-eu-west-1.amazonaws.com/aws.kurento.org/KMS-Coturn-cfn-6.13.0.yaml  

4.執行配置嚮導的步驟:

4.1條。堆棧名稱:堆棧的描述性名稱。

4.2條。InstanceType:爲實例選擇適當的大小。檢查不同的。

4.3條。KeyName:您需要事先創建一個RSA密鑰才能訪問該實例。查看AWS文檔瞭解如何創建一個。

4.4條。SSHLocation:出於安全原因,您可能需要限制SSH通信量,以便只允許來自特定位置的連接。例如,從你的家或辦公室。

4.5條。TURN User:TURN服務器的用戶名。

4.6條。TURN Password:使用TURN服務器所需的密碼。

註釋

模板文件包含Coturn作爲TURN服務器。此服務器的默認用戶/密碼爲kurento/kurento。您可以選擇更改用戶名,但請確保更改默認密碼。

5.完成堆棧創建過程。等待新創建的堆棧的狀態讀取CREATE COMPLETE。
6.選擇堆棧,然後打開Outputs選項卡,在其中可以找到實例的公共IP地址和應用程序服務器必須使用的Kurento媒體服務器終結點URL。

Docker鏡像

Kurento的Docker Hub包含從每個KMS版本構建的鏡像。只需進入kurento媒體服務器Docker Hub頁面,然後按照您在那裏找到的說明進行操作。

本地安裝

使用此方法,您將從Kurento項目提供的本地Ubuntu包存儲庫安裝Kurento媒體服務器。KMS明確支持Ubuntu 16.04(Xenial)和Ubuntu 18.04(Bionic)(僅64位)兩個長期支持(LTS)版本。

要安裝KMS,請從乾淨的計算機啓動(尚未安裝KMS)。

註釋

要卸載Kurento,可以發出以下命令:

sudo aptitude remove kurento-media-server

我們建議使用aptitude卸載軟件包,因爲它有更好的刪除算法,而且它確實刪除了與Kurento一起安裝的所有依賴項。apt get沒有。

打開終端,跟着執行下面的步驟:
1.Make sure that GnuPG is installed.

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

2.Define what version of Ubuntu is installed in your system.

Run only one of these lines:

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

3.Add the Kurento repository to your system configuration.

Run these two commands in the same terminal you used in the previous step:

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

4.Install KMS

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

這將安裝KMS版本。

服務器包含與Ubuntu init系統集成的服務文件,因此您可以使用以下命令來啓動和停止它:

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

STUN and TURN servers

如果Kurento媒體服務器,其應用服務器,或任何客戶機被定位在NAT的後面,您需要使用一個Stun或一個Turn服務器來實現NAT Throssaul。在最多的案例中,Stun有效地解決了NAT Issue with most consumer network devices(“Routers”)。然而,它並不是爲許多公司網絡工作,因此轉換服務器是必要的。

從這個角度看,您需要在您的系統配置中打開所有UDP端口,因爲Stun會使用任何隨機端口,從整個[0-65535]範圍。

註釋
TURN提供的特性是STUN提供的特性的超集。這意味着如果您已經在使用TURN服務器,則不需要配置STUN服務器

STUN Server

要在KMS中配置STUN服務器,請在打開WebRtcEndpoint 配置文件以下幾行的註釋, 文件在 /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini:;

stunServerAddress=<serverIp>
stunServerPort=<serverPort>

註釋
Be careful since comments inline (with 😉 are not allowed for parameters in the configuration files. Thus, the following line is not correct:

stunServerAddress=<serverIp> ; Only IP addresses are supported

… and must be changed to something like this:

; Only IP addresses are supported
stunServerAddress=<serverIp>

The parameter serverIp should be the public IP address of the STUN server. It must be an IP address, not a domain name.

It should be easy to find some public STUN servers that are made available for free. For example:

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

TRUN server

爲了配置一個TRUN 服務在KMS中,請將WebRtcEndpoint 配置文件中的以下幾行註釋打開,文件路徑 /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini:

turnURL=<user>:<password>@<serverIp>:<serverPort>

參數server IP應該是TURN服務器的公共IP地址。它必須是IP地址,而不是域名。

參見下面的Turn配置示例:

turnURL=kurento:[email protected]:3478

…或使用免費訪問Numb TURN/STUN服務器:

turnURL=user:[email protected]:3478

請注意,在網絡上找到免費的STUN服務器有點容易,因爲它們的功能非常有限,讓它們免費工作並不昂貴。然而,TURN服務器不會發生這種情況,TURN服務器充當對等端之間的媒體代理,因此維護一個服務器的成本要高得多。

很少能找到一個提供良好性能而免費工作的TURN服務器。通常,每個用戶都選擇維護自己的私有TURN服務器實例。

Coturn是TURN/STUN服務器的開源實現。在FAQ部分,有一個關於如何安裝和配置它的描述。

檢查您的安裝

要驗證Kurento進程是否已啓動並正在運行,請使用此命令並查找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

除非另行配置,否則KMS將偵聽IPv6端口8888,以通過Kurento協議接收RPC請求併發送RPC響應。使用此命令驗證此端口是否打開並偵聽傳入的數據包:

$ sudo netstat -tupln | grep -e kurento -e 8888
tcp6  0  0  :::8888  :::*  LISTEN  7688/kurento-media-

您可以在/etc/kurento/kurento.conf.json文件中更改這些參數。

最後,您可以檢查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++服務器是否已經啓動,並在監聽連接。如果需要,可以使用類似於healthchecker.sh的腳本(我們在Kurento Docker images中使用的腳本)自動執行此檢查。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章