Vivoh Webinar Manager Server
CONFIG FORMAT TIPS:
ADMINISTRATOR = admin:!1Abc88888888
CERTIFICATES = /etc/vivoh/vwm/privkey.pem,/etc/vivoh/vwm/fullchain.pem,/etc/vivoh/vwm/chain.pem
WEBCAST_FALLBACK_URL = https://vivoh.com
FAILOVERS = https://vivoh.acme.com
BROADCASTER = /usr/local/vivoh/encoder/bin/run.sh
PORT = 443
VERBOSE = 1
ADMIN_PORT = 8443
NODE_ENV = production
OPTIONAL: update /usr/local/vivoh/encoder/bin/run.sh to sleep 2 and retry the encoder to enable reconnections after a RTMP source failure.
Vivoh Video Server
Create: /etc/vivoh/vvs/vvs.json as:
{
"player": 4040,
"auth": {
"api" : true,
"api_user": "admin",
"api_pass": "!1Abc88888888"
},
"rtmp": {
"port": 1935,
"chunk_size": 60000,
"gop_cache": true,
"ping": 30,
"ping_timeout": 60
},
"http": {
"port": 7777,
"mediaroot": "/home/vivoh",
"allow_origin": "*"
},
"relay": {
"ffmpeg": "/usr/bin/ffmpeg",
"tasks": [ {
"app": "live",
"mode": "pull",
"change-me-edge": "rtmps://vvs2.vivoh.io:443"
} ]
},
"trans": {
"ffmpeg": "/usr/bin/ffmpeg",
"tasks": [
{
"app": "live",
"hls": "true",
"hlsFlags": "[hls_time=2:hls_list_size=3:hls_flags=delete_segments]",
"hlsKeep": "false"
}
]
}
}
Create Vivoh Video Server systemctrl script at /etc/systemd/system/vvs.service
[Unit]
Description=Vivoh Video Server
[Service]
Type=simple
Restart=always
RestartSec=1
ExecStart=/usr/local/vivoh/vivoh-video-server /etc/vivoh/vvs/vvs.json
[Install]
WantedBy=multi-user.target
Enable Vivoh Video Server via: systemctl enable vvs then systemctl start vvs
Create CERT
certbot certonly -d vvs.vivoh.io
sudo touch /etc/haproxy/all.pem
sudo chmod 777 /etc/haproxy/all.pem
sudo cat /etc/letsencrypt/live/vvs.vivoh.io/fullchain.pem /etc/letsencrypt/live/vvs.vivoh.io/privkey.pem >> /etc/haproxy/all.pem
sudo chmod 600 /etc/haproxy/all.pem
/etc/letsencrypt/live/vvs.vivoh.io/privkey.pem >> /etc/haproxy/all.pem
HAProxy configuration (expected at /etc/haproxy/haproxy.cfg)
frontend rtmps
mode tcp
timeout client 50000
bind *:1936 ssl crt /etc/haproxy/all.pem
default_backend rtmp
frontend https_admin
mode tcp
timeout client 50000
bind *:1111 ssl crt /etc/haproxy/all.pem
default_backend http_admin
frontend https_player
mode tcp
timeout client 50000
bind *:8080 ssl crt /etc/haproxy/all.pem
default_backend http_player
backend rtmp
mode tcp
timeout connect 60
timeout server 50000
server self *:1935
backend http_admin
mode tcp
timeout connect 60
timeout server 50000
server self *:7777
backend http_player
mode tcp
timeout connect 60
timeout server 50000
server self *:4040
Restart: sudo systemctl restart haproxy
https://vvs.vivoh.io:1111/live/test/index.m3u8
https://vvs.vivoh.io:1111/admin (admin,!1Abc88888888)
https://vvs.vivoh.io:8080/player (hard coded test)
ffmpeg -stream_loop -1 -re -i /tmp/adena.mp4 -c:a aac -ar 48000 -b:a 128k -c:v h264 -profile:v main -crf 20 -g 48 -keyint_min 48 -sc_threshold 0 -b:v 2500k -maxrate 2675k -bufsize 3750k -f flv rtmp://vivoh-origin.vivoh.io/live/test
sudo apt-get install openssh-server