mirror of
https://github.com/YILS-LIN/short-video-factory.git
synced 2025-11-25 03:15:03 +08:00
调整FFmpeg二进制开发与构建逻辑,优化工程化配置
This commit is contained in:
14
package.json
14
package.json
@@ -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",
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
ignoredBuiltDependencies:
|
||||
- better-sqlite3
|
||||
- ffmpeg-static
|
||||
|
||||
onlyBuiltDependencies:
|
||||
- '@parcel/watcher'
|
||||
- bufferutil
|
||||
- electron
|
||||
- esbuild
|
||||
- utf-8-validate
|
||||
- vue-demi
|
||||
@@ -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.')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user