Gravando Legendas no Vídeo: Configurações que Funcionam
legendasvídeoffmpeg

Gravando Legendas no Vídeo: Configurações que Funcionam

BMMamane B. MoussaMay 26, 2026Updated July 2, 202611 min read

Summarize this article with:

Legendas Gravadas vs Soft em Um Minuto

Legendas gravadas (legendas abertas) são pixels incorporados ao quadro do vídeo. Elas aparecem em todos os players, todas as plataformas, sem nenhuma ação do espectador. Legendas soft (closed captions) são faixas de texto separadas anexadas a um arquivo de vídeo. O espectador pode ativá-las ou desativá-las, o mecanismo de busca pode indexá-las, e elas podem ser trocadas por outro idioma sem nova renderização.

Qual delas você precisa depende inteiramente do destino. Para TikTok, Instagram Reels e a maioria dos arquivos de vídeo baixados, gravar é o único caminho confiável. Para YouTube, Vimeo e LinkedIn, faixas soft são a melhor escolha. O restante deste guia foca na gravação: quando ela é necessária, como fazer com FFmpeg ou um editor de vídeo, e os tradeoffs de qualidade e estilização que importam.

Para o oposto — escolher e enviar uma faixa de legenda soft — veja o guia como adicionar legendas ao vídeo. Para a diferença conceitual entre legendas abertas e fechadas, veja o artigo explicativo legendas abertas vs fechadas.

Quando Gravar é Necessário e Quando Não É

O TikTok e o Instagram Reels não oferecem aos espectadores uma alternância de legendas confiável para vídeos enviados por criadores. O Instagram oferece uma figurinha de legenda automática durante a criação do Reel e gera legendas usando reconhecimento de fala, mas não aceita um arquivo SRT pronto que os espectadores liguem ou desliguem. O TikTok Studio inclui um gerador automático de legendas e edição manual de texto, mas não uma verdadeira faixa de closed caption que o espectador possa alternar. Em ambas as plataformas, texto gravado é a única forma de garantir que todo espectador veja suas legendas, independentemente do dispositivo ou das configurações.

Plataformas onde você NÃO deve gravar, e deve usar uma faixa soft em vez disso:

  • YouTube: Envie um arquivo SRT ou VTT pelo YouTube Studio. Os espectadores podem ativar legendas, trocar idiomas, e o Google pode indexar o texto.
  • LinkedIn: O LinkedIn aceita arquivos SRT anexados durante o envio do vídeo. A plataforma exibe as legendas como uma sobreposição ativável.
  • Vimeo: Suporta uploads de SRT/VTT como faixas alternáveis.
  • Facebook: Aceita uploads de SRT, embora o sistema próprio de legendas automáticas do Facebook geralmente cuide disso sozinho.

Um híbrido prático para criadores multiplataforma: grave uma versão estilizada para redes sociais de formato curto e envie um SRT limpo junto com a versão do YouTube. O arquivo de legenda de origem é o mesmo; só a exportação muda.

Passo 1: Deixe o SRT Correto Antes de Gravar

Legendas gravadas não podem ser editadas depois da renderização. Refazer uma hora de vídeo 4K para corrigir três erros de digitação custa tempo real de renderização. Antes de mexer no FFmpeg ou no seu editor, revise o SRT.

Lista de verificação rápida antes de começar:

  • Leia cada linha do SRT em um editor de texto.
  • Confira os timecodes contra o áudio em três ou quatro pontos aleatórios.
  • Mantenha os blocos de legenda em duas linhas no máximo, 42 caracteres por linha no máximo.
  • Confirme se nomes próprios, nomes de marcas e números estão corretos.
  • Certifique-se de que a fonte que pretende usar cobre todos os caracteres do arquivo (escritas não latinas exigem atenção aqui).

Se você ainda não tem um SRT, o gerador de legendas retorna um SRT com marcação de tempo em minutos e suporta 99 idiomas.

A ferramenta geradora de legendas produz um arquivo SRT baixável pronto para gravação
A ferramenta geradora de legendas produz um arquivo SRT baixável pronto para gravação

Passo 2: Grave com o FFmpeg

O FFmpeg é o caminho mais rápido para gravações pontuais e para processamento em lote. O comando principal:

ffmpeg -i input.mp4 -vf "subtitles=captions.srt" -c:a copy output.mp4

A flag -vf aplica um filtro de vídeo. O filtro subtitles lê o SRT via renderizador libass e sobrepõe o texto. A flag -c:a copy copia a faixa de áudio sem recodificá-la.

Por padrão, isso renderiza texto branco com contorno preto perto da parte inferior do quadro. Para uma saída estilizada, passe parâmetros via force_style:

