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:
- Existe-t-il une relation entre cette libx264 dont ffmpeg a besoin et le programme x264?
- Comment installer libx264 et faire en sorte que ffmpeg l'utilise pour me permettre d'encoder une vidéo au format H.264?
Réponses:
Tout d'abord, ces commandes que vous utilisez semblent syntaxiquement incorrectes. Pour que ffmpeg utilise x264, vous devez fournir l'
-c:v libx264
argument.Maintenant, si vous avez un fichier YUV brut, vous devez indiquer à ffmpeg quel format de pixel, quelle taille, etc. est utilisé:
Modifiez-les en fonction des spécifications de votre fichier YUV. Consultez la
ffmpeg -pix_fmts
liste 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
.264
fichier:la source
-vcodec
lui indique quel codec utiliser.man ffmpeg
vous aidera à en savoir plus.la source