Como colocar legenda em vídeo com SRT usando o Rendi
Veja como colocar legenda em vídeo com um arquivo SRT e a API do Rendi, do envio ao controle de qualidade do MP4, sem manter o FFmpeg na sua infraestrutura.

Este fluxo mostra como colocar legenda em vídeo: transforme um vídeo aprovado e um arquivo SRT revisado em um MP4 legendado sem adicionar um worker de vídeo à sua própria infraestrutura. O Rendi recebe o filtro de legendas convencional do FFmpeg como um job de API, fornece um ID de comando e disponibiliza uma saída armazenada quando a renderização termina com sucesso. O limite importante é simples: o processo grava nos pixels as legendas que já existem. Ele não transcreve a fala nem decide se o texto está correto.
Como colocar legenda em vídeo: resposta direta
Grave o SRT no vídeo quando todo espectador precisar ver as mesmas legendas, independentemente do que o player fizer com as faixas de legenda. Mantenha o SRT separado quando o público precisar desativar as legendas, trocar de idioma ou usar os controles de acessibilidade do player.
Com o Rendi, o fluxo prático é este:
- Confira juntos o vídeo final e o SRT.
- Disponibilize os dois arquivos em URLs que o Rendi consiga acessar ou primeiro envie os arquivos locais ao Rendi.
- Envie o comando de legendas do FFmpeg documentado pela plataforma.
- Consulte o ID do comando periodicamente ou deixe um webhook receber o resultado final.
- Verifique os metadados do MP4 e assista à saída inteira antes de enviar novos jobs.
Essa ordem faz diferença. Mesmo quando o encoder conclui o trabalho, a entrega pode sair ruim se uma legenda entrar antes da hora, um nome estiver errado ou o texto ficar escondido pela interface da plataforma.

O papel do Rendi neste fluxo
O Rendi é a sala de máquinas, não o editor. Você envia a mesma instrução do FFmpeg que executaria localmente, mas por uma API HTTP. Pense na requisição como uma ordem de serviço: os aliases de entrada informam onde estão os materiais, a string do FFmpeg descreve a operação e o alias de saída dá nome à peça pronta.
O schema atual da requisição exige ffmpeg_command e output_files. As chaves de entrada começam com in_, as de saída começam com out_, e esses mesmos nomes reaparecem no comando entre chaves duplas. Quando o envio é aceito, a resposta traz um command_id, que funciona como o protocolo do job.
No caminho mais simples, o vídeo e o SRT ficam em URLs HTTP públicas ou assinadas por tempo limitado, com o nome do arquivo no final. Um caminho local no seu notebook não é uma URL de entrada. O Rendi também oferece um fluxo multipart de upload direto para arquivos locais, com suporte a arquivos de até 5 TB, mas essa é uma etapa de preparação à parte.
Legendas fixas e faixas selecionáveis são saídas diferentes
Legendas gravadas passam a fazer parte de cada frame decodificado. Isso torna a aparência previsível, mas também torna a decisão permanente. Corrigir a grafia de uma palavra exige renderizar outro vídeo, e o espectador não consegue ocultar as legendas.
Já uma faixa de legenda selecionável permanece separada da imagem. O próprio exemplo de legendas do Rendi recomenda mov_text para uma faixa opcional em MP4 e não usa o filtro de vídeo. Assim, o espectador mantém o controle e o texto não fica incorporado à imagem.