ffmpeg -i input.mp4 \
  -vf "subtitles=captions.srt:force_style='Fontname=Arial,FontSize=24,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,BorderStyle=3,Outline=2,Shadow=1,Alignment=2,MarginV=40'" \
  -c:a copy \
  output.mp4

Duas coisas para saber sobre a sintaxe do force_style:

  1. Valores de cor usam formato ASS/BGR, não RGB. &H00FFFFFF é branco (00=alfa, FF=azul, FF=verde, FF=vermelho na ordem BGR). Se você copiar uma cor hexadecimal HTML diretamente, vai ficar errado.
  2. BorderStyle=3 adiciona uma caixa de fundo atrás do texto. BorderStyle=1 adiciona um contorno. O estilo caixa fica melhor em fundos de vídeo movimentados.

Qualidade e tamanho do arquivo

Gravar legendas força uma recodificação completa do vídeo. O áudio é copiado, mas os quadros de vídeo são decodificados, compostos com o texto e recodificados. Para saída H.264, o FFmpeg usa CRF 23 por padrão, o que é aceitável para entrega na web. Se você está trabalhando a partir de uma fonte de alta qualidade e quer minimizar a perda de geração, passe -crf 18 ou -crf 20:

ffmpeg -i input.mp4 \
  -vf "subtitles=captions.srt:force_style='Fontname=Arial,FontSize=24,BorderStyle=3,Alignment=2,MarginV=40'" \
  -c:v libx264 -crf 18 -c:a copy \
  output.mp4

CRF menor = maior qualidade = arquivo maior. Para uploads em redes sociais, CRF 20-23 é uma meta razoável. Para entrega de arquivamento, CRF 18. Evite passar de 28, ou a própria renderização do texto vai ficar quadriculada.

Passo 3: Grave em um Editor de Vídeo

Se você prefere uma pré-visualização enquanto trabalha, todos os editores principais fazem a gravação. O fluxo de trabalho é consistente entre Premiere Pro, DaVinci Resolve, Final Cut Pro e CapCut:

  1. Importe o vídeo para a timeline.
  2. Importe o SRT como faixa de legenda ou subtítulo (o Resolve chama de Subtitles; o Premiere chama de Captions).
  3. Escolha fonte, tamanho, cor e posição usando as ferramentas de estilo de legenda.
  4. Na exportação, escolha a opção que incorpora as legendas ao vídeo.

No DaVinci Resolve, vá para a página Deliver, abra Subtitle Settings, marque Export Subtitle e selecione "Burn into video" no menu suspenso de formato. Essa configuração renderiza as legendas permanentemente no quadro.

No Premiere Pro, marque "Export Captions" na janela de exportação e selecione "Burn captions into video" em vez de "Sidecar file."

A vantagem sobre o FFmpeg é a pré-visualização em tempo real: você vê as legendas na timeline e pode navegar para conferir o timing antes de se comprometer com uma renderização. A desvantagem é que editores às vezes estragam a importação de SRTs, especialmente com caracteres não ASCII ou quebras de linha incomuns. Teste em um clipe curto antes de exportar o vídeo completo.

Para gravações em lote multilíngues, o FFmpeg é mais confiável que um editor com interface gráfica, porque você pode automatizar a troca do SRT por script:

for lang in en es fr de; do
  ffmpeg -i input.mp4 \
    -vf "subtitles=captions-${lang}.srt:force_style='Fontname=Arial,FontSize=24,BorderStyle=3,Alignment=2,MarginV=40'" \
    -c:v libx264 -crf 20 -c:a copy \
    output-${lang}.mp4
done

Cada versão de idioma é uma renderização separada. Os timecodes permanecem iguais entre as traduções, então você está apenas trocando o arquivo de texto. Veja o guia fluxo de trabalho de tradução de legendas para o pipeline completo.

Passo 4: Estilize para a Plataforma

Legendas gravadas precisam ser dimensionadas para o layout real do espectador da plataforma, e não apenas para "parecer legível na minha timeline".

TikTok e Instagram Reels (9:16 vertical): Texto branco, tamanho de fonte equivalente a 36-48px, caixa de fundo com cerca de 70% de opacidade. Centralizado horizontalmente. Posicione a 60-70% da altura do quadro para ficar acima da barra inferior de UI do TikTok e abaixo do indicador de progresso superior. Uma linha é o visual mais limpo; duas linhas ocasionalmente, para frases mais longas.

YouTube Shorts (9:16 vertical): A UI do YouTube ocupa menos espaço de tela que a do TikTok, então você tem um pouco mais de margem. Texto branco, sombra projetada em vez de caixa, posição em torno de 70% da altura. Fonte na faixa de 42-56px.

