como converter um vídeo em um arquivo MOV com h264 yuvj420p e pcm u8

como converter um vídeo em um arquivo MOV com h264 yuvj420p e pcm u8

Quero converter alguns vídeos para serem reproduzidos em uma câmera digital Canon.

Os vídeos da câmera Canon PowerShot possuem as seguintes especificações:

Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1280x720, 22865 kb/s, 29.97 fps
Audio: pcm_u8 (raw  / 0x20776172), 12000 Hz, mono, u8, 96 kb/s

Como seria a ffmpeglinha de comando para produzir esses vídeos? Ou onde posso ler sobre isso? Eu tenho que tentar encontrá-lo, ffmpeg -formatso que me dá uma grande lista de formatos. A partir disso e de algumas leituras adicionais na página de manual, cheguei a este comando:

ffmpeg -i oldmovie.mp4 -acodec pcm_u8 -ar 12000 -ac 1 -vcodec copy -pix_fmt yuvj420p MVI_2655.MOV

mas ainda não funciona. A especificação do vídeo é diferente.

O vídeo que recebo é:

Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x272 [SAR 153:154 DAR 180:77], 326 kb/s

mas o vídeo correto deveria ter

Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1280x720, 22865 kb/s

Penso que a resolução não é o problema, mas sim aAltocontraLinha de base restrita. E ayuv420pcontra oyuvj420p. Como faço para atingir essas especificações?

Responder1

Com a dica de Ely e uma pesquisa mais aprofundada, descobri que esta linha de comando produz exatamente as mesmas especificações de formato:

ffmpeg -i oldmovie.mp4 -acodec pcm_u8 -ar 12000 -ac 1 -vcodec libx264 -pix_fmt yuvj420p -profile:v baseline -s 1280x720 -r ntsc -colorspace smpte170m -color_primaries bt709 -color_trc bt709 MVI_2655.MOV

onde

  • -vcodec libx264junto com -profile:v baselinee -pix_fmt yuvj420pdefine o vídeo para Linha de base restritae o formato de pixel parayuvj420p
  • -colorspace smpte170me define as subespecificações de formato -color_primaries bt709de -color_trc bt709três pixels após yuvj420p(pc,…), que encontreiaqui
  • -r ntscdefine uma taxa de quadros de 29,97 (onde ntsc é um alias para a taxa de quadros)
  • -s 1280x720dimensiona o vídeo para a mesma largura e altura do vídeo canon original

Agora, a única diferença é a taxa de bits, que é 4.065 kb/s para meu vídeo criado pelo ffmpeg e 21.588 kb/s para o vídeo canon.

Mesmo assim, o vídeo ainda não pode ser reproduzido na câmera Canon. :-(

informação relacionada