Mencoder: Adicionando legenda em um vídeo

Mplayer: http://www.mplayerhq.hu
Mplayer: http://www.mplayerhq.hu

Uma legenda no formato .srt, pode ser inserida em um vídeo com diversos programas/ferramentas. Vou mostrar que mencoder é uma das opções mais simples e rápida para isso.

O mencoder é instalado junto com o pacote do Mplayer. Mais detalhes de como instalar, visite: Mplayer: Projeto baseado no FFmpeg

Antes de adicionar a legenda ao vídeo, verifique se existe o arquivo subfont.ttf na pasta do mplayer. Sem esse arquivo de fonte, o mencoder não consegue “escrever” no vídeo.

Criando o subfont.ttf

No windows, basta copiar uma font .ttf, colar na pasta do Mplayer e renomear para subfont.ttf

No linux, procure pelas fontes .ttf com o comando: locate ttf | grep ttf\$
Depois copie a fonte para o diretório local do mplayer. No meu caso:  (Utilizei a fonte VERA)
cp /usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf ~/.mplayer/subfont.ttf

Testando a legenda:

Antes de inserir a legenda, podemos e devemos testa-la. Para isso rode o comando:
mplayer -sub legenda.srt video_original.avi
Assim, você pode ver mais ou menos como a legenda vai ficar, em relação a fonte escolhida.

Inserindo a legenda:

Comando:
mencoder video_original.avi -sub legenda.srt -subpos 95 -subfont-text-scale 3 -subcp enca:gr:iso-8859-1 -vf expand=640:384 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800:vhq -oac copy -o video_com_legenda.avi

Onde:
video_original.avi= Vídeo de entrada
legenda.srt=  Legenda a ser inserida
video_com_legenda.avi= Vídeo de Saída

Parâmetros:
-subpos= Especifica em que % da tela a legenda irá aparecer (A partir do topo)
-subfont-text-scale= Especifica o tamanho da legenda no vídeo
-subcp= Especifica a codificação do arquivo de legenda
-vf= Especifica o tamanho do vídeo. Neste caso, o vídeo original era 640 x 272, adicionei mais 112px na altura (384px) utilizando expand,ou seja, o vídeo vai ficar com uma tarja preta de 56px em cima e em baixo.
-ovc= Especifica o codec de vídeo. Neste caso lavc.
-lavcopts = Opções do lavc. Especifica o nome do codec, bitrate,…, do vídeo.
-oac= Especifica o áudio. O valor copy, copia o áudio exatamente como o original.
-o= Especifica o arquivo de saída.

OBS: O comando do mencoder foi testado e executado no Linux. Para rodar o comando em windows, veja aqui.

 

Share
  • Juarez Queiroz

    Muito interessantes os seus posts.

  • Fico feliz que tenha gostado. 🙂 Obrigado pela visita e volte sempre ! 😉

  • Eu uso o BSPlayer.
    Basta a legenda estar na mesma pasta do vídeo e com o mesmo nome (diferenciando apenas pela extensão) que o player se encarrega de importar a legenda automaticamente.

  • Olá Rodrigo,
    No caso ele só reproduz o vídeo com a legenda, ou ele consegue exportar o vídeo com a legenda imbutida ?

  • instalei o mplayer no meu vps depois rodei o codigo q vc sitou e consegui fazer o encode tudo no server vlw pela dica

  • Que bom que conseguiu. =)

    Qualquer coisa, estamos aí.

    Abraços,

    • Allan

      Rafael tem como eu colocar a data no lugar da legenda?
      tipo com mencoder eu posso capturar imagem e eu queria capturar junto com data e hora

      • o que você pretende fazer exatamente ?

        • Allan

          eu estou tentando fazer uma gravação de uma webcam(eu ja tenho o script)so que no video eu quero colocar a data e a hora que ele esta sendo gravado quem nem um DVR(standalone).

          • Quanto a colocar a hora eu não sei se posso te ajudar… De uma pesquisada no google, de preferencia em ingles, pois trás mais resultados.

            Boa sorte… Abraços,

            • Allan

              ok