Feed do Instagram (quadrado 1:1): O formato quadrado dá espaço horizontal. Texto branco com sombra sutil, 28-36px, duas linhas no máximo, posicionado a 80% da altura.

YouTube, LinkedIn, vídeo horizontal (16:9): Posição padrão no terço inferior. Texto branco com contorno preto, 24-32px, duas linhas no máximo, 42 caracteres por linha no máximo. MarginV=30 ou MarginV=40 no force_style do FFmpeg mantém o texto afastado da borda inferior.

O post melhores práticas de estilização de legendas traz medidas precisas de zona segura por plataforma.

Problemas Comuns na Gravação e Soluções

O texto parece borrado ou serrilhado. Isso quase sempre é Outline=0 no seu force_style. O texto se mistura ao ruído do vídeo sem contorno. Defina Outline=1 ou Outline=2.

As legendas ficam fora de sincronia depois da gravação. Geralmente é uma incompatibilidade de framerate. O SRT foi cronometrado contra uma fonte de 30fps, mas você está gravando numa timeline de 29,97fps, ou vice-versa. Ou reajuste o tempo do SRT, ou iguale o framerate de saída ao da fonte usando -r 30 no seu comando FFmpeg.

Caracteres especiais aparecem como quadrados. A fonte padrão não inclui essa escrita. Para árabe, chinês, devanágari, tailandês ou cirílico, defina Fontname=Noto Sans no force_style. O Noto Sans tem a cobertura de glifos mais ampla entre as fontes disponíveis gratuitamente. Para idiomas europeus com diacríticos, a maioria das fontes do sistema funciona bem.

As cores parecem erradas no force_style. Lembre-se de que os valores de cor são BGR, não RGB. &H0000FF em BGR é vermelho, não azul. Teste com um clipe curto antes da renderização completa.

Arquivo grande depois da gravação. Gravar recodifica o vídeo. Se antes você estava apenas copiando o stream, a saída codificada será maior. Use -crf 20 a -crf 23 como ponto de partida para tamanhos de arquivo de entrega na web.

Minha opinião: para redes sociais de formato curto, o FFmpeg com um template force_style salvo como alias de shell é o fluxo de trabalho repetível mais rápido. Você roda um comando, espera a codificação, e a saída está pronta para upload. O caminho do editor visual vale a pena quando você precisa fazer edições de timing por legenda ou quando o projeto tem decisões complexas de estilização difíceis de expressar em parâmetros ASS.

Perguntas Frequentes

Qual é a diferença entre legendas gravadas e legendas soft?

Legendas gravadas (também chamadas de legendas abertas ou hardcoded) são renderizadas diretamente nos pixels do vídeo. Elas não podem ser desligadas, reestilizadas ou traduzidas pelo espectador, e tocam em qualquer dispositivo sem nenhum suporte a faixa de legenda. Legendas soft (closed captions) são uma faixa de texto separada anexada ao arquivo de vídeo ou enviada junto com ele. Os espectadores podem ativá-las ou desativá-las, e as plataformas podem indexar o texto para busca.

O TikTok e o Instagram suportam faixas de legenda soft que os espectadores podem alternar?

Não de forma confiável para vídeos enviados por criadores. O Instagram não aceita um arquivo SRT pronto que os espectadores liguem ou desliguem. O TikTok Studio tem um gerador automático de legendas, mas não uma faixa de closed caption alternável equivalente ao botão CC do YouTube. Legendas gravadas são a abordagem segura e garantidamente visível para ambas as plataformas.

Gravar legendas reduz a qualidade do vídeo?

Sim, porque gravar exige uma recodificação completa do vídeo. O grau de perda de qualidade depende da sua configuração de CRF. O FFmpeg usa CRF 23 por padrão com libx264, o que é aceitável para entrega na web. Para maior qualidade com um arquivo maior, use CRF 18-20. O áudio não é recodificado quando você passa -c:a copy, então não há perda de qualidade de áudio.

Posso gravar legendas em vários idiomas sem regravar o vídeo?

Sim. Cada versão de idioma precisa de uma renderização separada, mas o arquivo de vídeo e os timecodes são idênticos. Você só troca o arquivo SRT entre execuções. Um pequeno loop de shell no FFmpeg cuida disso automaticamente: itere sobre seus arquivos SRT de idiomas, aponte o filtro subtitles para cada um e gere um arquivo separado por idioma.

Fontes

Try transcription free

Convert any audio or video to clean, unwatermarked text — speaker labels, timestamps, and AI summaries included. First 10 minutes free, no account.

Related Articles