运行代码片段时,出现标题中的错误。
我已经重新安装了该软件包pydub,并且pip3 install ffprobe.
from pydub.playback import play
from pydub import AudioSegment
def change_volume(file_name, alteration):
song = AudioSegment.from_mp3(file_name)
new_song = song + alteration
new_title = ("_%s") % (file_name)
new_song.export(new_title, format='mp3')
change_volume("test_sample.mp3", 3)
Run Code Online (Sandbox Code Playgroud)
代码的输出应该是目录中的一个新的 mp3 文件,其音量级别略有提高(test.mp3--> _test.mp3),而是出现错误:
FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe': 'ffprobe'
Run Code Online (Sandbox Code Playgroud)
Hu *_*ixi 16
我尝试了以下方法,并且有效:
$ sudo apt update
$ sudo apt install ffmpeg
Run Code Online (Sandbox Code Playgroud)
小智 8
(我在 Mac 上,使用 Anaconda3。)
每个人都一直说将 ffmpeg 或 ffprobe 添加到您的路径,但需要明确的是,这意味着将可执行文件添加到您的路径(不是目录,不是 .py 文件或其他任何文件)。由于某种原因,即使在 pip 安装/更新和通过自制软件安装/更新 ffmpeg 和 ffprobe 之后,我的系统上也没有可执行文件。这看起来很奇怪;我不知道为什么会这样,但我是如何让它工作的:
无论如何,这就是最终为我所做的。希望能帮助其他人解决同样的问题。
首先确保你安装了ffprobe,它是FFmpeg的一部分,所以实际上你需要安装ffmpeg。您可以按照这两个站点之一的说明进行操作。
https://ffmpeg.org/download.html
https://github.com/adaptlearning/adapt_authoring/wiki/Installing-FFmpeg
之后,您需要将 libary 添加到您的系统路径中,以便 python 能够找到并使用它。这可以通过将 FFmpeg 的安装路径实际添加到您的操作系统路径(如何执行取决于您的操作系统)或将其添加到在 python 内部使用的临时路径变量中来完成。
import sys
sys.path.append('/path/to/ffmpeg')
Run Code Online (Sandbox Code Playgroud)
对于第二个选项,您必须确保在导入其他任何内容之前将路径附加到 FFmpeg。如果您没有更改根系统配置的选项,这是更好的选择,但是当被不同的 python 脚本使用时可能会变得非常不一致。
最后确保已ffprobe安装(例如pip install ffprobe在终端内部,请参阅https://pypi.org/project/ffprobe),以便import ffprobe在 python 环境中工作。