ffmpeg drawtext e marca d'água cria apenas marca d'água, mas nenhum texto

2

Se eu tentar adicionar um texto e uma marca d'água ao mesmo tempo, apenas a marca d'água será exibida.

ffmpeg -i i.mp4 -vcodec libx264 -f mp4 
  -vf drawtext="fontfile=/[...]/share/fonts/freefont-ttf/FreeSans.ttf
    :text='TESTING':[email protected]:fontsize=36:x=00: y=40" 
  -vf 'watermarkfile.png [watermark]; [in][watermark] overlay=0:0 [out]' o.mp4

(Tudo em uma linha. Aqui eu adicionei quebras de linha para maior clareza.)

Se eu remover a parte da marca d'água, o texto será exibido da seguinte forma:

ffmpeg -i i.mp4 -vcodec libx264 -f mp4 
  -vf drawtext="fontfile=/[...]/share/fonts/freefont-ttf/FreeSans.ttf
    :text='TESTING':[email protected]:fontsize=36:x=00: y=40" 
  o.mp4

Mas como posso obter texto e marca d'água ao mesmo tempo?

    
por tomsv 13.01.2014 / 19:01

1 resposta

9

Você deve realizar a filtragem em um filtergraph :

ffmpeg -i i.mp4 -i watermarkfile.png -filter_complex \
"[0:v]drawtext=fontfile=/path/to/fonts/FreeSans.ttf:text='TESTING':[email protected]:fontsize=36:x=00:y=40[text]; \
[text][1:v]overlay[filtered]" -map "[filtered]" \
-map 0:a -codec:v libx264 -codec:a copy output.mp4
  • Use -filter_complex em vez de -vf com várias entradas e / ou saídas.
  • Você não precisa usar o filtro de origem de multimídia movie .
  • O áudio pode ser copiado em fluxo em vez de ser recodificado.
  • Consulte o FFmpeg e o x264 Encoding Guide para sugestões de codificação.
  • Veja a documentação no drawtext e overlay filtros de vídeo para mais informações.
por 13.01.2014 / 21:22