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
- 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
- Créer un répertoire de travail
mkdir nginx
cd nginx
- 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
- 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
- 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
- Redémarrez le service nginx
sudo systemctl start nginx
Entrez l'adresse IP du serveur dans le navigateur, le contenu familier suivant apparaît
- 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;
}
}
}
- Redémarrez le serveur nginx
sudo systemctl restart nginx
- 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
- Flux de tirage VLC
- 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