fix: ffmpeg 路径注入改用 PATH 环境变量方式,确保 pydub 正确找到 ffmpeg

This commit is contained in:
yexuejc committed 2026-04-16 09:55:40 +08:00
1 parent 24a402a94c
commit b7905951d6
1 file changed
+5 -7
+5 -7
View File
@@ -10,15 +10,13 @@ from fastapi.responses import FileResponse, StreamingResponse
from pydantic import BaseModel
import edge_tts
# pydub 混音支持
# pydub 混音支持(必须在 import pydub 之前将 ffmpeg 注入 PATH)
_FFMPEG_BIN = r"C:\Users\maxf\AppData\Local\Microsoft\WinGet\Packages\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe\ffmpeg-8.1-full_build\bin"
if os.path.isdir(_FFMPEG_BIN) and _FFMPEG_BIN not in os.environ.get("PATH", ""):
os.environ["PATH"] = _FFMPEG_BIN + os.pathsep + os.environ.get("PATH", "")
try:
from pydub import AudioSegment
# 指定 ffmpeg 路径(WinGet 安装路径)
FFMPEG_PATH = r"C:\Users\maxf\AppData\Local\Microsoft\WinGet\Packages\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe\ffmpeg-8.1-full_build\bin\ffmpeg.exe"
FFPROBE_PATH = r"C:\Users\maxf\AppData\Local\Microsoft\WinGet\Packages\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe\ffmpeg-8.1-full_build\bin\ffprobe.exe"
if os.path.exists(FFMPEG_PATH):
AudioSegment.converter = FFMPEG_PATH
AudioSegment.ffprobe = FFPROBE_PATH
PYDUB_AVAILABLE = True
except ImportError:
PYDUB_AVAILABLE = False