使用FFmpeg录制视频时出现“文件名、目录名或卷标语法不正确”的错误。

0 投票
3 回答
927 浏览
提问于 2025-04-16 02:04

我正在尝试用这种方式录制视频(还有声音!):

ffmpeg = "C:\bin\ffmpeg.exe"
cmd = '%s -r 15 -f vfwcap -i 0 c:/output2.mpg' % (ffmpeg)
os.system(cmd)

但是我遇到了一个错误:“文件名、目录名或卷标语法不正确。”我觉得这可能是vfwcap的问题,但我不知道该怎么解决。

有没有什么建议?也许还有其他地方出错了?

3 个回答

0

直接的问题是,命令行中的反斜杠(\)被当作控制字符来处理。你可以用 c: \\ 或者 c:/ 来替代。

正如 Profane 所说,你在 ffmpeg 的输出文件标志上搞错了。

0

难道不是因为“c:/output.mpg”里的小写字母c,而不是“大写字母C:/output.mpg”吗?

1

我觉得mermoz可能是在开玩笑。你这里有几个问题。Python使用反斜杠('\')作为转义字符,所以如果你不把它们写成两个反斜杠或者换成正斜杠,Python就找不到你的文件。你在命令行中已经换成了正斜杠,这样是对的。另外,你的ffmpeg命令行语法完全错误。你说想把每分钟的帧数设置为15,并把格式vfwcap应用到你的输入文件上,但你的输入文件是“0”。还有,你不应该使用os.system。应该用subprocess.popen,并把你的命令作为列表传递。不确定这个问题是否认真,但如果是的话,这些建议可以帮你走上正轨。

撰写回答