在python模块中引用ffmpeg 提示:系统找不到指定文件
回答
收藏

在python模块中引用ffmpeg 提示:系统找不到指定文件

V
VisionLAB
2024-01-25 16:18·浏览量:408
V
VisionLAB
发布于 2024-01-25 15:31更新于 2024-01-25 16:18408浏览

ffmpeg已经加入了环境变量了

源代码:


import xbot
from pydub import AudioSegment
def main(args):
    pass

# 使用 pydub 加载音频文件
audio = AudioSegment.from_mp3(r'C:\Users\Administrator\Desktop\66.mp3')

# 获取音频长度(以毫秒为单位)并转换为秒
duration_seconds = len(audio) / 1000.0

print(f"Duration: {duration_seconds} seconds")

提示错误信息:

完整错误信息:

[WinError 2] 系统找不到指定的文件。

C:\Users\Administrator\AppData\Local\ShadowBot\users\643428285675552770\apps\79a75915-3a36-4908-bdbe-8347f82c7248\venv\lib\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)

C:\Users\Administrator\AppData\Local\ShadowBot\users\643428285675552770\apps\79a75915-3a36-4908-bdbe-8347f82c7248\venv\lib\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 "E:\ShadowBot\shadowbot-5.14.38\python\lib\runpy.py", line 193, in _run_module_as_main

   "__main__", mod_spec)

 File "E:\ShadowBot\shadowbot-5.14.38\python\lib\runpy.py", line 85, in _run_code

   exec(code, run_globals)

 File "E:\ShadowBot\shadowbot-5.14.38\python\lib\site-packages\xbot_interpreter.py", line 97, in <module>

   main()

 File "E:\ShadowBot\shadowbot-5.14.38\python\lib\site-packages\xbot_interpreter.py", line 53, in main

   mod = importlib.import_module(robot_inputs['mod'])

 File "E:\ShadowBot\shadowbot-5.14.38\python\lib\importlib\__init__.py", line 127, in import_module

   return _bootstrap._gcd_import(name[level:], package, level)

 File "<frozen importlib._bootstrap>", line 1006, in _gcd_import

 File "<frozen importlib._bootstrap>", line 983, in _find_and_load

 File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked

 File "<frozen importlib._bootstrap>", line 677, in _load_unlocked

 File "<frozen importlib._bootstrap_external>", line 728, in exec_module

 File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

 File "C:\Users\Administrator\AppData\Local\ShadowBot\users\643428285675552770\apps\79a75915-3a36-4908-bdbe-8347f82c7248\xbot_robot\module1.py", line 20, in <module>

   audio = AudioSegment.from_mp3(r'C:\Users\Administrator\Desktop\66.mp3')

 File "C:\Users\Administrator\AppData\Local\ShadowBot\users\643428285675552770\apps\79a75915-3a36-4908-bdbe-8347f82c7248\venv\lib\site-packages\pydub\audio_segment.py", line 796, in from_mp3

   return cls.from_file(file, 'mp3', parameters=parameters)

 File "C:\Users\Administrator\AppData\Local\ShadowBot\users\643428285675552770\apps\79a75915-3a36-4908-bdbe-8347f82c7248\venv\lib\site-packages\pydub\audio_segment.py", line 728, in from_file

   info = mediainfo_json(orig_file, read_ahead_limit=read_ahead_limit)

 File "C:\Users\Administrator\AppData\Local\ShadowBot\users\643428285675552770\apps\79a75915-3a36-4908-bdbe-8347f82c7248\venv\lib\site-packages\pydub\utils.py", line 274, in mediainfo_json

   res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE)

 File "E:\ShadowBot\shadowbot-5.14.38\python\lib\subprocess.py", line 775, in __init__

   restore_signals, start_new_session)

 File "E:\ShadowBot\shadowbot-5.14.38\python\lib\subprocess.py", line 1178, in _execute_child

   startupinfo)

FileNotFoundError: [WinError 2] 系统找不到指定的文件。


尝试过的方案

1.考虑到是不是影刀的环境没有get到ffmpeg的路径(ffmpeg已经加入到环境变量了,在pip中也安装了ffmpeg)

2.不清楚错误信息是没找到音频文件,还是没有找到ffmpeg

3.VSCODE本地环境可以实现代码,影刀的编码版就报错

收藏
全部回答1
最新
发布回答
回答