python 模块 ffmpeg 和 ffprobe 已安装,但无法找到 youtube-dl

python modules ffmpeg and ffprobe are installed but youtube-dl not able to find

我在 MacOS Big Sur

上使用 python 3.8

我为 youtube-dl 安装了 python 模块包

pip3 install -upgrade youtube-dl

我想对下载的内容进行 post 处理,所以我安装了 python 包 ffprobe 和 ffmpeg。

pip3 install ffprobe
Collecting ffprobe
  Downloading https://files.pythonhosted.org/packages/95/9c/adf90d21108d41f611aa921defd2f2e56d3f92724e4b5aa41fae7a9972aa/ffprobe-0.5.zip
Installing collected packages: ffprobe
  Running setup.py install for ffprobe ... done
Successfully installed ffprobe-0.5

pip3 install ffmpeg
Collecting ffmpeg
  Downloading https://files.pythonhosted.org/packages/f0/cc/3b7408b8ecf7c1d20ad480c3eaed7619857bf1054b690226e906fdf14258/ffmpeg-1.4.tar.gz
Installing collected packages: ffmpeg
  Running setup.py install for ffmpeg ... done
Successfully installed ffmpeg-1.4
pip3 list 
Package    Version   
---------- ----------
ffmpeg     1.4       
ffprobe    0.5           
youtube-dl 2021.12.17 

仍然抱怨找不到ffprobe和ffmpeg:

youtube_dl.utils.DownloadError: ERROR: ffprobe/avprobe and ffmpeg/avconv not found. Please install one.

我在 /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/

中看到了两个包

试图找出我做错了什么。 SFO 上类似问题的许多其他答案都建议使用 brew 等在 OS 中安装这些软件包,但就我而言,“我想通过 python 完成所有操作”。那么不应该只安装 python 模块就足够了吗?

检查 Path 环境变量。它应该包含 ffprobeffmpeg 所在文件夹的条目。

编辑:不好意思,查看这个 Reddit 线程。 https://www.reddit.com/r/learnpython/comments/gqhj14/comment/frsq2u3/?utm_source=share&utm_medium=web2x&context=3

看来您可能需要安装命令行工具。

我遇到了同样的问题,但似乎我通过将 ffmpeg.exe 文件直接上传到脚本 (C:\Users\Sergey Khoteev\PycharmProjects\pythonProject\venv\Scripts) 来修复它。

路线图如下:

  1. https://www.gyan.dev/ffmpeg/builds/ 下载原始 ffmpeg.exe 文件。我已经下载了“ffmpeg-git-full.7z”
  2. 与youtube-dl.exe放在一起,例如在python37\Scripts文件夹中。

从 PyCharm 包管理器安装 ffmpeg 没有帮助,我知道为什么 (.

修复:我们需要在我们的路径上安装并保留 ffmpeg 的二进制文件。 对于 Mac,可以从以下位置下载二进制文件:ffmpeg.org 并通过更新 PATH 环境变量将其添加到路径中。

为什么?

当我们使用 pip/pip3 安装包时 python 只需下载并保留这些作为可用库以供 python 程序使用。这意味着 /

pip3 install ffprobe
pip3 install ffmpeg

我们将 ffmpeg 和 ffprobe 作为 python 模块在我们的 python 代码中使用。库文档:https://kkroening.github.io/ffmpeg-python/

youtube_dl 期望的是安装在 OS 上并在路径上可用的二进制文件。

同样重要的是要注意我们使用 youtube_dl python 包并且该库需要路径上的 ffmpeg 二进制文件。