我正在使用 ffmpeg 使用以下代码截取 twitch 流媒体的屏幕截图:
counter = 0
while counter <=5:
os.system('ffmpeg -i ' + stream + f' -r 0.5 -f image2 {dir_path}/output_%09d.jpg')
counter += 1
这是我第一次使用,ffmpeg
所以我认为我所需要的只是一个带有计数器的 while 循环来控制它,但它实际上需要数千张屏幕截图。有没有办法ffmpeg
在不停止整个脚本的情况下停止?
答案1
从man ffmpeg
-vframes number (output)
Set the number of video frames to output. This is an obsolete alias
for "-frames:v", which you should use instead.
基于您现有命令的示例:
ffmpeg -i <stream> -r 0.5 -frames:v 5 -f image2 output_%05d.jpg
-r 0.5
设置速率(每秒帧数),从一开始您将每 2 秒获取 1 帧。您也可以选择-ss
从不同的时间开始。
-frames:v 5
截图后您将退出5
。1
如果您在循环中执行此命令(如您的示例所示),您还可以使用截屏并退出。但我认为你更愿意ffmpeg
为此调用一个进程(没有循环)。