ffprobe-static-v5
v5.2.8
Published
Static binaries for ffprobe.
Readme
ffprobe-static-v5(中文说明)
这是 ffprobe 的静态二进制集合,按操作系统与 CPU 架构拆分为若干子包,便于按需分发与安装。
主要特点
- 按平台/架构拆分成子包(例如
ffprobe-static-v5-darwin-arm64)。 - 主包
ffprobe-static-v5在安装时会尝试安装所有子包(非仓库环境)。 - 开发仓库中包含
bin/<platform>/<arch>/的二进制,提供本地测试与打包支持。
快速开始
在代码中使用方式与之前相同:
const ffprobe = require('ffprobe-static-v5');
console.log(ffprobe.path);安装
通常直接安装主包:
npm install ffprobe-static-v5注意:主包的安装脚本会在非仓库环境下尝试逐个 npm install 所有子包(dependencies 中列出的包)。因此默认会把全部子包下载到 node_modules(体积较大)。
本地开发和打包
- 将仓库克隆到本地后,二进制位于
bin/<platform>/<arch>/。 - 运行同步脚本把二进制复制到子包目录(在发布前或打包前执行):
npm run sync-binaries该命令会把 bin/<platform>/<arch>/ffprobe[.exe] 复制到对应的 packages/ffprobe-static-v5-*/bin/ 目录下,确保打包时包含二进制文件。
发布流程(仓库维护者)
仓库包含一个集中发布脚本(scripts/publish.js),提供 dry-run 与批量发布能力。常用命令:
# 预演发布(不会真正上传)
npm run publish:dry
# 批量发布(依次发布子包,然后发布主包)
npm run publish:all
# 发布 beta 版本(带 tag)
npm run publish:beta如果你更喜欢显式控制,也可以逐包发布:
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 许可证。
