npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

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/ffprobebin/ffprobe.exe 存放二进制,index.js 会导出该路径,主包在运行时优先使用已安装的子包路径。
  • 因为会下载全部子包,请注意 npm 包大小和 CI 环境带宽/存储的影响;如需仅获取当前平台的子包,可以在安装主包后删除不必要的子包或调整发布策略。

贡献

  • 欢迎提交二进制更新或修复 scripts/publish.js 的发布策略。

许可证

本项目采用 MIT 许可证。