【发布时间】:2019-04-13 19:38:25
【问题描述】:
我一直试图在视频的音频中找到音频静音空间的位置,但我无法在 python 3 中使用 pydub 导入音频文件
我已经尝试将 pydub 正在检查 ffmpeg 的目录更改为项目中的一个,并且该文件位于我运行脚本的目录中,但它似乎仍然返回相同的错误。
from moviepy import editor
from pydub import silence, AudioSegment
from pathlib import Path
import os
AudioSegment.converter = r"C:\\Users\\ratee\\PycharmProjects\\untitled\\ffmpeg\\bin\\ffmpeg.exe"
vid = editor.VideoFileClip("video.mp4")
print(AudioSegment.ffmpeg)
my_file = Path("audio.mp3")
if not my_file.is_file():
vid.audio.write_audiofile("audio.mp3")
audio = AudioSegment.from_mp3("audio.mp3")
print(audio)
我希望它将 mp3 音频片段存储到变量 audi 中,但它会返回:
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.1.1\helpers\pydev\pydevd.py", line 1741, in <module>
main()
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.1.1\helpers\pydev\pydevd.py", line 1735, in main
globals = debugger.run(setup['file'], None, None, is_module)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.1.1\helpers\pydev\pydevd.py", line 1135, in run
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.1.1\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "C:/Users/ratee/PycharmProjects/untitled/fuc.py", line 12, in <module>
song = AudioSegment.from_mp3("audio.mp3")
File "C:\Users\ratee\PycharmProjects\untitled\venv\lib\site-packages\pydub\audio_segment.py", line 716, in from_mp3
return cls.from_file(file, 'mp3', parameters=parameters)
File "C:\Users\ratee\PycharmProjects\untitled\venv\lib\site-packages\pydub\audio_segment.py", line 665, in from_file
info = mediainfo_json(orig_file)
File "C:\Users\ratee\PycharmProjects\untitled\venv\lib\site-packages\pydub\utils.py", line 263, in mediainfo_json
res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE)
File "C:\Users\ratee\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 756, in __init__
restore_signals, start_new_session)
File "C:\Users\ratee\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 1155, in _execute_child
startupinfo)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.1.1\helpers\pydev\_pydev_bundle\pydev_monkey.py", line 452, in new_CreateProcess
return getattr(_subprocess, original_name)(app_name, patch_arg_str_win(cmd_line), *args)
FileNotFoundError: [WinError 2] The system cannot find the file specified
print(AudioSegment.ffmpeg)
按预期返回
C:\Users\ratee\PycharmProjects\untitled\ffmpeg\bin\ffmpeg.exe
print(my_file) returns
按预期返回
音频.mp3
并且代码在我尝试导入音频时停止运行
audio = AudioSegment.from_mp3("audio.mp3")
【问题讨论】:
-
您是否执行过
print(AudioSegment.ffmpeg)和print(my_file)检查,如果是,它们是否符合您的预期? -
另外请发布
print(os.getcwd()+"\\ffmpeg\\bin\\ffmpeg.exe")的输出。是否符合您的预期。 -
脚本抛出:
NameError: name 'vid' is not defined。 Idf 放了一个名为audio,mp3的随机 mp3 文件,我能够重现我将发布的错误作为答案,但显然不是答案。这我们可以验证出了什么问题。 -
我已经添加了必要的编辑 :))
标签: python-3.x pydub