我在另一台计算机上运行ffmpeg进行屏幕捕获。我希望能够停止它的远程录制。FFMPEG要求按q停止编码,因为它必须进行一些最终确定才能完全整理文件。我知道我可以使用kill / killall杀死它,但这可能会导致视频损坏。
Press [q] to stop encoding
我在Google上找不到专门用于此目的的任何东西,但是有人建议将回显到/ proc // fd / 0起作用。
我已经尝试过了,但是它并没有停止ffmpeg。但是,q显示在运行ffmpeg的终端中。
echo -n q > /proc/16837/fd/0
那么,如何将字符发送到另一个现有进程中,就像在本地键入一样?还是有另一种方法可以干净地远程停止ffmpeg。
至少在Ubuntu Oneiric上,较新版本的ffmpeg不再使用“ q”,而是说按Ctrl + C停止它们。因此,对于较新的版本,您可以简单地使用“ killall -INT”向其发送SIGINT而不是SIGTERM,它们应该干净退出。