ffmpeg-python 包装器 ffmpeg.run() 获取 FILENOTFOUNDERROR

Ger*_*ese 1 ffmpeg python-3.x

我正在尝试找出并学习如何使用 ffmpeg-python 包装器,但我收到了一个找不到文件的错误。我试图处理的 mp4 文件和 python 文件都在我桌面上的一个文件夹中。我不确定我在这里是否正确使用它。

我正在运行 Windows 10 32 位、python 3.6 并安装了 ffmpeg-python 0.16.0。是否需要安装其他软件包才能使其正常工作?我在 64 位 Windows 10 桌面上尝试了相同的代码并得到了相同的错误。

import ffmpeg

videoInput = ffmpeg.input('vid.mp4')

videoOutput = videoInput.output('test.avi')

videoOutput.run()
Run Code Online (Sandbox Code Playgroud)

这是我在 python shell 中得到的错误

Traceback (most recent call last):
  File "C:\Users\geral\Desktop\PythonPrograms\ffmpegexample.py", line 7, in <module>
    videoOutput.run()
  File "C:\Users\geral\AppData\Local\Programs\Python\Python36-32\lib\site-packages\ffmpeg\_run.py", line 300, in run
    overwrite_output=overwrite_output,
  File "C:\Users\geral\AppData\Local\Programs\Python\Python36-32\lib\site-packages\ffmpeg\_run.py", line 272, in run_async
    args, stdin=stdin_stream, stdout=stdout_stream, stderr=stderr_stream)
  File "C:\Users\geral\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "C:\Users\geral\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 997, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
Run Code Online (Sandbox Code Playgroud)

Ger*_*ese 9

好吧,我想通了,它实际上非常简单。希望这对 ffmpeg 或 ffmpeg-python 的新手有所帮助。

通读回溯后:大概 100 次。我意识到 ffmpeg 可能没有与 ffmpeg-python 一起打包,而且我自己从未安装过 ffmpeg。所以我只是使用此安装指南安装了 ffmpeg并且一切正常。

我现在可能已经记住了,我已经读了足够多的时间了。 ffmpeg-python API 参考

所以长话短说,您必须先安装 ffmpeg,然后 ffmpeg-python 才能工作。

  • 对一楼答案的补充。安装 FFmpeg 并设置环境变量后,最好重新启动,因为当您当前处于 python 环境/编辑器中时,Windows 环境路径不会更新。 (2认同)