【发布时间】:2020-06-11 01:01:49
【问题描述】:
我正在尝试在 macOS Catalina 上的空闲 3.7.4 python 上使用 FFMPEG。
我运行brew install ffmpeg 并成功安装。
但是,当我进入 IDLE 并运行我的脚本时(该脚本是将 .mp3 文件转换为 .wav):
from os import path
from pydub import AudioSegment
src = "transcript.mp3"
dst = "test.wav"
sound = AudioSegment.from_mp3(src)
sound.export(dst, format="wav")
这是我得到的回报:
Warning (from warnings module):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pydub/utils.py", line 165
warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
Warning (from warnings module):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pydub/utils.py", line 193
warn("Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work", RuntimeWarning)
RuntimeWarning: Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work
Traceback (most recent call last):
File "/Users/edenhikri/Desktop/transcript.py", line 9, in <module>
sound = AudioSegment.from_mp3(src)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pydub/audio_segment.py", line 716, in from_mp3
return cls.from_file(file, 'mp3', parameters=parameters)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pydub/audio_segment.py", line 665, in from_file
info = mediainfo_json(orig_file)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pydub/utils.py", line 263, in mediainfo_json
res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 775, in __init__
restore_signals, start_new_session)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 1522, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe': 'ffprobe'
【问题讨论】:
-
您可以在终端/控制台中运行
ffmpeg和ffprobe而不使用ffmpeg和ffprobe的完整路径吗?您可能需要将带有ffmpeg和ffprobe的文件夹添加到系统变量PATH -
你能解释一下吗? @furas
-
打开控制台/终端/bash/xterm 窗口并写入
ffmpeg并按ENTER运行它。如果它不能运行它,那么它就找不到ffmpeg,同样的问题有Python。 -
当我这样做时,这就是我得到的:
-
配置:libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 / libavfilter 7.7.7. libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 超快速音频和视频编码器用法:ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...使用 -h 获得全面帮助,或者更好的是,运行 'man ffmpeg'