A regra é direta: use um master de revisão com legendas fixas ou um arquivo para redes sociais quando a prioridade for a consistência visual. Preserve o SRT original e ofereça uma faixa selecionável ou um arquivo sidecar sempre que acessibilidade, busca, tradução ou escolha do espectador forem importantes.
Revise o SRT antes de gastar uma renderização
A renderização mais barata é aquela que você não precisa repetir. Revise o SRT junto à versão final exata do vídeo, não a uma exportação anterior. Confira a ordem das entradas, os horários de início e fim, a grafia de nomes e números, as quebras de linha intencionais e uma amostra representativa de caracteres acentuados ou não latinos. Procure legendas que entrem em conflito com os lower thirds ou fiquem perto demais da borda inferior.
Não misture mentalmente a transcrição por IA com esta etapa. O reconhecimento de fala pode gerar um rascunho do SRT em um ponto anterior do fluxo, mas o arquivo só deve chegar aqui depois que uma pessoa ou um processo confiável de revisão tiver aprovado o texto e a sincronização. Neste fluxo, o papel do Rendi é renderizar.
Envie ao Rendi um job com estilo definido
Este exemplo em Node.js usa o vídeo e o SRT públicos de demonstração do Rendi, portanto basta ter RENDI_API_KEY para executá-lo. O payload segue os nomes de campos e as regras de alias da OpenAPI ativa do Rendi. Os valores de force_style produzem texto branco com contorno preto e margem inferior, enquanto libx264 e AAC geram o MP4 descrito na receita de legendas do Rendi.
const headers = {
"X-API-KEY": process.env.RENDI_API_KEY,
"Content-Type": "application/json",
};
const submit = await fetch("https://api.rendi.dev/v1/run-ffmpeg-command", {
method: "POST",
headers,
body: JSON.stringify({
input_files: {
in_video: "https://storage.rendi.dev/sample/big_buck_bunny_720p_16sec.mp4",
in_srt: "https://storage.rendi.dev/sample/subtitles.srt",
},
output_files: { out_1: "subtitled.mp4" },
ffmpeg_command:
"-i {{in_video}} -vf \"subtitles={{in_srt}}:force_style='FontSize=22,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,BorderStyle=1,Outline=2,Shadow=0,MarginV=36'\" -c:v libx264 -crf 20 -c:a aac -b:a 192k {{out_1}}",
}),
});
if (!submit.ok) throw new Error(await submit.text());
const { command_id } = await submit.json();
for (;;) {
const poll = await fetch(
`https://api.rendi.dev/v1/commands/${command_id}`,
{ headers: { "X-API-KEY": process.env.RENDI_API_KEY } },
);
const job = await poll.json();
if (job.status === "SUCCESS") {
console.log(job.output_files.out_1);
break;
}
if (job.status === "FAILED") throw new Error(job.error_message);
await new Promise((resolve) => setTimeout(resolve, 2000));
}O filtro de legendas altera os frames, portanto é necessário recodificar o vídeo. Você pode ajustar estilo, codec e qualidade, mas trate cada mudança como uma nova saída que precisa ser revisada. O guia oficial de FFmpeg do Rendi também documenta fontes personalizadas por meio de fontsdir e FontName. Teste exatamente a fonte e o conjunto de glifos antes de aplicá-los a uma biblioteca inteira.
O que foi realmente testado
Em 11 de setembro de 2026, o endpoint, os campos da requisição, as regras de alias, os valores de status e os campos de resposta acima foram conferidos no arquivo OpenAPI ativo do Rendi. O filtro de legendas exato também foi executado localmente com o FFmpeg 8.0.1 usando o vídeo e o SRT públicos de demonstração do Rendi. O resultado foi um MP4 de 16 segundos, com resolução de 1280 por 720, vídeo H.264 e áudio AAC; um frame aos cinco segundos exibia claramente a legenda esperada.
Nenhum job foi enviado à nuvem do Rendi porque este ambiente não continha uma chave de API do serviço. O código foi conferido contra o schema e a operação do FFmpeg foi verificada localmente, mas não há aqui qualquer alegação de execução na nuvem.
Consulte jobs curtos; use webhooks nos mais longos
O endpoint de status do Rendi pode retornar QUEUED, PROCESSING, PREPARED_FFMPEG_COMMAND, FAILED ou SUCCESS. Não confunda um POST aceito com um vídeo pronto. Aguarde um estado final, exponha error_message em caso de falha e só leia a saída depois do sucesso.
O Rendi recomenda polling para jobs com previsão de conclusão em cerca de 30 segundos ou menos e o uso de webhook para trabalhos mais longos. O webhook carrega os mesmos dados do comando concluído que o polling. Em produção, torne o handler de conclusão idempotente, responda rápido e mantenha o polling como caminho de recuperação caso a entrega do webhook venha a falhar.
Para saídas confidenciais, defina is_private: true em um plano pago e solicite uma URL pré-assinada durante o polling. O armazenamento público é o padrão. Um arquivo privado não tem URL pública permanente, e o link de download solicitado pode valer por no máximo 7 dias.
Inspecione a saída antes de processar em lote
O status SUCCESS comprova que o FFmpeg terminou. Não comprova que as legendas ficaram boas. Verifique tanto a resposta legível por máquina quanto a imagem em si.
Primeiro, confirme se output_files.out_1 existe e se o respectivo storage_url abre. Compare duração, dimensões, codec e formato de arquivo retornados com a entrega pretendida. Depois, assista ao vídeo inteiro e dê atenção especial à primeira e à última legenda, à troca mais rápida, às quebras de linha, aos nomes, aos números e às legendas próximas de cortes ou elementos gráficos sobrepostos.
Só depois dessa revisão o mesmo preset de estilo deve entrar em uma fila. Armazene juntos a revisão do vídeo de origem, a revisão do SRT, o comando FFmpeg, o ID de comando do Rendi, o ID do arquivo de saída e a decisão do revisor. Esse registro transforma um amontoado de renderizações em um sistema de produção.
O cálculo de custo depende de bytes, não de minutos
O Rendi contabiliza o tamanho somado das mídias de entrada e saída. No exemplo de preços da empresa, uma entrada de 1 GB mais uma saída de 0.5 GB consomem 1.5 GB de processamento. Sob essa ilustração exata, a franquia de 50 GB do plano Free cobre 33 jobs completos e deixa 0.5 GB, enquanto os 250 GB do plano Pro de entrada cobrem 166 jobs completos e deixam 1 GB.

