Calcule o tempo de renderização de um vídeo
Estime quanto uma codificação deve demorar antes de reservar uma estação, um nó de renderização ou um prazo de entrega.
Executar grátis
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. 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
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. 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. 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.
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. |