Eu quero fazer um vídeo simples com uma imagem jpeg e um arquivo de áudio mp3 usando ffmpeg. Eu usei este comando:
ffmpeg -loop 1 -i image.jpg -i audio.mp3 -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest out.mp4
e obter este erro:
[swscaler @ 0x555f60538b40] deprecated pixel format used, make sure you did set range correctly
[libx264 @ 0x555f60594d40] height not divisible by 2 (550x765)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
Não consigo entender. Você poderia corrigir o comando para mim?
Usar:
O exemplo do filtro de escala é uma maneira elegante de fazer com que a largura e a altura sejam divisíveis por 2, o que é necessário para este codificador específico ao emitir YUV 4:2:0 (4:2:2 e 4:4:4 não são suportados por maioria dos jogadores, então é por isso que você vê tantos exemplos usando
yuv420p
).Um método mais simples é cortar ou dimensionar como
crop=550:764
, mas o comando acima funcionará com qualquer tamanho de entrada.