Usando ffmpeg para codificar um vídeo bruto para o formato H.264


10

Em um Ubuntu 10.04, estou tentando codificar um vídeo bruto (formato YUV) para um vídeo codificado em H.264 usando os comandos abaixo ffmpeg:

ffmpeg -i input.mp4 output.h264

mas eu recebo um erro dizendo

Codec não suportado para o fluxo de saída # 0.0

Então, quando eu tento esta opção:

ffmpeg -i input.mp4 -formats h264 output.h264

ainda não codifica.

Agora eu entendi que o ffmpeg usa libx264 para codificar no formato H.264. Agora eu tenho o pacote x264 - fast H.264 encoder instalado neste Ubuntu.

Minhas perguntas:

  1. Existe alguma relação entre esta libx264 que o ffmpeg precisa e o programa x264?
  2. Como instalo a libx264 e faço com que o ffmpeg use isso para permitir que eu codifique um vídeo no formato H.264?

E a sua pergunta anterior, isso não foi resolvido? uso ffmpeg para codificar um vídeo para H264 formato de codec
slhck

@slhck - Obrigado, mas quando eu usei: - ffmpeg -s 352x240 -i 352x240_420.yuv -vcodec libx264 out.mp4. Deu erro - "Codificador desconhecido 'libx264'". Quaisquer outras dicas. A libx264 é a mesma da biblioteca x264 ou outra coisa.
goldenmean

Sobre a compilação do ffmpeg e do x264 no Linux, veja aqui: ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
slhck

Respostas:


11

Primeiro de tudo, os comandos que você usa parecem sintaticamente incorretos. Para que o ffmpeg use x264, é necessário fornecer o -c:v libx264argumento

Agora, se você possui um arquivo YUV bruto, precisa informar ao ffmpeg qual formato de pixel, qual tamanho etc. é usado:

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 output.mp4

Altere-os de acordo com as especificações do seu arquivo YUV. Veja ffmpeg -pix_fmtsuma lista dos formatos de pixel suportados. fourcc.org também é um bom recurso nisso.

Se você deseja apenas o fluxo de bits H.264 bruto em um .264arquivo:

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 -f rawvideo output.264

-1

ffmpeg -f rawvideo -pix_fmt yuv420p -s: v 1920x1080 -r 23.976 -i raw_i420_1920_1080 -vcodec libx264 -f rawvideo output.264

-vcodecinforma qual codec usar. man ffmpegajudará você a aprender mais.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.