ffmpeg logotipo de marca d'água com legenda de código

2

Oi eu quero adicionar imagem watermark png para vídeo com o arquivo .srt substituto hardcode ao mesmo tempo que mudanças eu deveria fazer a seguinte linha

ffmpeg -i input.mkv -threads 0 -c:v libx264 -crf 28 -preset veryslow -vf "movie=watermark.png [watermark]; [in][watermark] overlay=0:0 [out]"  output.mp4
    
por Qatarson 29.05.2013 / 00:09

1 resposta

2

Você pode codificar legendas no vídeo com o filtro subtitles . A melhor maneira de fazer o que você quer é com uma cadeia de filtros, que passa o vídeo pela cadeia (então a saída do filtro de sobreposição se torna a entrada do filtro de legendas). Filtros na cadeia são separados por vírgulas. Isso não deve ser confundido com um filtro, que consiste em um ou mais filtros ou filtros, separados por ponto e vírgula.

Eu removi o espaço em branco e encurtei os rótulos para que este exemplo coubesse sem rolagem lateral. Se você digitar isso em um prompt de comando, deverá fazê-lo em uma única linha, removendo as barras invertidas e as linhas novas:

ffmpeg -i input.mkv -threads 0 -c:v libx264 -crf 28 -preset veryslow \
-vf "movie=watermark.png[wm];[in][wm]overlay=0:0,subtitles=subtitle.srt[out]" \
output.mp4

Pessoalmente, prefiro usar um filtro gráfico complexo em vez do filtro de filmes, quando tenho várias entradas:

ffmpeg -i input.mkv -i watermark.png -threads 0 -c:v libx264 -crf 28 -preset veryslow \
-filter_complex "[0:v][1:v]overlay=0:0,subtitles=subtitle.srt[out]" \
-map "[out]" -map 0:a output.mp4

Observe que o segundo usará all streams de áudio de input.mkv, que pode ou não ser o que você deseja. Se você não quiser nenhum áudio, remova o -map 0:a ; Se você quiser um stream específico, consulte o mapa e o especificadores de fluxo .

    
por 27.06.2013 / 17:45