estoy corriendo ffmpeg en otra máquina para la captura de pantalla. Me gustaría poder detener la grabación de forma remota. FFMPEG requiere que se presione q para detener la codificación, ya que tiene que hacer una finalización para terminar el archivo limpiamente. Sé que podría matarlo con kill/killall, pero esto puede llevar a videos corruptos.Cómo detener ffmpeg de forma remota?
Press [q] to stop encoding
no puedo encontrar nada en Google específicamente para esto, pero algunos no hay sugerencia de que haciendo eco en/proc // fd/0 funcionará.
He intentado esto pero no para ffmpeg. Sin embargo, q se muestra en la terminal en la que se está ejecutando ffmpeg.
echo -n q > /proc/16837/fd/0
Entonces, ¿cómo puedo enviar un personaje a otro proceso existente de manera que sea como si hubiera sido escrito localmente? ¿O hay otra forma de detener ffmpeg remotamente?
Las versiones más nuevas de ffmpeg ya no usan 'q', al menos en Ubuntu Oneiric, en cambio dicen presionar Ctrl + C para detenerlas. Entonces, con una versión más nueva, simplemente puede usar 'killall -INT' para enviarlos SIGINT en lugar de SIGTERM, y deben salir limpiamente. – sashoalm
@satuon: Es probable que esa versión de Ubuntu use avconv (parte del proyecto bifurcado de Libav). Esa utilidad ha eliminado 'q' como una opción; FFmpeg principal todavía lo tiene. –
Desde entonces he descubierto que puedo usar kill -2 para detener ffmpeg limpiamente. Sin embargo, todavía estoy interesado en cómo simular la tecla presionada en otras aplicaciones. – Adam