GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie stoppe ich ffmpeg aus der Ferne?

Bei der Ausarbeitung der Antwort von Sashoalm habe ich beide Szenarien getestet, und hier sind die Ergebnisse:

Meine Experimente zeigen das

killall --user $USER  --ignore-case  --signal INT  ffmpeg

Erzeugt Folgendes auf der Konsole, auf der ffmpeg ausgeführt wurde

Exiting normally, received signal 2.

Währenddessen

killall --user $USER --ignore-case --signal SIGTERM  ffmpeg

Erzeugnisse

Exiting normally, received signal 15.

Es sieht also so aus, dass ffmpeg mit beiden Signalen in Ordnung ist.

System:Debian GNU/Linux 9 (Stretch), 28.02.2020


Neuere Versionen von ffmpeg verwenden 'q' nicht mehr, zumindest unter Ubuntu Oneiric, stattdessen sagen sie, dass sie Strg + C drücken sollen, um sie zu stoppen. Bei einer neueren Version können Sie also einfach 'killall -INT' verwenden, um ihnen SIGINT anstelle von SIGTERM zu senden, und sie sollten sauber beendet werden.


Hier ist ein netter Trick, den ich entdeckt habe, als ich mit diesem Problem konfrontiert wurde:Erstellen Sie eine leere Datei (es muss keine benannte Pipe oder so etwas sein), und schreiben Sie dann 'q' hinein, wenn die Aufnahme beendet werden soll.

  1. $ auf Stopp tippen
  2. $ <./stop ffmpeg -i ... output.ext>/dev/null 2>>Capture.log &
  3. $ auf Stoppzeit warten
  4. $ echo 'q'> Stopp

FFmpeg stoppt, als hätte es 'q' vom Terminal STDIN bekommen.


Linux
  1. So stoppen Sie einen Prozess in MySQL

  2. So installieren Sie FFmpeg unter Linux

  3. Wie installiert man Ffmpeg auf Ubuntu?

  4. Wie installiere ich FFmpeg auf CentOS7 VPS?

  5. So installieren Sie FFmpeg unter Ubuntu 22.04

So führen Sie ein einfaches Screencasting unter Linux durch

So installieren Sie FFmpeg unter Debian 10

So installieren Sie FFmpeg unter Debian 11

So installieren Sie FFmpeg auf Fedora 35

So stoppen Sie einen Spam-Server

So stoppen Sie Docker-Container