# ffprobe-static-v5 **Repository Path**: anzhen9/ffprobe-static-v5 ## Basic Information - **Project Name**: ffprobe-static-v5 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-21 - **Last Updated**: 2025-11-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ffprobe-static-v5(中文说明) 这是 `ffprobe` 的静态二进制集合,按操作系统与 CPU 架构拆分为若干子包,便于按需分发与安装。 主要特点 - 按平台/架构拆分成子包(例如 `ffprobe-static-v5-darwin-arm64`)。 - 主包 `ffprobe-static-v5` 在安装时会尝试安装所有子包(非仓库环境)。 - 开发仓库中包含 `bin///` 的二进制,提供本地测试与打包支持。 快速开始 在代码中使用方式与之前相同: ```js const ffprobe = require('ffprobe-static-v5'); console.log(ffprobe.path); ``` 安装 通常直接安装主包: ```sh npm install ffprobe-static-v5 ``` 注意:主包的安装脚本会在非仓库环境下尝试逐个 `npm install` 所有子包(`dependencies` 中列出的包)。因此默认会把全部子包下载到 `node_modules`(体积较大)。 本地开发和打包 - 将仓库克隆到本地后,二进制位于 `bin///`。 - 运行同步脚本把二进制复制到子包目录(在发布前或打包前执行): ```sh npm run sync-binaries ``` 该命令会把 `bin///ffprobe[.exe]` 复制到对应的 `packages/ffprobe-static-v5-*/bin/` 目录下,确保打包时包含二进制文件。 发布流程(仓库维护者) 仓库包含一个集中发布脚本(`scripts/publish.js`),提供 dry-run 与批量发布能力。常用命令: ```sh # 预演发布(不会真正上传) npm run publish:dry # 批量发布(依次发布子包,然后发布主包) npm run publish:all # 发布 beta 版本(带 tag) npm run publish:beta ``` 如果你更喜欢显式控制,也可以逐包发布: ```sh cd packages/ffprobe-static-v5-darwin-arm64 && npm publish --access public # ... 为其它子包重复 cd ../../ && npm publish --access public ``` 自动化与注意事项 - 根包 `package.json` 中包含 `postinstall`/`install` 逻辑(`scripts/install-all.js`),会在非仓库环境尝试安装所有子包;仓库开发模式会跳过以避免失败。 - 子包在仓库中使用 `bin/ffprobe` 或 `bin/ffprobe.exe` 存放二进制,`index.js` 会导出该路径,主包在运行时优先使用已安装的子包路径。 - 因为会下载全部子包,请注意 npm 包大小和 CI 环境带宽/存储的影响;如需仅获取当前平台的子包,可以在安装主包后删除不必要的子包或调整发布策略。 贡献 - 欢迎提交二进制更新或修复 `scripts/publish.js` 的发布策略。 许可证 本项目采用 MIT 许可证。