FFHub vs AWS Elemental MediaConvert — 率直な比較
MediaConvert 代替を検討する開発者向けに、FFHub と AWS Elemental MediaConvert を価格・設定・FFmpeg 互換性で比較します。

クラウド動画処理サービスの選定は、メディアワークフローを構築するチームにとって重要な決断です。AWS Elemental MediaConvert と FFHub は「クラウドで動画を処理する」という同じ課題に対して、根本的に異なるアプローチを取っています。本記事では両サービスを率直に比較し、プロジェクトに合った選択ができるよう整理します。
概要
AWS Elemental MediaConvert は Amazon が提供するマネージド動画トランスコードサービスで、巨大な AWS エコシステムの一部です。JSON ジョブ仕様によるジョブベースのモデルを採用し、ハードウェアアクセラレーションエンコーディングに対応、S3・CloudFront・Lambda など他の AWS サービスと深く統合されています。
FFHub は軽量なクラウド FFmpeg API です。FFmpeg コマンドを REST API で送信すると、マネージドインフラ上で実行されます。FFmpeg を知っている人なら、すでに FFHub の使い方を知っているのと同じです。
比較表
| 項目 | FFHub | AWS MediaConvert |
|---|---|---|
| 設定にかかる時間 | 数分(API キー取得 → リクエスト送信) | 数時間(IAM ロール、S3 バケット、ジョブテンプレート、エンドポイント) |
| API モデル | 単一 REST エンドポイント、FFmpeg コマンドを送信 | 100 以上のパラメータを持つ複雑な JSON ジョブ仕様 |
| FFmpeg 互換性 | 100% — 有効な FFmpeg コマンドはすべて動作 | サブセット — サポートされた codec と機能のみ |
| 課金モデル | 処理時間(秒単位) | 出力時間(分単位、切り上げ)+ データ転送料 |
| 最低料金 | なし | なし、ただし隠れたコストが積み上がる |
| GPU エンコード | 非対応 | 対応(HEVC、AV1 のハードウェアアクセラレーション) |
| codec サポート | FFmpeg がサポートするすべて | H.264、H.265、VP8、VP9、AV1、MPEG-2、Apple ProRes |
| 入力ソース | URL、ローカルファイルアップロード | S3 のみ(HTTP は追加設定が必要) |
| ベンダーロックイン | なし — 標準 FFmpeg コマンド | 高い — 独自のジョブ仕様フォーマット |
| エンタープライズコンプライアンス | 標準 | SOC、HIPAA、FedRAMP、PCI DSS |
| CLI ツール | あり(ffhub CLI) | AWS CLI |
| ダッシュボード | タスク履歴とログ | 完全な AWS Console、モニタリング付き |
| Webhook 通知 | あり | CloudWatch Events + SNS/Lambda 経由 |
設定が動くまでの時間
FFHub: 2 分
- ffhub.io でサインアップ
- API キーを取得
- リクエストを送信:
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://example.com/input.mp4 -c:v libx264 -crf 23 output.mp4"
}'
これだけで動画の処理が始まります。
AWS MediaConvert: 1〜3 時間
MediaConvert のセットアップには、複数の AWS サービスにまたがる設定が必要です。
ステップ 1: MediaConvert 用の信頼ポリシーを持つ IAM ロールを作成:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "mediaconvert.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
ステップ 2: S3 権限をアタッチして、MediaConvert が入力を読み取り、出力を書き込めるようにします。
ステップ 3: ソースファイルを S3 にアップロード:
aws s3 cp input.mp4 s3://my-media-bucket/inputs/input.mp4
ステップ 4: ジョブ仕様を作成(以下は簡略版で、実際のジョブは 100 行を超えるのが普通です):
{
"Role": "arn:aws:iam::123456789012:role/MediaConvertRole",
"Settings": {
"Inputs": [
{
"FileInput": "s3://my-media-bucket/inputs/input.mp4",
"AudioSelectors": {
"Audio Selector 1": {
"DefaultSelection": "DEFAULT"
}
}
}
],
"OutputGroups": [
{
"Name": "File Group",
"OutputGroupSettings": {
"Type": "FILE_GROUP_SETTINGS",
"FileGroupSettings": {
"Destination": "s3://my-media-bucket/outputs/"
}
},
"Outputs": [
{
"VideoDescription": {
"CodecSettings": {
"Codec": "H_264",
"H264Settings": {
"RateControlMode": "QVBR",
"QvbrSettings": {
"QvbrQualityLevel": 7
},
"MaxBitrate": 5000000
}
}
},
"AudioDescriptions": [
{
"CodecSettings": {
"Codec": "AAC",
"AacSettings": {
"Bitrate": 128000,
"CodingMode": "CODING_MODE_2_0",
"SampleRate": 48000
}
}
}
],
"ContainerSettings": {
"Container": "MP4"
}
}
]
}
]
}
}
ステップ 5: ジョブをサブミット:
aws mediaconvert create-job \
--endpoint-url https://abc123.mediaconvert.us-east-1.amazonaws.com \
--cli-input-json file://job.json
ステップ 6: 完了通知が必要な場合は CloudWatch Events と SNS を設定します。
同じエンコードを行う FFHub のコマンド:
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://example.com/input.mp4 -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4"
}'
API コール 1 回 vs 設定ステップ 6 つ。差は明らかです。
実シナリオでのコスト試算
FFHub の料金
FFHub は実際の処理時間(秒単位)で課金します。45 秒で完了したジョブなら 45 秒分の料金です。切り上げも隠れコストもありません。
- 処理: $0.005/秒(標準ティア)
- ストレージ: 24 時間の一時ストレージは無料
- データ転送: 込み
AWS MediaConvert の料金
MediaConvert は**出力時間(分単位、最寄りの分に切り上げ)**で課金され、codec、解像度、Basic / Professional ティアによってレートが変わります。
- SD(H.264、Basic): $0.0075/分
- HD(H.264、Basic): $0.015/分
- 4K(H.264、Basic): $0.030/分
- HD(H.265、Professional): $0.036/分
加えて以下のコストが発生します。
- 入出力ファイルの S3 ストレージ
- S3 データ転送
- CloudWatch ログ
- SNS 通知(利用する場合)
実シナリオでのコスト例
シナリオ: 1,000 本の動画(平均 5 分)を H.264 1080p から H.264 720p にトランスコード。
| コスト項目 | FFHub | AWS MediaConvert |
|---|---|---|
| 処理 | 約 $150(平均 30 秒/本 × 1,000) | $75(5 分 × 1,000 × $0.015) |
| S3 ストレージ | $0 | 約 $11.50(入出力合計 50GB) |
| S3 転送 | $0 | 約 $4.50(50GB のエグレス) |
| CloudWatch | $0 | 約 $0.50 |
| 合計 | 約 $150 | 約 $91.50 |
このシナリオでは、純粋な処理コストは AWS のほうが安くなります。ただし、ジョブが短い場合(MediaConvert は分単位で切り上げ)や、AWS パイプラインのセットアップ・運用にかかるエンジニアリング時間を考慮すると、計算は大きく変わります。
短尺動画のシナリオ: 平均 8 秒のクリップ 10,000 本。
| コスト項目 | FFHub | AWS MediaConvert |
|---|---|---|
| 処理 | 約 $250(平均 5 秒/本 × 10,000) | $150(最低 1 分 × 10,000 × $0.015) |
| AWS オーバーヘッド | $0 | 約 $20 |
| 合計 | 約 $250 | 約 $170 |
分単位の切り上げがあっても、単純なトランスコードならコストは AWS の勝ちです。ただし、エンジニアリングコストを考慮してください。MediaConvert のために IAM ロール、S3 バケット、ジョブテンプレート、エラーハンドリング、モニタリングを整備するには、開発者の時間が数日単位でかかります。FFHub なら数分です。AWS 環境で FFmpeg を動かす際の課題については、FFmpeg on serverless and Lambda のガイドを参照してください。
FFmpeg 互換性の差
ここで両者の違いがはっきりします。
FFHub: フル FFmpeg
FFHub は内部で実際の FFmpeg を実行します。有効な FFmpeg コマンドはすべて動作します。
# 複雑なフィルタチェーン
ffmpeg -i input.mp4 -vf "scale=1280:720,drawtext=text='%{pts\:hms}':fontsize=24:fontcolor=white:x=10:y=10" -c:v libx264 -crf 23 output.mp4
# 複数ファイルの結合
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1" output.mp4
# 一定間隔でフレーム抽出
ffmpeg -i input.mp4 -vf "select=not(mod(n\,30))" -vsync vfn frame_%04d.png
# 複数バリアントの HLS 生成
ffmpeg -i input.mp4 \
-map 0:v -map 0:a -map 0:v -map 0:a \
-c:v libx264 -crf 22 \
-var_stream_map "v:0,a:0 v:1,a:1" \
-b:v:0 5M -s:v:0 1920x1080 \
-b:v:1 2M -s:v:1 1280x720 \
-f hls -hls_time 6 \
-master_pl_name master.m3u8 \
stream_%v/playlist.m3u8
FFmpeg コマンドとして書けるなら、FFHub で動きます。
AWS MediaConvert: サポートされたサブセット
MediaConvert はキュレートされた codec と機能セットをサポートします。利用できるもの:
- H.264、H.265、VP8、VP9、AV1、MPEG-2、Apple ProRes
- 標準フィルタ(デインターレース、ノイズリダクション、カラーコレクション)
- HDR 変換
- DRM パッケージング(DRM は強み)
利用できないもの:
- カスタム FFmpeg フィルタチェーン(
-filter_complex) - マイナーな codec(Opus 単体、FLAC video mux など)
- 任意のストリームマッピング
- カスタムフレーム抽出ロジック
- FFmpeg 固有のフラグ・オプションの多く
ワークフローが MediaConvert の機能範囲に収まるなら問題ありません。しかし FFmpeg のフルパワーを必要とするなら、MediaConvert は制約になります。
AWS MediaConvert が向いているケース
公平に書きます。次のシナリオでは MediaConvert のほうが向いています。
1. エンタープライズコンプライアンス
MediaConvert は SOC 1/2/3、HIPAA、FedRAMP、PCI DSS の認証を保有しています。これらのコンプライアンス要件がある組織なら、AWS が明確に有利です。
2. GPU アクセラレーションエンコード
MediaConvert は H.265 と AV1 のハードウェアアクセラレーションを提供し、これらの codec で大幅に高速な処理を実現します。FFHub は CPU ベースのエンコードです。
3. AWS エコシステムとの統合
インフラがすでに AWS 上にあるなら、MediaConvert は S3、CloudFront、Lambda、Step Functions、EventBridge とネイティブに統合されます。AWS 内でエンドツーエンドのパイプラインを構築するならシームレスです。
4. DRM とコンテンツ保護
MediaConvert は Apple FairPlay、Google Widevine、Microsoft PlayReady の DRM パッケージングを標準サポートします。生の FFmpeg で DRM を実装するのははるかに複雑です。
5. 大規模エンタープライズワークフロー
月数百万分を処理し、専任の AWS インフラチームを抱える組織なら、分単位の料金体系と成熟したツールを持つ MediaConvert のほうが経済的合理性が高いことが多いです。
FFHub が向いているケース
1. シンプルさ
API エンドポイントは 1 つ、概念も 1 つ(FFmpeg コマンドを送って結果を受け取る)。IAM ロールも、ジョブテンプレートも、エンドポイントの探索も不要です。
2. FFmpeg 互換性
FFmpeg の機能が 100% 利用できます。機能ギャップも翻訳レイヤーもありません。
3. ベンダーロックインなし
FFmpeg コマンドは FFHub でも、ローカルマシンでも、他のサーバーでも同じように動きます。移行は簡単です。
4. 本番投入までの速度
ゼロから動画処理開始まで 5 分以内で到達できます。インフラのセットアップは不要です。
5. 短尺コンテンツ
1 分未満の動画では、秒単位課金は分単位課金(切り上げ付き)よりはるかにコスト効率が高くなります。
6. 開発者体験
FFmpeg を知っているなら、FFHub も知っているのと同じです。新しい DSL を学ぶ必要も、200 ページの API リファレンスを読む必要もありません。
コード比較: サムネイルを生成
FFHub
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://example.com/video.mp4 -ss 00:00:05 -frames:v 1 -q:v 2 thumbnail.jpg"
}'
AWS MediaConvert
{
"Role": "arn:aws:iam::123456789012:role/MediaConvertRole",
"Settings": {
"Inputs": [{
"FileInput": "s3://bucket/video.mp4"
}],
"OutputGroups": [{
"OutputGroupSettings": {
"Type": "FILE_GROUP_SETTINGS",
"FileGroupSettings": {
"Destination": "s3://bucket/thumbnails/"
}
},
"Outputs": [{
"VideoDescription": {
"CodecSettings": {
"Codec": "FRAME_CAPTURE",
"FrameCaptureSettings": {
"FramerateNumerator": 1,
"FramerateDenominator": 5,
"MaxCaptures": 1,
"Quality": 80
}
}
},
"ContainerSettings": {
"Container": "RAW"
}
}]
}]
}
}
FFHub 版はどの開発者でも読める一行の FFmpeg です。MediaConvert 版はジョブ仕様スキーマの理解を要求します。
どちらを選ぶべきか
FFHub を選ぶべきケース:
- FFmpeg のフル互換性が必要
- 数日ではなく数分で動画処理を始めたい
- チームが FFmpeg を知っており、そのスキルを直接活かしたい
- 短尺コンテンツを処理しており、秒単位課金が効いてくる
- ベンダーロックインを避けたい
- 複雑なフィルタチェーンやマイナーな codec が必要
AWS MediaConvert を選ぶべきケース:
- エンタープライズコンプライアンス認証(HIPAA、FedRAMP)が必要
- H.265 や AV1 の GPU アクセラレーションエンコードが必要
- インフラがすでに AWS 上にあり、深く統合したい
- 組み込みの DRM パッケージングが必要
- AWS エコシステムに精通した専任メディアエンジニアリングチームがある
- 月数百万分を処理し、ボリュームディスカウントが必要
FFHub と Coconut の比較、Transloadit との比較もあわせてどうぞ。
FFHub をはじめる
シンプルさと FFmpeg 互換性を重視するなら、FFHub.io を試してください。サインアップして API キーを取得すれば、FFmpeg のフルパワーを使って数分で動画処理を始められます。
# CLI をインストール
npm install -g ffhub
# 最初のコマンドを実行
ffhub run "ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4"
まとめ
AWS MediaConvert と FFHub はターゲットが異なります。MediaConvert は AWS エコシステムに深く根を張る組織向けの、堅牢でエンタープライズグレードのサービスです。FFHub はインフラオーバーヘッドなしで FFmpeg のフルパワーを使いたいチーム向けの、開発者フレンドリーなサービスです。
どちらが普遍的に「優れている」というわけではなく、コンプライアンス、codec サポート、予算、開発スピードといった要件によって最適解は変わります。多くのチームにとって、本番動画処理への最短ルートは FFHub への 1 回の API コールです。一方、MediaConvert のエンタープライズ機能が追加の複雑さを正当化するチームもあります。
関連記事
- FFHub vs Coconut - FFHub の FFmpeg ネイティブなアプローチと Coconut のプリセットベースエンコードの比較
- FFHub vs Transloadit - Transloadit のファイル処理パイプラインとの比較
- What Is FFHub? - FFHub のクラウド FFmpeg API の紹介と仕組み