Utilisation de ffmpeg pour encoder une vidéo brute au format H.264

10

Sur Ubuntu 10.04, j'essaie d'encoder une vidéo brute (format YUV) en une vidéo encodée H.264 en utilisant les commandes ffmpeg ci-dessous:

ffmpeg -i input.mp4 output.h264

mais je reçois une erreur disant

Codec non pris en charge pour le flux de sortie # 0.0

Ensuite, quand j'essaie cette option:

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

il ne code toujours pas.

Maintenant, j'ai compris que ffmpeg utilise libx264 pour l'encodage au format H.264. Maintenant, j'ai le paquet x264 - encodeur H.264 rapide installé sur cet Ubuntu.

Mes questions:

  1. Existe-t-il une relation entre cette libx264 dont ffmpeg a besoin et le programme x264?
  2. Comment installer libx264 et faire en sorte que ffmpeg l'utilise pour me permettre d'encoder une vidéo au format H.264?
goldenmean
la source
Qu'en est-il de votre question précédente, cela n'a-t-il pas été résolu? Utilisation de ffmpeg pour encoder une vidéo au format codec H264
slhck
@slhck - Merci mais, Quand j'ai utilisé: - ffmpeg -s 352x240 -i 352x240_420.yuv -vcodec libx264 out.mp4. Il a donné une erreur - "Encodeur inconnu 'libx264'". Tout autre pointeur. La libx264 est-elle la même que la bibliothèque x264 ou autre chose.
goldenmean
Concernant la compilation de ffmpeg et x264 sous Linux, voir ici: ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
slhck

Réponses:

11

Tout d'abord, ces commandes que vous utilisez semblent syntaxiquement incorrectes. Pour que ffmpeg utilise x264, vous devez fournir l' -c:v libx264argument.

Maintenant, si vous avez un fichier YUV brut, vous devez indiquer à ffmpeg quel format de pixel, quelle taille, etc. est utilisé:

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

Modifiez-les en fonction des spécifications de votre fichier YUV. Consultez la ffmpeg -pix_fmtsliste des formats de pixels pris en charge. fourcc.org est également une bonne ressource à ce sujet.

Si vous voulez juste le bitstream H.264 brut dans un .264fichier:

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

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

-vcodeclui indique quel codec utiliser. man ffmpegvous aidera à en savoir plus.

Vishwanath Patil
la source