Si vous préférez la ligne de commande, vous pouvez utiliser ffmpeg
(ou handbrake-cli
).
MP4
En supposant que vous utilisez une version récente de ffmpeg
:
ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k \
-movflags +faststart -vf scale=-2:720,format=yuv420p output.mp4
-crf
: Qualité. La plage est logarithmique de 0 (sans perte) à 51 (pire qualité). La valeur par défaut est 23. La plage de sens subjectif est d'environ 18 à 28 environ. Utilisez la valeur la plus élevée qui vous donne toujours une qualité acceptable. Si vous réencodez des entrées de taille impossible à télécharger sur YouTube ou similaire, essayez une valeur de 17 ou 18 car ces services vidéo seront réencodés de toute façon.
-preset
: Vitesse d'encodage. Un préréglage plus lent offre une meilleure compression (qualité par taille de fichier) mais est plus lent. Utilisez le plus lent pour lequel vous avez de la patience: ultra-rapide, ultra-rapide, très rapide, plus rapide, rapide, moyen (par défaut), lent, plus lent, très lent.
-movflags +faststart
: Permet la lecture de la vidéo avant son téléchargement complet dans le cas de la visualisation à téléchargement progressif. Utile si vous hébergez la vidéo, sinon superflue si vous la téléchargez sur un service vidéo comme YouTube.
-vf scale=-2:720,format=yuv420p
: Un filtre graphique utilisant des filtres vidéo d' échelle et de format . Échelle à 720 pixels de hauteur, et choisissez automatiquement la largeur qui préservera l'aspect, puis assurez-vous que le format de pixel est compatible avec les lecteurs stupides.
-b:a 128k
: Bitrate audio. Si votre ffmpeg
est obsolète, vous devrez ajouter -strict experimental
à utiliser -c:a aac
.
MOV
Étant donné que vos fichiers MOV et MP4 contiennent probablement les mêmes formats vidéo et audio, vous pouvez encoder le MP4 et créer le MOV en recomposant (avec le mode de copie de flux ) au lieu de ré-encoder:
ffmpeg -i input.mp4 -codec copy output.mov
WMV
FFmpeg ne prend en charge que WMV 7 et 8. Je ne connais pas d'encodeur open source pour la version 9.
$ ffmpeg -encoders | grep -i windows
[...]
V..... = Video
A..... = Audio
------
V..... wmv1 Windows Media Video 7
V..... wmv2 Windows Media Video 8
A..... wmav1 Windows Media Audio 1
A..... wmav2 Windows Media Audio 2
Comme je ne suis pas familier avec ces encodeurs, je ne peux que donner un exemple non testé:
ffmpeg -i input -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k output.wmv
Obtenir ffmpeg
Vous pouvez télécharger une version Linux de ffmpeg ou suivre un guide de compilation ffmpeg étape par étape pour personnaliser votre version.
Utilisation d'un bash "for loop" pour effectuer un encodage par lots
Pour encoder toutes les vidéos d'un répertoire:
$ mkdir encoded
$ for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \
-c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \
"encoded/${f%.avi}.mp4"; done
Regarde aussi