4 votes

Ffmpeg continue écouter le port

Je suis en train d'essayer de configurer le serveur de restream, ffmpeg écoute sur rtmp://ip:port et envoie vers plusieurs services de streaming (youtube, twitch...etc). Le problème est que lorsque j'arrête le streaming OBS (en l'utilisant sur mon PC local), ffmpeg sur le serveur s'arrête et je dois le relancer manuellement la prochaine fois que je veux streamer. Je ne trouve pas d'option dans la documentation de ffmpeg qui permettrait à ffmpeg de continuer à écouter même si la source d'entrée est interrompue. Peut-être que je passe à côté de quelque chose dans la documentation ou qu'il est temps de créer des scripts qui redémarreront ffmpeg?

Voici la commande que j'utilise pour ffmpeg:

ffmpeg -re -listen 1 -i rtmp://i.p:1234 -c:v libx264 -preset medium -maxrate 3500k -bufsize 6000k -pix_fmt yuv420p -g 50 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmp://live-ams.twitch.tv/app/key

6voto

jb_alvarado Points 130

Lorsque vous travaillez avec Linux, vous pouvez créer un service systemd:

[Unit]
Description=ffmpeg écoute et transmet le flux
After=syslog.target network.target

[Service]
PIDFile=/tmp/ffstreamer.pid
ExecStart= /usr/local/bin/ffmpeg -re -listen 1 -i rtmp://i.p:1234 -c:v libx264 -preset medium -maxrate 3500k -bufsize 6000k -pix_fmt yuv420p -g 50 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmp://live-ams.twitch.tv/app/key

ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
User=www-data

[Install]
WantedBy=multi-user.target

Lorsque l'entrée échoue, le processus redémarre.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X