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.

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
| Recurso | FFHub | AWS MediaConvert |
|---|---|---|
| Tempo de setup | Minutos (pega API key e dispara request) | Horas (IAM roles, buckets S3, templates de job, endpoints) |
| Modelo de API | Um endpoint REST, manda comando FFmpeg | JSON de job com 100+ parâmetros |
| Compatibilidade FFmpeg | 100% — qualquer comando FFmpeg válido roda | Subconjunto — limitado aos codecs e features suportados |
| Modelo de cobrança | Por segundo de processamento real | Por minuto de duração de saída (arredondado pra cima) + transferência |
| Custo mínimo | Sem mínimo | Sem mínimo, mas custos escondidos somam |
| GPU encoding | Não disponível | Disponível (HEVC, AV1 acelerado por hardware) |
| Codecs suportados | Tudo que o FFmpeg suporta | H.264, H.265, VP8, VP9, AV1, MPEG-2, Apple ProRes |
| Fontes de input | URL, upload de arquivo local | Apenas S3 (ou HTTP com configuração extra) |
| Vendor lock-in | Nenhum — comandos FFmpeg padrão | Alto — formato proprietário de job |
| Compliance enterprise | Padrão | SOC, HIPAA, FedRAMP, PCI DSS |
| CLI | Sim (ffhub CLI) | AWS CLI |
| Dashboard | Histórico de tasks e logs | Console AWS completo com monitoramento |
| Webhook | Sim | Via CloudWatch Events + SNS/Lambda |
Quanto tempo até subir um setup
FFHub: 2 minutos
- Cria conta em ffhub.io
- Pega sua API key
- 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 custo | FFHub | AWS 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 custo | FFHub | AWS 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