Sto eseguendo ffmpeg su un'altra macchina per l'acquisizione dello schermo. Mi piacerebbe poter interrompere la registrazione da remoto. FFMPEG richiede che q sia premuto per interrompere la codifica in quanto deve eseguire alcune finalizzazioni per completare il file in modo pulito. So che potrei ucciderlo con kill/killall tuttavia questo può portare a video corrotti.Come fermare ffmpeg da remoto?
Press [q] to stop encoding
io non riesco a trovare nulla su google appositamente per questo, ma alcuni non v'è il suggerimento che riecheggia in/proc // fd/0 funzionerà.
Ho provato questo ma non si ferma ffmpeg. Il q è comunque mostrato nel terminale in cui è in esecuzione ffmpeg.
echo -n q > /proc/16837/fd/0
Così come posso inviare un personaggio a un altro processo esistente in modo tale che è come se fosse stato digitato localmente? O c'è un altro modo per fermare remotamente ffmpeg in modo pulito.
Le versioni più recenti di ffmpeg non usano più "q", almeno su Ubuntu Oneiric, ma dicono di premere Ctrl + C per fermarli. Quindi con una versione più recente puoi semplicemente usare 'killall -INT' per inviarli SIGINT invece di SIGTERM, e dovrebbero uscire in modo pulito. – sashoalm
@satuon: Quella versione di Ubuntu è probabile che usi avconv (parte del progetto libav biforcuto). Quell'utilità ha rimosso 'q' come opzione; il principale FFmpeg ce l'ha ancora. –
Da allora ho scoperto che posso usare kill -2 per fermare ffmpeg in modo pulito. Sono ancora interessato a come simulare il tasto premuto in altre applicazioni però. – Adam