From 055e43845e39cbe77caa62d7af8efff07322d0ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Sun, 11 May 2025 11:23:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20ffmpeg=E4=B8=8B=E8=BD=BD=E6=9D=A5?= =?UTF-8?q?=E6=BA=90=E6=9B=B4=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/download-ffmpeg.ts | 12 ++++++++++-- src/shell/pipe.ts | 1 - 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/common/download-ffmpeg.ts b/src/common/download-ffmpeg.ts index 1eb6dd27..25d4a798 100644 --- a/src/common/download-ffmpeg.ts +++ b/src/common/download-ffmpeg.ts @@ -8,11 +8,12 @@ import { pipeline } from 'stream/promises'; import { fileURLToPath } from 'url'; import { LogWrapper } from './log'; -const downloadOri = "https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2025-04-16-12-54/ffmpeg-n7.1.1-6-g48c0f071d4-win64-lgpl-7.1.zip" +const downloadOri = "https://github.com/NapNeko/ffmpeg-build/releases/download/v1.0.0/ffmpeg-7.1.1-win64.zip" const urls = [ "https://github.moeyy.xyz/" + downloadOri, "https://ghp.ci/" + downloadOri, "https://gh.api.99988866.xyz/" + downloadOri, + "https://gh.api.99988866.xyz/" + downloadOri, downloadOri ]; @@ -336,9 +337,16 @@ export async function downloadFFmpegIfNotExists(log: LogWrapper) { const ffprobe_exist = fs.existsSync(path.join(currentPath, 'ffmpeg', 'ffprobe.exe')); if (!ffmpeg_exist || !ffprobe_exist) { - await downloadFFmpeg(path.join(currentPath, 'ffmpeg'), path.join(currentPath, 'cache'), (percentage: number, message: string) => { + let url = await downloadFFmpeg(path.join(currentPath, 'ffmpeg'), path.join(currentPath, 'cache'), (percentage: number, message: string) => { log.log(`[FFmpeg] [Download] ${percentage}% - ${message}`); }); + if (!url) { + log.log('[FFmpeg] [Error] 下载FFmpeg失败'); + return { + path: null, + reset: false + }; + } return { path: path.join(currentPath, 'ffmpeg'), reset: true diff --git a/src/shell/pipe.ts b/src/shell/pipe.ts index 1f2375df..45320bd8 100644 --- a/src/shell/pipe.ts +++ b/src/shell/pipe.ts @@ -12,7 +12,6 @@ import { Writable } from 'stream'; export function connectToNamedPipe(logger: LogWrapper, timeoutMs: number = 5000): Promise<{ disconnect: () => void }> { return new Promise((resolve, reject) => { if (process.platform !== 'win32') { - logger.log('只有Windows平台支持命名管道'); // 非Windows平台不reject,而是返回一个空的disconnect函数 return resolve({ disconnect: () => { } }); }