Escale o vídeo e aplique o quadro de imagem usando ffmpeg

0

Eu tenho um quadro de imagem 1920x1080 e um vídeo com a mesma resolução.

Quero redimensionar o vídeo em 80% de sua resolução e centralizá-lo e, em seguida, sobrepô-lo com o quadro da imagem. Então, o resultado final do vídeo é 1920x1080

Como eu posso fazer isso?

    
por Wahyu Way 12.06.2015 / 07:53

1 resposta

3

Você pode tentar isso.

ffmpeg -i input_video -loop 1 -i input_image -t video_duration -filter_complex "[0:v]scale=iw*80/100:ih*80/100[vo];[1:v][vo]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2,setpts=PTS-STARTPTS[outv]" -c:v libx264 -map [outv] output_video

Aqui você tem que usar filter_complex e map para sobrepor e fazer a escala, etc. 0:v refere-se ao vídeo de entrada e sua largura e altura são escalado para ser 80% do original. 1:v refere-se à imagem de entrada e é sobreposição com o vídeo dimensionado no centro da imagem . loop fará o loop da imagem na duração do vídeo e -t limitará a duração do vídeo de saída aos segundos desejados.

Se você precisar de áudio original disponível no vídeo de saída, use -map 0:a antes de especificar o arquivo de saída.

ffmpeg -i input_video -loop 1 -i input_image -t video_duration -filter_complex "[0:v]scale=iw*80/100:ih*80/100[vo];[1:v][vo]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2,setpts=PTS-STARTPTS[outv]" -c:v libx264 -map [outv] -map 0:a -c:a copy output_video

Espero que isso ajude você!

    
por 12.06.2015 / 08:09