Múltiplas sequências de imagens em miniatura em um plano de imagem. (FFMPEG)

3

Estou fazendo esta pergunta, pois não encontrei nada semelhante ao meu problema. Eu gostaria de ler diferentes fluxos de seqüência de imagens e colocá-lo "thumbnailed" para um novo fluxo de imagem.

A partir da imagem de exemplo abaixo, você vê que estou lendo sequências de imagens diferentes para compor um grande fluxo de imagens em miniatura.

É possível resolver isso apenas com comandos ffmpeg ???

obrigado!

    
por user1767754 02.03.2014 / 12:17

1 resposta

5

A maneira de colocar 4 fluxos de imagem seria:

ffmpeg -y -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4 -filter_complex "[0:0]pad=iw*2:ih*2[a];[a][1:0]overlay=w[x];[x][2:0]overlay=0:h[y];[y][3:0]overlay=w:h" -strict -2 output.mp4  

Isso não usa nenhum outro filtro, ele usa o bloco para diminuir o tamanho e, em seguida, o filtro de sobreposição para colocá-lo em quatro posições de pixel. Mas na cadeia de filtros, isso tem que ser feito várias vezes, combinando os efeitos das duas primeiras entradas, depois sobrepondo na terceira e depois na quarta.

Eu usei o contêiner mp4 , mas ele pode funcionar para outros contêineres. Você não precisará de -strict -2 na maioria das circunstâncias - aqui ele é usado porque meu ffmpeg é padronizado como aac codificador de áudio para mp4.

Se houver sem áudio , o que é muito provável no seu caso, novamente você não precisará da opção -strict -2 . Se você tiver áudio como entrada, mas não quiser usá-lo na saída, adicione o parâmetro -an no comando.

Como alternativa, e esta é uma boa opção , use a opção map :

ffmpeg -y -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4 -filter_complex "[0:0]pad=iw*2:ih*2[a];[a][1:0]overlay=w[x];[x][2:0]overlay=0:h[y];[y][3:0]overlay=w:h[v]" -map '[v]' output.mp4
    
por 02.03.2014 / 19:31