| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| informatique:ffmpeg:convertir_une_video_en_av1 [2026/09/03 14:38] – alexis | informatique:ffmpeg:convertir_une_video_en_av1 [2026/09/15 18:40] (Version actuelle) – alexis |
|---|
| [[https://sebsauvage.net/wiki/doku.php?id=ffmpeg#re-encodage_en_av1|Source]] | [[https://sebsauvage.net/wiki/doku.php?id=ffmpeg#re-encodage_en_av1|Source]] |
| |
| | <WRAP prewrap> |
| <code bash> | <code bash> |
| ffmpeg -i entree.mkv -map 0:v -c:v libsvtav1 -preset 4 -crf 30 -tune 0 -pix_fmt yuv420p10le -g 120 -map 0:a? -c:a copy -map 0:s? -c:s copy sortie.mkv | ffmpeg -i entree.mkv -map 0:v -c:v libsvtav1 -preset 4 -crf 30 -tune 0 -pix_fmt yuv420p10le -g 120 -map 0:a? -c:a copy -map 0:s? -c:s copy sortie.mkv |
| </code> | </code> |
| | </WRAP> |
| * ''-i entree.mkv'' : Nom du fichier en entrée. Vous pouvez lui donner à manger n'importe quel format vidéo (mp4, avi...) | * ''-i entree.mkv'' : Nom du fichier en entrée. Vous pouvez lui donner à manger n'importe quel format vidéo (mp4, avi...) |
| * ''-map 0:v -c:v libsvtav1'' : Pour la vidéo, utiliser l'encodeur svt-av1. Il existe plusieurs encodeurs av1 (aom-av1, rav1e...). svt-av1 est rapide (ou plus précisément: on peut ajuster sa vitesse.) | * ''-map 0:v -c:v libsvtav1'' : Pour la vidéo, utiliser l'encodeur svt-av1. Il existe plusieurs encodeurs av1 (aom-av1, rav1e...). svt-av1 est rapide (ou plus précisément: on peut ajuster sa vitesse.) |
| * ''-map 0:a? -c:a copy'' : Pour l'audio, copier toutes les pistes audio tel quel (sans ré-encoder). Vous pouvez bien entendu changer cela par exemple en utilisant l'excellent codec Opus (qui est à l'audio ce que AV1 est la vidéo). | * ''-map 0:a? -c:a copy'' : Pour l'audio, copier toutes les pistes audio tel quel (sans ré-encoder). Vous pouvez bien entendu changer cela par exemple en utilisant l'excellent codec Opus (qui est à l'audio ce que AV1 est la vidéo). |
| * ''-map 0:s? -c:s copy'' : Copie également toutes les pistes de sous-titres. Le '?' sert à ne pas faire d'erreur s'il n'y aucune piste de sous-titres (idem pour l'audio). | * ''-map 0:s? -c:s copy'' : Copie également toutes les pistes de sous-titres. Le '?' sert à ne pas faire d'erreur s'il n'y aucune piste de sous-titres (idem pour l'audio). |
| * ''sortie.mkv'' : Je vous conseille les conteneurs mkv car ils sont capables de stocker le flux vidéo, mais aussi plusieurs flux audio et les sous-titres. | * ''sortie.mkv'' : Je vous conseille les conteneurs mkv car ils sont capables de stocker le flux vidéo, mais aussi plusieurs flux audio et les sous-titres. |
| | |
| | Pour pouvoir lancer ça rapidement, j'en ai fait une fonction //bash// : |
| | <WRAP prewrap> |
| | <code bash> |
| | function convert-to-av1 { |
| | ffmpeg -i "file:$1" -map 0:v -c:v libsvtav1 -preset 4 -crf 30 -tune 0 -pix_fmt yuv420p10le -g 120 -map 0:a? -c:a copy -map 0:s? -c:s copy "file:$2" |
| | } |
| | </code> |
| | </WRAP> |
| |