一尘不染

如何远程停止ffmpeg?

linux

我在另一台计算机上运行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。


阅读 681

收藏
2020-06-07

共1个答案

一尘不染

至少在Ubuntu Oneiric上,较新版本的ffmpeg不再使用“ q”,而是说按Ctrl + C停止它们。因此,对于较新的版本,您可以简单地使用“
killall -INT”向其发送SIGINT而不是SIGTERM,它们应该干净退出。

2020-06-07