Essas quantidades de jobs são apenas o resultado aritmético do exemplo do Rendi, não um benchmark de legendas. Um MP4 com legendas gravadas pode ficar maior ou menor conforme a origem, as configurações de codec e a saída. Meça a soma real de entrada e saída antes de projetar o volume.
O Free custa $0 por mês, inclui 50 GB de processamento e limita cada comando a 1 minuto de execução. O Pro de entrada custa $25 por mês, inclui 250 GB e eleva o limite do comando para 10 minutos. A análise completa dos preços do Rendi aborda as configurações maiores de CPU e de execução sem limite, por isso não há motivo para repetir toda a matriz aqui.
A comparação relevante é operacional. O Kapwing Pro é anunciado por $16 por membro ao mês na cobrança anual ou $24 na mensal. Um editor visual é mais fácil para um trabalho avulso e ocasional. O Rendi faz mais sentido quando finalizar legendas é uma etapa repetível do sistema, acionada por ativos aprovados e acompanhada sem exigir que outra pessoa abra um editor.
Sete fluxos de trabalho que mais se beneficiam
A melhor aplicação não é qualquer caso em que alguém adiciona legendas. É a equipe que já tem um SRT aprovado e repete continuamente a renderização final.
Três produtos que valem a pena construir
1. Um finalizador de legendas em lote que protege a marca
Esta é a oportunidade mais forte. Crie um portal enxuto para equipes de conteúdo e agências: URL de vídeo aceita, SRT aprovado, preset de estilo nomeado, página de revisão e MP4 para download. O produto vende repetibilidade e aprovação, não mais um editor de uso geral.
Cerca de 1,900 buscas mensais nos EUA são feitas por add subtitles to a video, enquanto o Kapwing Pro parte de $16 por membro ao mês na cobrança anual. A demanda é ampla o suficiente para adquirir usuários, e o fluxo recorrente das equipes é específico o bastante para sustentar um produto focado.
A menor versão comercializável precisa de entradas por URL assinada, validação de SRT, alguns presets de marca bloqueados, envio ao Rendi, tratamento de webhook, metadados de saída e aprovação ou rejeição humana. O problema é a diferenciação. É fácil copiar um formulário em torno de uma única chamada ao FFmpeg. O valor duradouro precisa vir do histórico de aprovações, de regras de marca reutilizáveis, da correspondência entre revisões e de uma recuperação confiável em caso de falha.
2. Uma API de renderização de legendas voltada à automação
Ofereça um endpoint estável a agências que não querem expor seus clientes à sintaxe do FFmpeg. O cliente envia uma URL de vídeo, uma URL de SRT, o nome do preset e uma URL de callback. Seu serviço traduz o preset em um comando revisado e devolve um resultado de job normalizado.
Burn subtitles into video registra 40 buscas mensais nos EUA e um CPC de $8.16. O volume é pequeno, mas a intenção é excepcionalmente específica. A pergunta de PAA “Como posso gravar permanentemente legendas SRT em um vídeo?” é praticamente o pedido do produto.
Um MVP precisa de autenticação, validação da requisição, mapeamento do job do Rendi, chaves de idempotência, verificação do webhook, estado seguro para novas tentativas e registros de uso. O problema é a distribuição. A busca, sozinha, não sustentará o negócio, e o Rendi já oferece a API subjacente. O wrapper precisa vencer por meio de integrações com agências, presets, observabilidade e suporte.
3. Uma pré-verificação de legendas com entrega em dois formatos
Crie uma etapa de revisão que confira um SRT em relação a um vídeo final e, a partir do par aprovado, gere um MP4 de revisão com legendas gravadas e um MP4 de entrega com faixa selecionável. O comprador é uma equipe de localização, treinamento ou operações de mídia que vive perdendo o controle de qual revisão da legenda corresponde a qual corte.
A pergunta real de PAA “Como adiciono legendas SRT a um vídeo?” aparece ao lado da confusão recorrente entre legendas permanentes e selecionáveis nos resultados atuais. O produto resolve as duas necessidades sem obrigar o operador a decidir sozinho os detalhes do contêiner.
O MVP precisa de análise dos blocos de legenda, comparação de duração, prévia da área segura, IDs de revisão, duas receitas controladas de FFmpeg e um registro de aprovação. O problema é que a validação básica de SRT é um recurso, não uma empresa. O histórico de revisão e os controles de entrega precisam gerar valor suficiente para que as equipes mantenham o produto no processo de lançamento.
Limites e uma avaliação honesta
O Rendi retira a infraestrutura do FFmpeg deste fluxo. Não elimina a responsabilidade editorial. Ele não corrige uma transcrição, conserta uma sincronização ruim, escolhe quebras de linha legíveis nem decide se legendas gravadas são o formato certo para acessibilidade.
Também não há como tornar a incorporação sem perdas. O filtro de legendas muda os frames do vídeo, por isso o material é recodificado. Qualidade, tempo de execução e tamanho da saída dependem do comando e da origem. O limite de segurança padrão da API é de 300 segundos, enquanto o plano define o máximo que pode ser solicitado. Um job longo ou computacionalmente pesado exige um plano cujo teto de execução comporte a codificação real.
Não use esse caminho para um único clipe casual se uma ferramenta gratuita no navegador já resolver o trabalho. Não grave as legendas na imagem quando o público precisar ativá-las e desativá-las. Não processe em lote um estilo que ainda não foi revisado. O Rendi se destaca quando a mesma regra aprovada de finalização precisa rodar de forma confiável em muitos ativos.
O próximo passo para segunda-feira
Separe um vídeo curto e aprovado e seu SRT final. Coloque os dois atrás de URLs acessíveis, execute o payload de exemplo com o estilo escolhido, confira os metadados retornados e assista ao MP4 inteiro na menor tela compatível. Só depois dessa revisão salve o comando aprovado como preset. Em seguida, conecte o preset ao ponto em que seu fluxo já marca o vídeo e as legendas como aprovados.
Como gravar permanentemente legendas SRT em um vídeo?
Use o filtro de vídeo subtitles do FFmpeg para renderizar o texto em todos os frames e depois codifique um novo vídeo. No Rendi, associe o vídeo de origem e o SRT a aliases in_, associe o nome do MP4 a um alias out_, envie o comando e aguarde SUCCESS antes de baixar e revisar o arquivo.
Como gravar legendas em um vídeo?
Comece pelo vídeo final e por um arquivo de legendas aprovado. Escolha um comando de incorporação quando o texto precisar ficar sempre visível. Use uma faixa selecionável quando o espectador tiver que controlá-la. No Rendi, o caminho documentado para gravar legendas usa -vf subtitles={{in_srt}} e recodifica o vídeo.
Como colocar legendas SRT em um vídeo?
Você pode gravar o SRT nos pixels ou anexá-lo como uma faixa de legenda separada. A gravação mantém a aparência fixa em qualquer lugar, mas não pode ser desativada. Uma faixa opcional continua editável e selecionável. O Rendi documenta tanto o filtro subtitles para incorporação quanto mov_text para uma faixa selecionável em MP4.
Como gravar legendas em um vídeo com o HandBrake?
O HandBrake oferece uma interface de desktop para adicionar um SRT externo e marcá-lo para incorporação. É uma escolha sensata para trabalhos manuais ocasionais. O Rendi atende a outra necessidade: enviar a operação equivalente do FFmpeg por uma API quando a renderização faz parte de um sistema automatizado.
Se quiser incorporar à sua empresa um pipeline de mídia revisado como este, conheça os sistemas de produção com IA.
- Última atualização
- 11 de set. de 2026
- Categoria
- Build







