← All posts

FFHub vs AWS Elemental MediaConvert — Comparação Honesta

Comparação direta entre FFHub e AWS Elemental MediaConvert para processamento de vídeo na nuvem. Alternativa MediaConvert, preço, setup e compatibilidade FFmpeg.

FFHub·2026-05-06
FFHub vs AWS Elemental MediaConvert — Comparação Honesta

Escolher um serviço de processamento de vídeo na nuvem é uma decisão crítica para qualquer time que monta workflows de mídia. AWS Elemental MediaConvert e FFHub resolvem o mesmo problema — rodar codificação de vídeo na nuvem — mas partem de filosofias bem diferentes. Este guia compara os dois sem enfeitar, para você escolher a ferramenta certa.

Visão geral rápida

AWS Elemental MediaConvert é o serviço gerenciado de transcodificação da Amazon, parte do ecossistema AWS. Funciona por jobs definidos via JSON, suporta codificação acelerada por hardware e se integra fundo com S3, CloudFront e Lambda.

FFHub é uma API FFmpeg na nuvem, sem firulas. Você manda um comando FFmpeg via REST, o FFHub executa em infraestrutura gerenciada. Se você sabe FFmpeg, já sabe usar FFHub.

Tabela de comparação

RecursoFFHubAWS MediaConvert
Tempo de setupMinutos (pega API key e dispara request)Horas (IAM roles, buckets S3, templates de job, endpoints)
Modelo de APIUm endpoint REST, manda comando FFmpegJSON de job com 100+ parâmetros
Compatibilidade FFmpeg100% — qualquer comando FFmpeg válido rodaSubconjunto — limitado aos codecs e features suportados
Modelo de cobrançaPor segundo de processamento realPor minuto de duração de saída (arredondado pra cima) + transferência
Custo mínimoSem mínimoSem mínimo, mas custos escondidos somam
GPU encodingNão disponívelDisponível (HEVC, AV1 acelerado por hardware)
Codecs suportadosTudo que o FFmpeg suportaH.264, H.265, VP8, VP9, AV1, MPEG-2, Apple ProRes
Fontes de inputURL, upload de arquivo localApenas S3 (ou HTTP com configuração extra)
Vendor lock-inNenhum — comandos FFmpeg padrãoAlto — formato proprietário de job
Compliance enterprisePadrãoSOC, HIPAA, FedRAMP, PCI DSS
CLISim (ffhub CLI)AWS CLI
DashboardHistórico de tasks e logsConsole AWS completo com monitoramento
WebhookSimVia CloudWatch Events + SNS/Lambda

Quanto tempo até subir um setup

FFHub: 2 minutos

  1. Cria conta em ffhub.io
  2. Pega sua API key
  3. Manda o request:
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"
  }'

Pronto. Seu vídeo está sendo processado.

AWS MediaConvert: 1 a 3 horas

Subir o MediaConvert exige vários passos em diferentes serviços da AWS:

Passo 1: criar uma IAM role com a trust policy correta para o MediaConvert:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "mediaconvert.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Passo 2: anexar permissões S3 para o MediaConvert ler o input e escrever o output.

Passo 3: subir o arquivo de origem para o S3:

aws s3 cp input.mp4 s3://my-media-bucket/inputs/input.mp4

Passo 4: criar a especificação do job (versão simplificada — jobs reais costumam ter 100+ linhas):

{
  "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"
            }
          }
        ]
      }
    ]
  }
}

Passo 5: submeter o job:

aws mediaconvert create-job \
  --endpoint-url https://abc123.mediaconvert.us-east-1.amazonaws.com \
  --cli-input-json file://job.json

Passo 6: configurar CloudWatch Events e SNS se quiser receber notificação quando o job terminar.

O equivalente no FFHub para a mesma codificação:

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"
  }'

Uma chamada de API contra seis passos de configuração.

Cálculo real de custo

Cobrança do FFHub

FFHub cobra por segundo de processamento real. Se o job leva 45 segundos, você paga 45 segundos. Sem arredondamento, sem custo escondido.

  • Processamento: $0.005/segundo (tier padrão)
  • Armazenamento: temporário gratuito por 24 horas
  • Transferência de dados: incluída

