Streaming Server Configuration - daniel-hong-sicis/streaming GitHub Wiki
Linux Setup
Create user
adduser sicis
passwd sicis
usermod –aG wheel sicis
==> RECONNECT Telnet Terminal
Enable NIC
nmtui -> enable enp0s3 --> ..
systemctl restart network
Install Java8, Java11 & Maven
sudo yum list java*jdk-devel
sudo yum install java-1.8.0-openjdk-devel.x86_64
sudo yum list java*jdk-devel
sudo yum install java-11-openjdk-devel.x86_64
sudo alternatives --config java
==> And choose java11
sudo wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz -P /tmp
sudo tar xf /tmp/apache-maven-3.6.3-bin.tar.gz -C /opt
sudo ln -s /opt/apache-maven-3.6.3 /opt/maven
sudo nano /etc/profile.d/maven.sh
Add below
# Apache Maven Environment Variables
# MAVEN_HOME for Maven 1 - M2_HOME for Maven 2
export M2_HOME=/opt/maven
export PATH=${M2_HOME}/bin:${PATH}
And next step
sudo chmod +x /etc/profile.d/maven.sh
source /etc/profile.d/maven.sh
mvn --version
Install git
sudo yum install git
Install yum / Docker
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
Test Docker
sudo docker run hello-world
Kurento Setup
Download Docker Image & Run
sudo docker pull kurento/kurento-media-server:latest
sudo docker run --rm \
--name=kms \
-p 8888:8888/tcp \
-p 5000-5050:5000-5050/udp \
-e KMS_MIN_PORT=5000 \
-e KMS_MAX_PORT=5050 \
kurento/kurento-media-server:latest
sudo docker run --rm \
--name=kms \
-p 8888:8888/tcp \
-p 5000-5050:5000-5050/udp \
-e KMS_MIN_PORT=5000 \
-e KMS_MAX_PORT=5050 \
kms1
Open firewall
sudo firewall-cmd --zone=public --permanent --add-port=8888/tcp
sudo firewall-cmd --zone=public --permanent --add-port=5000-5050/udp
sudo firewall-cmd --zone=public --permanent --add-port=49152-65535/udp
sudo firewall-cmd --zone=public --permanent --add-port=8443/tcp
sudo firewall-cmd --zone=public --permanent --add-port=80/tcp
sudo firewall-cmd --zone=public --permanent --add-port=443/tcp
sudo firewall-cmd --zone=public --permanent --add-port=5080/tcp
sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --zone=public --permanent --add-port=8180/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --zone=public --list-all
Run Kurento Example
git clone https://github.com/Kurento/kurento-tutorial-java.git
cd kurento-tutorial-java/kurento-player
git checkout master
mvn -U clean spring-boot:run
mvn -U clean spring-boot:run \
-Dspring-boot.run.jvmArguments="-Dkms.url=ws://localhost:8888/kurento"
NodeJS setup
sudo yum install epel-release
sudo yum -y install nodejs
sudo npm install -g bower
sudo npm install -g http-server
Run kurento NodeJS Example
sudo git clone https://github.com/lulop-k/kurento-rtsp2webrtc.git
run 'http-server'
http://192.168.56.102:8080/index.html?ws_url=ws://192.168.56.102:8888/kurento
http://localhsot:8080/index.html?ws_url=ws://192.168.56.102:8888/kurento
Install coturn
sudo docker pull coturn/coturn
(reference) : https://hub.docker.com/r/instrumentisto/coturn
[run]
docker run -d -p 3478:3478 -p 49160-49200:49160-49200/udp \
instrumentisto/coturn -n --log-file=stdout \
--external-ip='$(detect-external-ip)' \
--min-port=49160 --max-port=49200docker pull
About TURN Server
[1] https://blog.bumnyeong.com/2020/05/turn-coturn.html
[2] https://gabrieltanner.org/blog/turn-server
[3] https://dev.to/kevin_odongo35/how-to-configure-a-turn-server-3opd
[4] https://www.webrtc-experiment.com/docs/TURN-server-installation-guide.html#centos
[5] https://stackoverflow.com/questions/47304382/no-remote-stream-using-kurento-docker-image-with-kurento-hello-world-example-on
[6] https://www.w3.org/TR/webrtc/#simple-peer-to-peer-example
[7] https://anyconnect.com/stun-turn-ice/