コード例

よく使う FFmpeg タスクをコピペで実行できる cURL レシピ集。

ターミナルにそのまま貼り付けて使える 7 つのレシピ。YOUR_API_KEY/dashboard/api-keys のトークンに、入力 URL を自分のファイルに置き換えてください。

入力がローカルファイルの場合は先にアップロード — ファイルアップロード を参照。

コードを書かずに使いたい? 以下の各レシピは /tools でクリック操作だけで動きます:圧縮 · 変換 · 音声抽出 · 動画 → GIF · トリミング · 結合 · ウォーターマーク。ファイルをドラッグしてボタンを押すだけ。

1. 動画を圧縮

H.264 + CRF 28 でファイルサイズが 5〜10 分の 1 になり、画質低下はほぼわかりません。CRF が大きいほど小さくなります。

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -i https://storage.ffhub.io/sample.mp4 -c:v libx264 -preset fast -crf 28 -c:a aac -b:a 96k output.mp4"
  }'

2. フォーマット変換(MOV → MP4)

コーデックが既に合致している場合はストリームをコピーするだけ — 瞬時かつ無劣化。

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -i https://storage.ffhub.io/sample.mov -c:v copy -c:a copy output.mp4"
  }'

3. 音声抽出(MP4 → MP3)

-vn で映像を捨て、libmp3lame で MP3 にエンコード。

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -i https://storage.ffhub.io/sample.mp4 -vn -c:a libmp3lame -q:a 2 audio.mp3"
  }'

4. 動画を GIF に

10 fps、幅 480px、無限ループ。scale が小さいほど GIF が軽くなります。

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -i https://storage.ffhub.io/sample.mp4 -vf fps=10,scale=480:-1 -loop 0 output.gif"
  }'

5. クリップを切り出す

10 秒目から 30 秒間を切り出す。-c copy で再エンコードしないので一瞬で終わります。

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -ss 00:00:10 -i https://storage.ffhub.io/sample.mp4 -t 00:00:30 -c copy output.mp4"
  }'

6. 動画を結合

両方の入力はコーデック / 解像度 / フレームレートが揃っている必要があります。concat フィルタの方が安全、demuxer の方が高速ですが入力に厳しいです。

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -i https://storage.ffhub.io/a.mp4 -i https://storage.ffhub.io/b.mp4 -filter_complex [0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a] -map [v] -map [a] output.mp4"
  }'

7. ウォーターマーク追加

透過 PNG を右上から 10px 内側に配置。

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -i https://storage.ffhub.io/sample.mp4 -i https://storage.ffhub.io/logo.png -filter_complex overlay=W-w-10:10 -c:a copy output.mp4"
  }'

ここに無い処理は?FFHub は任意の FFmpeg コマンドを実行します — 自分のコマンドを送るだけ。完全なフィルタ / オプションリファレンスは ffmpeg.org/ffmpeg.html

コード例 — FFHub Docs