【问题标题】:Ffmpeg on idle python Mac空闲python Mac上的ffmpeg
【发布时间】: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'

【问题讨论】:

  • 您可以在终端/控制台中运行ffmpegffprobe 而不使用ffmpegffprobe 的完整路径吗?您可能需要将带有ffmpegffprobe 的文件夹添加到系统变量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'

标签: python ffmpeg


【解决方案1】:

您的 python 执行环境无法找到您的 ffmpeg 安装。因为我只是复制粘贴了你的代码,它就可以工作。

你的错误字面意思是No such file or directory: 'ffprobe': 'ffprobe'

还有一个警告:Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work

请检查脚本执行的环境。也许 IDLE 正在做某事。尝试通过终端运行您的脚本,您可以在终端中获得ffmpegffprobe 的输出:

python3 script_file.py

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 2023-03-16
    • 1970-01-01
    • 2018-06-06
    • 2012-10-06
    • 1970-01-01
    • 2021-11-18
    相关资源
    最近更新 更多