Cobrança do AWS MediaConvert

MediaConvert cobra por minuto de duração da saída, arredondado pra cima, com taxas que variam por codec, resolução e tier (basic ou professional):

  • SD (H.264, Basic): $0.0075/minuto
  • HD (H.264, Basic): $0.015/minuto
  • 4K (H.264, Basic): $0.030/minuto
  • HD (H.265, Professional): $0.036/minuto

Mais custos adicionais:

  • Armazenamento S3 para input e output
  • Transferência S3
  • Logs no CloudWatch
  • Notificações SNS (se usar)

Exemplo prático

Cenário: transcodificar 1.000 vídeos (média de 5 minutos cada) de H.264 1080p para H.264 720p.

Item de custoFFHubAWS MediaConvert
Processamento~$150 (média 30s por vídeo × 1.000)$75 (5 min × 1.000 × $0.015)
Armazenamento S3$0~$11.50 (input + output, 50GB total)
Transferência S3$0~$4.50 (50GB egress)
CloudWatch$0~$0.50
Total~$150~$91.50

Nesse cenário específico, AWS sai mais barato no processamento puro — mas a conta muda bastante se seus jobs forem curtos (MediaConvert arredonda pra cima por minuto) ou se você somar o tempo de engenharia para montar e manter a pipeline AWS.

Cenário de vídeos curtos: 10.000 clipes com média de 8 segundos cada.

Item de custoFFHubAWS MediaConvert
Processamento~$250 (média 5s por clipe × 10.000)$150 (mínimo 1 min × 10.000 × $0.015)
Overhead AWS$0~$20
Total~$250~$170

Mesmo com o arredondamento por minuto, AWS ainda ganha no custo bruto pra transcodificação simples. Mas considere o custo de engenharia: configurar IAM roles, buckets S3, templates de job, tratamento de erro e monitoramento no MediaConvert leva dias de trabalho. FFHub leva minutos. Para mais sobre rodar FFmpeg em ambientes AWS, veja nosso guia sobre FFmpeg em serverless e Lambda.

Compatibilidade FFmpeg

Aqui as diferenças ficam gritantes.

FFHub: FFmpeg completo

FFHub roda FFmpeg de verdade por baixo. Qualquer comando FFmpeg válido funciona:

# Pipeline de filtros complexo
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

# Concat de múltiplos arquivos
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

# Extrair frames em intervalos específicos
ffmpeg -i input.mp4 -vf "select=not(mod(n\,30))" -vsync vfn frame_%04d.png

# Gerar HLS com múltiplas variantes
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

Se você consegue escrever como comando FFmpeg, FFHub roda.

AWS MediaConvert: subconjunto suportado

MediaConvert suporta um conjunto curado de codecs e features. Você ganha:

  • H.264, H.265, VP8, VP9, AV1, MPEG-2, Apple ProRes
  • Filtros padrão (deinterlace, redução de ruído, correção de cor)
  • Conversão HDR
  • Empacotamento DRM (DRM é um ponto forte)

Mas perde:

  • Pipeline de filtros customizado (-filter_complex)
  • Codecs exóticos (Opus standalone, mux FLAC em vídeo etc.)
  • Mapeamento arbitrário de streams
  • Lógica customizada de extração de frames
  • Vários flags e opções específicas do FFmpeg

Se seu workflow encaixa no que o MediaConvert oferece, isso pode não importar. Mas se você precisa do FFmpeg completo, o MediaConvert vai te limitar.

Onde o AWS MediaConvert ganha

Para ser justo. O MediaConvert é a melhor escolha em vários cenários:

1. Compliance enterprise

MediaConvert tem certificações SOC 1/2/3, HIPAA, FedRAMP e PCI DSS. Se sua organização exige esses padrões, AWS é a escolha clara.

2. Codificação acelerada por GPU

MediaConvert oferece codificação por hardware para H.265 e AV1, entregando processamento bem mais rápido nesses codecs. FFHub usa codificação em CPU.

3. Integração com o ecossistema AWS

