Je veux encoder un fichier vidéo au format H.265. La dernière version de ffmpeg devrait être supportée par H.265 ( Source ).
Cependant, je n'ai trouvé aucune information sur la commande exacte.
Je ne sais pas quelle bibliothèque je devrais indiquer après -vcodec
.
J'utilise la dernière version de Zeranoe FFmpeg Build (git-c78a416 (2013-10-26)).
FFmpeg prend en charge le codage HEVC/H.265 depuis le 2014-2-12 avec libx265. Maintenant, vous pouvez utiliser ffmpeg directement pour encoder HEVC ou utiliser un autre encodeur, puis le mux manuellement en .mp4, .mov ou .mkv en utilisant FFmpeg.
Les codeurs H.265/HEVC actuels sont les suivants:
Seuls les systèmes MulticoreWare et DivX sont suggérés en raison de leur temps de développement et de leur fiabilité.
Une confusion est qu'il existe deux projets indépendants nommés "x265", l'un par un étudiant chinois et est pratiquement mort, et l'autre par une société commerciale appelée MulticoreWare. Bien que le premier ait commencé le premier, il est pratiquement mort maintenant, et le second est en cours de développement et est approuvé par VideoLAN (le développeur de x264).
53f903b
.bb6b173
.38aee64
.9563e67
.Quoi qu'il en soit, ce sont un ensemble complet de possibilités actuelles d'encoder HEVC dans l'ordre de ma recommandation:
Directement en utilisant MulticoreWare libx265 avec FFmpeg. Cela signifie qu'avec la dernière version de Zeranoe, vous pouvez maintenant le faire:
ffmpeg -i INPUT -c:v libx265 -an -x265-params crf=25 OUT.mov
# With audio
ffmpeg -i INPUT -c:v libx265 -c:a copy -x265-params crf=25 OUT.mov
Remarque: FFmpeg construit une version plus récente que 2014-03-09 vous permet de muxager HEVC en fichiers .mp4 (commit 9563e67):
ffmpeg -i INPUT -c:v libx265 -an -x265-params crf=25 OUT.mp4
Vous pouvez également le mux dans Matroska (.mkv):
ffmpeg -i INPUT -c:v libx265 -an -x265-params crf=25 OUT.mkv
Utilisation de MulticoreWare x265 autonome, puis multiplexez le fichier résultant avec FFmpeg ou MP4Box . Cela fonctionnera avec les anciennes versions de FFmpeg qui ne prennent pas en charge libx265.
# Decode input using FFmpeg and encode using x265 using pipe
ffmpeg -i INPUT -f yuv4mpegpipe -pix_fmt yuv420p - | \
x265 --y4m -o encoded.265 -
# Mux the resulting encoded .265 file into an .mp4 or .mov
# Using ffmpeg: only works with newer builds that support muxing HEVC
# Muxing to .mp4 supported since 03-09-2014
ffmpeg -i encoded.265 -c copy out.mp4
# With audio
ffmpeg -i encoded.265 -i INPUT -map 0 -map 1:a -c copy out.mp4
# Using MP4Box
MP4Box -add raw.265 out.mp4
# With audio
MP4Box -add {INPUT}#audio -add raw.265 out.mp4
Merci à @ Duvrai.
En utilisant DivX HEVC Encoder, puis multiplexez-le.
La façon de l'utiliser est similaire à l'utilisation de la version autonome x265 (voir ci-dessus).
Mise à jour: FFmpeg prend désormais en charge le codage HEVC avec MulticoreWare libx265.
Mise à jour 2: FFmpeg prend désormais en charge le multiplexage de HEVC dans mp4 ET mov maintenant.
ffmpeg a ajouté l'encodage x265 le 12 février 2014 et le support des conteneurs mp4 le 9 mars:
ffmpeg -i input -c:v libx265 -c:a copy output.mp4
Remarque:
-c:a copy
(ou remplacez copy
par aac
, libfdk_aac
ou libfaac
- par ordre de qualité).--enable-libx265
(et --enable-libfdk-aac
ou --enable-libfaac
si nécessaire)