创建一个批处理文件以退出FFMPEG(Windows)

3

大家好,我正在使用这个批处理文件来捕捉我的屏幕。

ffmpeg -f dshow -i video=screen-capture-recorder -r 240001001 -q 1 lma_recording.avi

当我按下q键时,视频捕捉停止。
但是,我希望通过另一个批处理文件停止屏幕捕捉。
我尝试过这个命令:taskkill /im ffmpeg.exe,但没有成功。
有什么建议吗?

ffmpeg 标签的描述如下:有关使用 ffmpeg 命令行工具的问题应在 Super User 上提出。 - Andrew Spencer
4个回答

5
您可以使用 SendSignal 工具命令以 Ctrl-c 信号停止录制,SendSignal 已经可在以下网址下载: https://github.com/AutoSQA/SendSignal。下载并选择您的版本(x86、x64)后,就可以按如下方式使用:
sendsignal ffmpeg.exe

希望这能帮到你!

这太棒了。而且它优雅地退出了ffmpeg! - Kalaschnik

2
taskkill /im ffmpeg.exe /t /f
nephi12 的回答是正确的,但这取决于用于捕获的编解码器/容器。
使用 .avi 进行捕获可以正常工作。 我通常会将 h264 视频捕获到 .mkv 容器中,使用此命令进行处理,然后重新编码为所需格式。
另一方面,例如将 h264 视频捕获到 .mp4 中则不起作用,我认为这是因为 kill 命令不允许 ffmpeg 在捕获结束后写入 moov 原子,导致文件无法使用。

2
什么是屏幕录制器?它是替代可执行文件的输出吗?(我不熟悉FFmpeg)另外,试试这个:
taskkill /im ffmpeg.exe /t /f

/f 参数强制结束进程,/t 参数强制结束子进程。


3
对我而言,这导致了一个无法播放的损坏文件。 - Dan Sandland

0

在调用FFmpeg之前添加以下行以为您的命令窗口设置一个独特的标题:

title My Window Title

然后您可以使用 taskkill.exe 干净地终止它:

taskkill /fi "windowtitle eq My Window Title"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接