Инсталирање Нгинк-а и Нгинк-РТМП-а
Инсталирање ФФмпег
Конфигурисање Нгинк-РТМП и ФФмпег
Сигурносна напомена
Конфигурисање софтвера за рад са Нгинк-РТМП
РТМП је одличан за сервирање садржаја уживо. Када је РТМП упарен са ФФмпег, токови се могу конвертовати у различите квалитете. Вултр је одличан за ове апликације јер пружају брзе и наменске перформансе процесора. Вултрова глобална мрежа такође осигурава да можете испоручити висококвалитетан садржај уживо са минималним кашњењем. Хајде да почнемо!
Инсталирање Нгинк-а и Нгинк-РТМП-а
Инсталирајте алате потребне за компајлирање Нгинк-а и Нгинк-РТМП-а из извора.
sudo yum install pcre pcre-devel openssl openssl-devel zlib zlib-devel -y
Направите радни директоријум и пређите на њега.
mkdir ~/working
cd ~/working
Преузмите Нгинк и Нгинк-РТМП изворе.
wget http://nginx.org/download/nginx-1.9.7.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
Инсталирајте распаковани пакет.
sudo yum install unzip
Извуците Нгинк и Нгинк-РТМП извор.
tar -xvf nginx-1.9.7.tar.gz
unzip v1.2.1.zip
Пребаците се на Нгинк директоријум.
cd nginx-1.9.7
Додајте модуле за компајлирање у Нгинк. Нгинк-РТМП је укључен.
./configure --add-module=../nginx-rtmp-module-1.2.1/
Компилирајте и инсталирајте Нгинк са Нгинк-РТМП.
make
sudo make install
Направите СистемД јединичну датотеку за Нгинк.
sudo nano /usr/lib/systemd/system/nginx.service
Попуните датотеку следећим садржајем.
[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
Покрените и омогућите Нгинк услугу.
sudo systemctl start nginx.service
Реците СистемД-у да аутоматски покрене Нгинк услуге при покретању.
systemctl enable nginx.service
Инсталирање ФФмпег
Инсталирајте epel-releaseи ажурирајте систем.
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
Инсталирајте Нук спремиште.
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
Инсталирајте ФФмпег и његове развојне пакете.
sudo yum install ffmpeg ffmpeg-devel -y
Конфигурисање Нгинк-РТМП и ФФмпег
Отворите Нгинк конфигурациону датотеку.
sudo nano /usr/local/nginx/conf/nginx.conf
Додајте следеће у конфигурацију.
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
}
application live360p {
live on;
record off;
}
}
}
Након што додате тај конфигурациони текст, можете да прилагодите подешавања као што су брзина преноса видеа, аудио брзина и резолуција. Ове промене ће се применити само на стрим нижег квалитета. Да бисте додали више квалитета, копирајте и налепите екец ФФмпег линију и промените подешавања. Такође ћете морати да креирате нову апликацију. То можете учинити тако што ћете копирати и налепити ливе360 пример који је укључен. Не заборавите да ажурирате екец ФФмпег линију адресом нове апликације. То можете да урадите тако што ћете променити коначну РТМП адресу у линији екец ФФмпег.
Напомена: Промена вредности после -b:vће променити брзину видео записа. Ово се мери у килобитима у секунди. Промена вредности после -b:aће променити брзину звука. Ово се мери у килобитима у секунди. Промена вредности после -sће променити резолуцију.
Сачувајте датотеку притиском на CTRL+ X.
Поново покрените Нгинк.
sudo service nginx restart
Напомена: За најбоље перформансе, сваки ток који се конвертује треба да има сопствено ЦПУ језгро. На пример, ако се два квалитета, 360П и 480П, креирају из тока од 720П, треба користити Вултр инстанцу са најмање два ЦПУ језгра.
Сигурносна напомена
Ако користите заштитни зид, мораћете да се уверите да TCP 1935је дозвољено.
Тренутна конфигурација омогућава свакоме да стримује на ваш сервер. Ово можемо поправити тако што ћемо само одређеним ИП адресама дати дозволу за објављивање. Отворите Нгинк конфигурацију.
sudo nano /usr/local/nginx/conf/nginx.conf
Потражите следеће редове.
live on;
record off;
Додајте следеће у сваки скуп горњих редова. Промените 0.0.0.0своју стварну ИП адресу.
allow publish 127.0.0.1;
allow publish 0.0.0.0;
deny publish all;
Конфигурација ће сада изгледати отприлике овако.
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
allow publish 127.0.0.1;
allow publish 0.0.0.0;
deny publish all;
exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
}
application live360p {
live on;
record off;
allow publish 127.0.0.1;
allow publish 0.0.0.0;
deny publish all;
}
}
}
Сачувајте датотеку притиском на CTRL+ X.
Поново покрените Нгинк.
sudo service nginx restart
Конфигурисање софтвера за рад са Нгинк-РТМП
Апликације за стримовање обично имају два поља за информације о вези. Прво поље је обично за информације о серверу, а друго поље је обично за назив тока или кључ. Наведене су информације које треба да ставите у свако поље. Назив тока или кључ се може подесити на било шта.
Field 1: rtmp://your.vultr.ip/live/
Field 2: stream-key-you-set
Да бисте видели стримове, отворите следеће везе у плејеру који подржава РТМП.
rtmp://your.vultr.ip/live/stream-key-you-set
rtmp://your.vultr.ip/live360p/stream-key-you-set