调整FFmpeg二进制开发与构建逻辑,优化工程化配置

This commit is contained in:
YILS
2025-09-24 17:27:48 +08:00
parent 5a5bc3387a
commit b19e421a8c
3 changed files with 26 additions and 27 deletions

View File

@@ -61,6 +61,20 @@
"vue-tsc": "3.0.1",
"vuetify": "^3.9.0"
},
"pnpm": {
"ignoredBuiltDependencies": [
"better-sqlite3",
"ffmpeg-static"
],
"onlyBuiltDependencies": [
"@parcel/watcher",
"bufferutil",
"electron",
"esbuild",
"utf-8-validate",
"vue-demi"
]
},
"packageManager": "pnpm@10.12.4",
"engines": {
"node": ">=22.17.0",

View File

@@ -1,11 +0,0 @@
ignoredBuiltDependencies:
- better-sqlite3
- ffmpeg-static
onlyBuiltDependencies:
- '@parcel/watcher'
- bufferutil
- electron
- esbuild
- utf-8-validate
- vue-demi

View File

@@ -1,22 +1,18 @@
const { execSync } = require('node:child_process')
const ffmpeg = require('ffmpeg-static')
const path = require('node:path')
const fs = require('node:fs')
const isWindows = process.platform === 'win32'
console.log('Downloading ffmpeg...')
execSync(
`cross-env FFMPEG_BINARIES_URL=${process.env['npm_config_ffmpeg_binaries_url']} npm rebuild ffmpeg-static`,
)
console.log(`FFmpeg path: ${ffmpeg}`)
if (isWindows) {
console.log('Windows detected, running install for ffmpeg-static...')
try {
// 进入 ffmpeg-static 目录并运行其构建脚本
execSync('npm explore ffmpeg-static -- pnpm run install ', {
cwd: process.cwd(),
stdio: 'inherit',
})
console.log('ffmpeg-static installed successfully.')
} catch (error) {
console.error('Failed to install ffmpeg-static:', error)
process.exit(1)
}
} else {
console.log('Not Windows, skipping install ffmpeg-static.')
const isWindows = process.platform === 'win32'
if (!isWindows) {
console.log('Not Windows, need to set ffmpeg permissions.')
fs.chmodSync(ffmpeg, 0o755)
execSync(`chmod +x ${ffmpeg}`)
console.log('FFmpeg permissions already set.')
}