Se sua infraestrutura já vive na AWS, MediaConvert se integra nativamente com S3, CloudFront, Lambda, Step Functions e EventBridge. Montar uma pipeline ponta-a-ponta dentro da AWS é tranquilo.

4. DRM e proteção de conteúdo

MediaConvert suporta empacotamento DRM Apple FairPlay, Google Widevine e Microsoft PlayReady direto da caixa. Implementar DRM com FFmpeg puro é bem mais complicado.

5. Workflows enterprise em larga escala

Para organizações que processam milhões de minutos por mês com times dedicados de infra AWS, o preço por minuto e o ferramental maduro do MediaConvert costuma fazer mais sentido econômico.

Onde o FFHub ganha

1. Simplicidade

Um endpoint, um conceito (manda comando FFmpeg, recebe resultado). Sem IAM roles, sem templates de job, sem descoberta de endpoint.

2. Compatibilidade FFmpeg

100% das capacidades do FFmpeg disponíveis. Sem buracos de feature, sem camada de tradução.

3. Sem vendor lock-in

Seus comandos FFmpeg rodam igual no FFHub, na sua máquina local ou em qualquer outro servidor. Migrar é trivial.

4. Velocidade até produção

Você sai do zero pra processar vídeo em menos de 5 minutos. Sem setup de infra.

5. Conteúdo curto

Para vídeos com menos de 1 minuto, cobrança por segundo é bem mais econômica que cobrança por minuto com arredondamento.

6. Experiência de desenvolvimento

Se você sabe FFmpeg, sabe FFHub. Sem DSL nova pra aprender, sem 200 páginas de referência de API pra estudar.

Comparação de código: gerar uma thumbnail

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"
        }
      }]
    }]
  }
}

A versão FFHub é uma linha de FFmpeg que qualquer dev lê. A versão MediaConvert exige conhecer o schema do job spec.

Para quem é cada um

Escolha FFHub se:

  • Precisa de compatibilidade FFmpeg total
  • Quer começar a processar vídeo em minutos, não dias
  • Seu time conhece FFmpeg e quer usar isso direto
  • Está processando conteúdo curto, onde cobrança por segundo importa
  • Quer zero vendor lock-in
  • Precisa de pipeline de filtros complexo ou codecs exóticos

Escolha AWS MediaConvert se:

  • Precisa de certificações enterprise (HIPAA, FedRAMP)
  • Precisa de GPU encoding pra H.265 ou AV1
  • Sua infra já está na AWS e você quer integração profunda
  • Precisa de DRM embutido
  • Tem um time dedicado de mídia, à vontade no ecossistema AWS
  • Processa milhões de minutos por mês e precisa de preço por volume

Veja também como o FFHub se compara ao Coconut e ao Transloadit.

Começando com FFHub

Se simplicidade e compatibilidade FFmpeg importam pra você, experimenta o FFHub.io. Cria conta, pega API key e começa a processar vídeo em minutos — com o FFmpeg completo na mão.

# Instala o CLI
npm install -g ffhub

# Roda seu primeiro comando
ffhub run "ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4"

Conclusão

AWS MediaConvert e FFHub atendem públicos diferentes. MediaConvert é robusto, enterprise, feito pra organizações fundo no ecossistema AWS. FFHub é amigável pra dev, feito pra times que querem o FFmpeg completo sem o overhead de infra.

Nenhum é universalmente "melhor" — a escolha certa depende dos seus requisitos de compliance, suporte a codec, orçamento e velocidade de desenvolvimento. Para muitos times, o caminho mais curto até produção é uma chamada de API ao FFHub. Para outros, as features enterprise do MediaConvert justificam a complexidade extra.

Artigos relacionados

  • FFHub vs Coconut — Como a abordagem FFmpeg-native do FFHub se compara à codificação por presets do Coconut
  • FFHub vs Transloadit — Comparando FFHub com a pipeline de processamento do Transloadit
  • O que é FFHub? — Introdução à API FFmpeg na nuvem do FFHub e como ela funciona
FFHub vs AWS Elemental MediaConvert — Comparação Honesta