@effing/ffmpeg
平台专用的FFmpeg 二进制下载器.
部分 财源 家庭——用TypeScript制作节目视频.
安装时下载特定平台的 FFmpeg 二进制 建筑工程 GitHub 发布( 目前标记) 页:1页:1.
使用量
import { pathToFFmpeg } from "@effing/ffmpeg";
// pathToFFmpeg is the absolute path to the binary, or null on unsupported platforms
如何运作
这个 install 生命周期脚本( e)node install.mjs运行期间 pnpm install 和:
- 检测当前平台和架构
- 如果二进制已存在, 则跳过下载, 其 SHA-256 匹配被绑定的文摘
checksums.json(旧版的一纸二进制,或短发或错误的一纸被替换) - 从 GitHub 版本下载 gzipped 二进制
- 解压并验证它的SHA-256 与被钉住的文摘
checksums.json - 重命名为位置并设置可执行权限( 仅在验证通过时)
在检查和不匹配时, 部分下载的文件被删除, 安装失败; 一个已存在的二进制将保持不变, 直到其替换被验证为止 .
维修: 每个 FFmpeg 版本起伏(
FFMPEG_VERSION内install.mjs)必须再生checksums.json。对于每个支持的目标:curl -sL "<base-url>/ffmpeg-<platform>-<arch>.gz" | gunzip | shasum -a 256
二进制放在包根(packages/ffmpeg/ffmpeg) (中文(简体) ). 在单曲中,pnpm symlinks指所有工作空间消费者共享相同的二进制.
支持的平台
| 平台 | 建筑 |
|---|---|
| 达文 | x64, 武装64 |
| 链接 | x64, 武装64 |
| 赢32 | x64 (韩语) |
环境变量
| 变量 | 说明 |
|---|---|
FFMPEG_BINARIES_URL | 覆盖二进制下载的基础 URL( 默认为 effing- ffmpeg- buildings GitHub 发行) 。 被钉住的校验和仍然适用,所以一个镜子必须服务于同样的建筑,除非 FFMPEG_SKIP_CHECKSUM=1 设定 |
FFMPEG_SKIP_CHECKSUM | 设定为 1 以跳过 SHA-256 对已下载的二进制进行校验, 并保留任何已存在的二进制 FFMPEG_BINARIES_URL |