Combinando dois preenchimentos ou comandos ffmpeg em um único comando

3

Eu quero combinar dois comandos ffmpeg para um único comando ffmpeg. Quero aplicar um efeito vintage e uma marca d'água em um vídeo.

Por favor, ajude-me a criar um único comando ffmpeg.

    
por Ashish Dudeja 04.11.2014 / 19:57

1 resposta

10

É muito simples. Se você tiver um único filtro trabalhando em um fluxo de vídeo:

ffmpeg -i input -filter:v "scale=-1:480" output

… e você deseja adicionar um segundo filtro, tudo o que você precisa fazer é adicioná-lo com uma vírgula:

ffmpeg -i input -filter:v "scale=-1:480, fps=fps=30" output

Isso gerará uma cadeia de filtros. Você não precisa especificar entrada e saída aqui, uma vez que ele apenas pegará o fluxo de vídeo do arquivo de entrada.

Se, por outro lado, você tiver um filtro gráfico complexo (ou seja, um que use várias cadeias e várias entradas / saídas), você deve enviar a saída da cadeia de filtros para a próxima entrada da cadeia de filtros, separar as cadeias por ponto e vírgula ( ; ) e, em seguida, mapeie a saída geral do filtro para o arquivo de saída:

ffmpeg -i input1 -i input2 -filter_complex "[0:v][1:v] overlay [ol]; \
[ol] scale=-1:480 [outv]" -map "[outv]" output

Claro, você pode usar quantas cadeias e filtros quiser. Leia a documentação do filtro de impressão para obter mais informações. Existem muitos exemplos de como combinar filtros.

    
por 04.11.2014 / 20:11

Tags