我正在研究验证码解算器,我需要使用 ffmpeg,尽管没有任何效果。Windows 10 用户。
第一次运行代码时警告:
C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pydub\utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
Run Code Online (Sandbox Code Playgroud)
然后,当我尝试运行该脚本并且它需要 ffprobe 时,出现以下错误:
C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pydub\utils.py:198: RuntimeWarning: Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work
warn("Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work", RuntimeWarning)
Traceback (most recent call last):
File "D:\Scripts\captcha\main.py", line 164, in <module>
main()
File "D:\Scripts\captcha\main.py", …Run Code Online (Sandbox Code Playgroud) 我在Windows和Linux上运行的Pydub模块有问题.当我尝试打开一个mp3文件时:
from pydub import AudioSegment
sound = AudioSegment.from_mp3("test.mp3")
Run Code Online (Sandbox Code Playgroud)
控制台显示下一条消息:
WindowsError:[错误2]系统找不到指定的文件
但是......我把文件(test.mp3)放在脚本相同的文件夹中,名称是正确的.
为什么我有这个问题?(在Linux中,有相同的错误)
我正在尝试打开一些 MP3 文件以找到它们的长度(作为更大项目的一部分)。我已经安装了 pydub 并且 ffmpeg 已经通过 brew 安装。ffmpeg 在我的路径中可用,并且在终端中输入 ffmpeg 会成功启动它 - 我引用的音频文件存在,我可以在其上运行 ffmpeg -i 以获取有关它的信息。该程序可以打开和播放音频文件(使用 pygame),所以我确定这不是文件问题。
但是,尝试使用 AudioSegment 打开任何文件会导致显示“找不到 ffmpeg 或 avconv - 默认为 ffmpeg 但可能不起作用”,并且任何使用 AudioSegment 打开文件的尝试都会导致异常。
我已经尝试使用 AudioSegment.converter 显式设置 ffmpeg 的路径 - 既试图指向 '/usr/local/bin/ffmpeg' 也试图指向真实位置(前一个是符号链接)。
from pydub import AudioSegment
AudioSegment.converter = '/usr/local/bin/ffmpeg' # tried with and without
print(len(AudioSegment.from_mp3('mp3_audio.mp3')))
Run Code Online (Sandbox Code Playgroud)
我得到 FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe': 'ffprobe'