Existem dois problemas:
-
Você está usando imagens PNG como entrada. Ao converter imagens em vídeo, o ffmpeg tenta preservar o espaço de cores da imagem escolhendo o formato
yuv444p
pixel, que não usa subamostragem de cromas . Como se diz:No pixel format specified, yuv444p for H.264 encoding chosen. Use -pix_fmt yuv420p for compatibility with outdated media players.
O QuickTime e o Windows Media Player são players de mídia "desatualizados". A maioria dos jogadores baseados no FFmpeg, como o VLC, pode lidar com esse tipo de vídeo.
-
-qp 0
(semelhante a-crf 0
) ativa o modo sem perdas em x264, o que faz com que o arquivo use o Perfil Preditivo 4: 4: 4 Alto. Este perfil não é suportado no QuickTime. Pode muito bem não ser suportado no Windows Media Player também (mas eu não pude verificar).
Para garantir a compatibilidade, você deve sempre adicionar a opção -pix_fmt yuv420p
e escolher um método de codificação com perdas, de preferência usando codificação CRF e definindo -crf
para um valor razoável. O padrão de CRF é 23, mas qualquer coisa entre 18 e 28 é aceitável, e menor significa melhor qualidade.
Observe que as versões mais antigas do Windows não são compatíveis com o H.264. Aqui você teria que voltar para MPEG-2 ou até mesmo MPEG-1. Veja também:
- > Como posso dizer ao ffmpeg para transcodificar para um codec de vídeo suportado pelo Windows Media Player?
- Quais codecs são mais adequado para reprodução com o Windows Media Player no Windows XP?
- Converta vídeo em formato que é mais provável jogável em um sistema Windows
- Será um arquivo codificado com a libx264 jogar no Windows 8?
Leia o guia de codificação H.264 para obter mais estratégias de codificação.