Como adicionar um vídeo em um modelo com ffmpeg

2

Eu gostaria de assistir meu vídeo dentro da caixa deste modelo. É possível fazer isso com o ffmpeg?

O tamanho do modelo não importa. Pode ser maior do que o mostrado.

    
por iwocan 14.12.2013 / 05:54

1 resposta

3

Use isto:

 ffmpeg -y -loop 1 -i background_image.png -i mainmovie.mov -filter_complex "[0:v]setpts=PTS-STARTPTS[V1]; [1:v]setpts=PTS-STARTPTS, scale=800:452[V2]; [V1][V2]overlay=shortest=1:x=240:y=134" out.mov  

Aqui, a imagem de fundo (por exemplo, background_image.png ) é usada como uma entrada para o filtro de sobreposição, e o filme principal (por exemplo, mainmovie.mov ) é o outro. Para corresponder aos carimbos de data / hora inicial usei o filtro setps para ambos, definindo o carimbo de data / hora inicial como 0. A saída da segunda entrada é dimensionada para 800x452 não 800x453 porque o filtro de escala tem problemas quando o número não é divisível por 2.

A saída deste é rotulada [V2] e passada para o filtro de sobreposição, enquanto se configura shortest=1 , implicando codificar até a entrada mais curta. Como a imagem de fundo é gerada em loop infinito, o tamanho mais curto aqui é o tamanho do filme principal de entrada. Então, codifica até o final do filme.

O posicionamento é na metade do valor de 1280-800 = 480, dividido por 2 para obter 240. Da mesma forma, para o valor de y pixels. Mas o seu canto real da caixa pode ser diferente. E talvez seja necessário usar mais parâmetros de codificação, dependendo do arquivo de filme de entrada e da saída necessária.

    
por 14.12.2013 / 20:23