Pour avoir des vidéos de qualité dans des fichiers pas trop volumineux, vive le HEVC…
Environnement
PC sous Linux Debian 11 Bullseye
Convertir une vidéo
On utilise ffmpeg et le codec x265 avec les paramètres suivant
-c:v libx265 -crf 28 -c:a aac -b:a 128k
Exemple
ffmpeg -i fichier-origine.mp4 -c:v libx265 -crf=28 -c:a aac -b:a 128k fichier-destination.mp4
Automatisation
Créer un script conversion-h265 qui converti tous les fichiers mp4 d’un dossier
#!/bin/bash
#set -x
for file in *.mp4 do
# test si le nom du fichier ne commence pas par resul - 5 premiers caractères - donc à convertir
nom=${file:0:5}
# echo $nom
if [ $nom != 'resul' ] then
date
echo "traitement du fichier" "resul_$file"
# conversion en hevc avec titre
ffmpeg -loglevel error -i "$file" -c:v libx265 -crf 28 -c:a aac -b:a 128k -metadata title=$file "resul_$file"
else exit
fi
done
Lancement de la tâche
bash conversion-h265
Ligne de commande pour un fichier adapté au smartphone
ffmpeg -y -i 'Whitney.mp4' -c:v libx265 -filter:v scale=w=640:h=360 'Whitney-h265.mp4'
Autres options optimisées – A confirmer
-c:v libx265 -preset faster -filter:v scale=w=1280:h=720 -profile:v main -pix_fmt yuv420p -c:a aac
L’algoritme de conversion est très gourmand en temps CPU, mieux vaut avoir un PC puissant sinon ça va faire chauffer la machine.
En savoir plus
https://trac.ffmpeg.org/wiki/Encode/H.265