Adicione texto de marca d'água no vídeo mkv usando a versão do windows ffmpeg

0

Eu quero adicionar um texto de marca d'água a um vídeo .mkv usando ffmpeg no Windows. Eu quero que a marca d'água seja como uma legenda que começa no segundo minuto e dura 30 segundos e diz: "copyright para mysite.com".

Eu tentei mkvmerge para adicionar uma legenda, mas ela pode ser facilmente excluída por outras pessoas, então agora estou contando com ffmpeg para fazer isso por mim. Alguém pode me ajudar com o processo?

Eu quero que a marca d'água esteja realmente no vídeo, por isso não pode ser excluída usando mkvmerge .

    
por sajjad hosseini 27.03.2015 / 23:00

1 resposta

2

Você pode usar os subtitles ou drawtext filtra para colocar texto em vídeo, mas como em qualquer filtro de vídeo, os dois métodos exigem que o vídeo seja recodificado .

subtitles filter

  • Aceita um arquivo de legendas nos formatos ASS ou SRT. Estes podem ser facilmente feitos com aegisub , ou mesmo através de um editor de texto.

  • Esse filtro produzirá hardsubs , que são legendas que se tornam parte do vídeo. Eles não podem ser ativados ou desativados.

  • O tempo é controlado pelo arquivo de legendas.

  • As legendas
  • ASS devem permitir efeitos mais sofisticados do que as legendas SRT ou o uso do filtro drawtext .

Exemplo

ffmpeg -i in.mkv -map 0 -vf subtitles=subs.ass -c copy -c:v libx264 out.mkv
  • Este exemplo substituirá o comportamento padrão seleção de fluxo e mapeará todos os fluxos da entrada com -map 0 .

  • Todos os fluxos serão copiados , exceto os fluxos de vídeo que serão exibidos codificado.

  • O filtro também pode se referir a um fluxo de legendas existente no arquivo de entrada, como subtitles=video.mkv ou subtitles=video.mkv:si=1 .

drawtext filter

Este filtro irá desenhar texto no vídeo. Geralmente usado para uma simples palavra ou frase. A hora em que é exibida pode ser controlada com a enable option .

Exemplo

ffmpeg -i in.mkv -map 0 -vf "drawtext=enable='between(t,120,150)':fontsize=20: \
font=Sans:text='© mysite.com':x=w-tw-10:y=h-th-10" -c copy -c:v libx264 out.mkv
  • Este exemplo colocará o texto no canto inferior direito com um preenchimento de 10 pixels.

  • Se a sua ffmpeg build não suportar fontconfig, você terá que usar a opção fontfile em vez de font e fornecer o caminho completo para o arquivo da fonte.

Veja também

por 28.03.2015 / 20:54