diff --git a/resources/ffmpeg/bin/ffmpeg b/resources/ffmpeg/bin/ffmpeg new file mode 100755 index 0000000..4b0f2c4 Binary files /dev/null and b/resources/ffmpeg/bin/ffmpeg differ diff --git a/resources/ffmpeg/bin/ffprobe b/resources/ffmpeg/bin/ffprobe new file mode 100755 index 0000000..7ae36b7 Binary files /dev/null and b/resources/ffmpeg/bin/ffprobe differ diff --git a/src/main/config/config.js b/src/main/config/config.js index e23eb5c..b9a943c 100644 --- a/src/main/config/config.js +++ b/src/main/config/config.js @@ -1,15 +1,25 @@ import path from 'path' +import os from 'os' const isDev = process.env.NODE_ENV === 'development' +const isWin = process.platform === 'win32' export const serviceUrl = { face2face: isDev ? 'http://192.168.4.204:8383/easy' : 'http://127.0.0.1:8383/easy', tts: isDev ? 'http://192.168.4.204:18180' : 'http://127.0.0.1:18180' } -export const assetPath = { - model: path.join('D:','heygem_data', 'face2face', 'temp'), // 模特视频 - ttsProduct: path.join('D:','heygem_data', 'face2face', 'temp'), // TTS 产物 - ttsRoot: path.join('D:','heygem_data', 'voice', 'data'), // TTS服务根目录 - ttsTrain: path.join('D:','heygem_data', 'voice', 'data','origin_audio') // TTS 训练产物 -} +// 根据操作系统选择不同的路径 +export const assetPath = isWin + ? { + model: path.join('D:', 'heygem_data', 'face2face', 'temp'), // 模特视频 + ttsProduct: path.join('D:', 'heygem_data', 'face2face', 'temp'), // TTS 产物 + ttsRoot: path.join('D:', 'heygem_data', 'voice', 'data'), // TTS服务根目录 + ttsTrain: path.join('D:', 'heygem_data', 'voice', 'data', 'origin_audio') // TTS 训练产物 + } + : { + model: path.join(os.homedir(), 'heygem_data', 'face2face', 'temp'), // 模特视频 + ttsProduct: path.join(os.homedir(), 'heygem_data', 'face2face', 'temp'), // TTS 产物 + ttsRoot: path.join(os.homedir(), 'heygem_data', 'voice', 'data'), // TTS服务根目录 + ttsTrain: path.join(os.homedir(), 'heygem_data', 'voice', 'data', 'origin_audio') // TTS 训练产物 + } diff --git a/src/main/util/ffmpeg.js b/src/main/util/ffmpeg.js index b179579..f85a05a 100644 --- a/src/main/util/ffmpeg.js +++ b/src/main/util/ffmpeg.js @@ -4,29 +4,54 @@ import log from '../logger.js' const ffmpegPathValue = process.env.NODE_ENV === 'development' - ? path.join(__dirname, '../../resources/ffmpeg/bin/ffmpeg.exe') - : path.join( - process.resourcesPath, - 'app.asar.unpacked', - 'resources', - 'ffmpeg', - 'bin', - 'ffmpeg.exe' - ) -log.info('FFmpeg path:', ffmpegPathValue) -ffmpeg.setFfmpegPath(ffmpegPathValue) + ? process.platform === 'win32' + ? path.join(__dirname, '../../resources/ffmpeg/bin/ffmpeg.exe') + : path.join(__dirname, '../../resources/ffmpeg/bin/ffmpeg') + : process.platform === 'win32' + ? path.join( + process.resourcesPath, + 'app.asar.unpacked', + 'resources', + 'ffmpeg', + 'bin', + 'ffmpeg.exe' + ) + : path.join( + process.resourcesPath, + 'app.asar.unpacked', + 'resources', + 'ffmpeg', + 'bin', + 'ffmpeg' + ) +// 恢复ffprobePathValue定义 const ffprobePathValue = process.env.NODE_ENV === 'development' - ? path.join(__dirname, '../../resources/ffmpeg/bin/ffprobe.exe') - : path.join( - process.resourcesPath, - 'app.asar.unpacked', - 'resources', - 'ffmpeg', - 'bin', - 'ffprobe.exe' - ) + ? process.platform === 'win32' + ? path.join(__dirname, '../../resources/ffmpeg/bin/ffprobe.exe') + : path.join(__dirname, '../../resources/ffmpeg/bin/ffprobe') + : process.platform === 'win32' + ? path.join( + process.resourcesPath, + 'app.asar.unpacked', + 'resources', + 'ffmpeg', + 'bin', + 'ffprobe.exe' + ) + : path.join( + process.resourcesPath, + 'app.asar.unpacked', + 'resources', + 'ffmpeg', + 'bin', + 'ffprobe' + ) + +log.info('FFmpeg path:', ffmpegPathValue) +ffmpeg.setFfmpegPath(ffmpegPathValue) + log.info('FFprobe path:', ffprobePathValue) ffmpeg.setFfprobePath(ffprobePathValue)