Calcule o tempo de renderização de um vídeo
Um programa de dois minutos a 30 quadros por segundo tem 3600 quadros, então um codificador que processa 60 por segundo leva cerca de um minuto, o dobro da velocidade de reprodução. Planeje a fila de renderização antes de reservar uma máquina. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Duração (s)
- 120
- Largura (px)
- 1.920
- Altura (px)
- 1.080
- Taxa de quadros (fps)
- 30
- Velocidade do codificador (fps)
- 60
- Resolução
- 1920x1080
- Total de quadros
- 3.600
- Tempo de renderização estimado (s)
- 60
- Tempo de renderização estimado
- 00:01:00.000
Estime quanto uma codificação deve demorar antes de reservar uma estação, um nó de renderização ou um prazo de entrega. Informe a duração do programa, a largura e a altura de saída, a taxa de quadros e o desempenho do codificador medido nessa resolução. A calculadora transforma a duração em quantidade de quadros, divide esse total pela velocidade de codificação e apresenta o tempo legível e o valor exato. Ela também mostra o fator de tempo real, para você verificar rapidamente se o processo tende a terminar antes ou depois da reprodução.
Use medições referentes ao mesmo trabalho
Uma estimativa útil depende de entradas coerentes. A duração deve representar toda a linha do tempo exportada, inclusive títulos, créditos e qualquer preenchimento mantido no arquivo final. Informe a taxa de saída verdadeira, e não apenas um rótulo arredondado do projeto: 29.97 e 30 quadros por segundo geram totais diferentes em programas longos.
A largura e a altura registram a resolução de destino. Elas não alteram diretamente a conta, pois o desempenho já é expresso em quadros processados por segundo, mas tornam a estimativa verificável: uma medição obtida em uma resolução não deve ser reutilizada sem critério em uma imagem muito maior. Sempre que possível, meça a velocidade com o mesmo codec, preset, profundidade de cor, filtros, hardware e resolução.
Se houver apenas um teste inicial, prefira um desempenho conservador ao melhor pico observado. O resultado auxilia o planejamento, mas cenas complexas, aquecimento e outras cargas podem reduzir a velocidade real.
Entenda a conta e o fator de tempo real
Primeiro, a calculadora multiplica a duração em segundos pela taxa de saída para determinar a quantidade de quadros. Em seguida, divide esse total pelo desempenho do codificador. Um programa de dois minutos a 30 fps contém 3,600 quadros; mantendo 60 fps, o codificador precisa de aproximadamente um minuto.
O fator de tempo real corresponde à velocidade do codificador dividida pela taxa do vídeo. Um valor acima de um significa codificação mais rápida que a reprodução; um representa aproximadamente tempo real; e um valor abaixo de um indica processamento mais lento. A resolução aparece no resultado para preservar o contexto da medição.
Totais fracionários podem surgir ao combinar duração decimal e taxa fracionária. A ferramenta mantém essa estimativa matemática em vez de alterar silenciosamente a duração fornecida.
Planeje com uma margem realista
Considere o resultado como o tempo ativo de codificação nas condições representadas pela medição. Um cronograma completo pode incluir transferência da origem, preparação de cache, análise de áudio, configuração de múltiplas passagens, multiplexação, checksum, upload e controle de qualidade. Essas etapas não estão contidas em uma velocidade de quadros por segundo e precisam ser acrescentadas separadamente.
Para um lote, calcule trabalhos representativos com o menor desempenho sustentado esperado e inclua uma margem baseada na variação histórica. Em sistemas instáveis, uma velocidade conservadora é mais segura para prazos que uma média favorecida por cenas simples. Faça nova medição ao mudar resolução, codec, preset, redução de ruído, escala, conversão de cor ou aceleração de hardware.
Nenhuma mídia é enviada: somente os valores numéricos informados são processados.
Casos de uso
Definir um prazo de exportação
Transforme a duração e um benchmark da estação em uma janela provável antes de confirmar a entrega.
Comparar presets do codificador
Informe o desempenho de presets diferentes na mesma resolução para comparar os tempos previstos.
Dimensionar um lote de renderização
Estime cada trabalho com velocidade conservadora e some depois a transferência e a revisão.
Perguntas frequentes
Por que a taxa de quadros é necessária além da duração?
A velocidade do codificador é dada em quadros por segundo; portanto, a duração precisa ser convertida em quadros pela taxa de saída.
A resolução altera diretamente a fórmula?
Não. Ela determina qual velocidade medida você deve informar. A conta pressupõe uma medição feita para a largura, altura, codec e ajustes declarados.
O que ocorre se a velocidade for zero ou negativa?
A solicitação falha com erro de entrada inválida, pois a divisão por zero é indefinida e uma taxa negativa não tem significado útil.
A estimativa inclui upload ou controle de qualidade?
Não. Ela cobre apenas o processamento ativo dos quadros. Some separadamente transferência, multiplexação, verificação, upload e revisão.
Posso usar uma velocidade média?
Sim, mas uma velocidade sustentada e conservadora, medida com conteúdo representativo, é mais segura para compromissos de prazo.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/video/render-time-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"duration_seconds":120,"width_px":1920,"height_px":1080,"frame_rate_fps":30,"encoder_speed_fps":60}'const res = await fetch("https://api.kit.forhosting.com/video/render-time-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"duration_seconds": 120,
"width_px": 1920,
"height_px": 1080,
"frame_rate_fps": 30,
"encoder_speed_fps": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/render-time-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"duration_seconds": 120,
"width_px": 1920,
"height_px": 1080,
"frame_rate_fps": 30,
"encoder_speed_fps": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/render-time-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"duration_seconds":120,"width_px":1920,"height_px":1080,"frame_rate_fps":30,"encoder_speed_fps":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"duration_seconds":120,"width_px":1920,"height_px":1080,"frame_rate_fps":30,"encoder_speed_fps":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/render-time-estimate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"duration_seconds": 120,
"width_px": 1920,
"height_px": 1080,
"frame_rate_fps": 30,
"encoder_speed_fps": 60
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.render_time_estimate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Entenda a conta e o fator de tempo real
O tempo exibido é arredondado ao milissegundo, e os campos numéricos usam arredondamento estável para que a API e o navegador produzam resultados iguais.
Planeje com uma margem realista
A estimativa custa US$ 0,002 por solicitação de API; a opção de navegador do nível A executa localmente o mesmo cálculo determinístico.