FFHub CLI

在终端跑 FFmpeg 任务,本地文件自动上传到云端。

FFHub CLI 让你在终端直接跑 FFmpeg 任务。本地文件会自动上传到云端处理。

前置要求

需要安装 Node.js 18 或更高版本。检查:

node --version

如果没装,从 nodejs.org 下 LTS 版本即可。

安装

全局安装,这样在终端任何目录都能直接敲 ffhub

npm install -g ffhub

-g 是 "global"(全局)的意思 —— 命令装到系统 PATH,不是本地 node_modules。验证装好了:

ffhub help

应该看到命令列表。如果提示 command not found: ffhub,往下看故障排查

升级

npm install -g ffhub@latest

不想全局安装(npx

不想全局安装的话,本文所有命令都可以把 ffhub 换成 npx ffhub,npm 会按需下载最新版:

npx ffhub "ffmpeg -i input.mp4 -c:v libx264 output.mp4"

首次会慢一点(要下载包),好处是不用全局安装。

配置

设置 API Key:

ffhub config YOUR_API_KEY

或用环境变量:

export FFHUB_API_KEY=YOUR_API_KEY

示例

转码

ffhub "ffmpeg -i input.mov -c:v libx264 -preset fast output.mp4"

压缩

ffhub "ffmpeg -i input.mp4 -c:v libx264 -crf 28 output.mp4"

提取音频

ffhub "ffmpeg -i video.mp4 -vn -c:a libmp3lame audio.mp3"

输入是本地路径时,CLI 自动先上传再执行。任务完成后输出文件自动下载到当前目录。

命令列表

命令说明
ffhub [args]创建并执行 FFmpeg 任务
ffhub whoami查看当前用户
ffhub list列出最近任务
ffhub status <task_id>查询任务状态
ffhub config <api_key>保存 API Key
ffhub help查看帮助

故障排查

command not found: ffhub

npm install -g 之后,ffhub 命令在 npm 全局 bin 目录里,但这个目录得在 $PATH 才能直接调用。检查:

npm prefix -g       # 比如 /usr/local
echo $PATH | tr ':' '\n' | grep -i bin

第一条显示 npm 全局包装哪儿。确认 <那个路径>/bin 出现在第二条的输出里。如果没有,把下面这行加到你的 shell 配置(~/.zshrc~/.bashrc 等):

export PATH="$(npm prefix -g)/bin:$PATH"

重开终端,ffhub help 应该就能跑了。

npm install -g 报权限错

看到 EACCES 之类的报错,意味着 npm 全局目录需要 sudo。两个办法:用 sudo npm install -g ffhub,或者(更好)把 npm 全局目录改到用户可写的位置 — 参考 npm 官方权限说明

链接

FFHub CLI — FFHub Docs