Construire le serveur nginx-1.18.0 + rtmp sous Ubuntu 18.04

Pour créer une plate-forme de diffusion en direct récemment, vous devez créer des serveurs sous Linux et Windows séparément, et utiliser deux blogs pour enregistrer le processus de construction

  1. Téléchargez et installez les outils de dépendance de compilation nginx et nginx-rtmp-module
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
  1. Créer un répertoire de travail
mkdir nginx
cd nginx
  1. Téléchargez le code source de nginx et nginx-rtmp-module
#下载nginx源码并解压
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
#下载nginx-rtmp-module源码
git clone https://github.com/arut/nginx-rtmp-module.git
  1. Compilez et installez nginx
cd nginx-1.18.0
./configure --add-module=../nginx-rtmp-module --with-http_ssl_module #将rtmp模块编译到nginx
make
make install #或 sudo make install
  1. Démarrer le service nginx
sudo systemctl start nginx
#不出意外,会报下面的错误
Failed to start nginx.service: Unit nginx.service not found

Ajouter nginx à systemctl

cd /usr/lib/systemd/
sudo mkdir system #如果存在该目录直接进入,不存在创建
cd system
sudo touch nginx.service
sudo vi nginx.service

Ajoutez ce qui suit

[Unit]

Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target
 
 
[Service]
 
Type=forking
WorkingDirectory=/usr/local/nginx               #此处位置为你的nginx安装目录,根据实际情况进行更改(删掉)
ExecStart=/usr/local/nginx/sbin/nginx           #此处位置为你的nginx安装目录中的nginx可执行文件位置,根据实际位置进行更改(删掉)
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
 
 
[Install]
 
WantedBy=multi-user.target
#使文件生效
sudo systemctl daemon-reload
  1. Redémarrez le service nginx
sudo systemctl start nginx

Entrez l'adresse IP du serveur dans le navigateur, le contenu familier suivant apparaît
Insérez la description de l'image ici

  1. Ajoutez la configuration du module rtmp dans le fichier de configuration et démarrez le service rtmp
#进入nginx安装目录的conf目录下修改配置文件
cd /usr/local/nginx/conf/
sudo vi nginx.conf
sudo vi nginx.conf.default

Ajoutez le contenu suivant (les deux fichiers doivent être ajoutés)

rtmp {
    
    
    server {
    
    
        listen 1935;

        application rtmplive {
    
    
            live on;
            max_connections 1024;
        }
    }
}
  1. Redémarrez le serveur nginx
sudo systemctl restart nginx
  1. Diffusion FFmpeg
ffmpeg -f dshow -i video="USB2.0 Camera" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://nginx server IP:1935/rtmplive/123

Insérez la description de l'image ici

  1. Flux de tirage VLC
    Insérez la description de l'image ici
    Insérez la description de l'image ici
  2. Arrêtez le serveur
sudo systemctl stop nginx

Articles de référence:
[1]. Ajouter Nginx à systemctl et chkconfig pour la gestion
[2]. Serveur cloud (ubuntu) build serveur nginx-rtmp pour réaliser la fonction de diffusion en direct (opération de ligne de commande pure)
[3]. Build serveur Ubuntu Nginx + Rtmp (Présentation graphique)

S'il y a une infraction, veuillez contacter pour la supprimer. S'il y a une erreur, veuillez me corriger, merci

Je suppose que tu aimes

Origine blog.csdn.net/xiao_ma_nong_last/article/details/110806441
conseillé
Classement