Je sais qu'il y a beaucoup de questions sur les encodeurs vidéo ici, mais ma question porte plus sur le flux de travail/l'efficacité.
Pour mon travail quotidien, j'ai besoin de convertir des vidéos, souvent, à partir de nombreux formats aléatoires (généralement de grands formats AVI , M4V , et quoi encore), de les convertir et de les compresser. des fichiers efficaces que nous pouvons utiliser sur Internet pour le téléchargement. Les formats que je dois produire sont:
Je dois créer des modèles communs pour quelques cas d'utilisation (convertir en sources identiques, 1080p ou 720p ) et pouvoir les traiter rapidement, et en file d'attente. .
Des idées sur la meilleure façon de procéder à ce processus dans Ubuntu?
Si vous préférez la ligne de commande, vous pouvez utiliser ffmpeg
(ou handbrake-cli
).
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
: Quality. La plage est logarithmique de 0 (sans perte) à 51 (qualité la plus mauvaise). La valeur par défaut est 23. La plage de subjectivité est ~ 18-28 ou plus. Utilisez la valeur la plus élevée qui vous donne toujours une qualité acceptable. Si vous réencodez des entrées trop volumineuses à télécharger sur YouTube ou un logiciel similaire, essayez une valeur de 17 ou 18, car ces services vidéo seront néanmoins réencodés.
-preset
: vitesse d'encodage. Un préréglage plus lent fournit 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, plus rapide, moyen (par défaut), lent, plus lent, très lent.
-movflags +faststart
: Autorise la lecture de la vidéo avant son téléchargement complet dans le cas du visionnage par téléchargement progressif. Utile si vous hébergez la vidéo, sinon superflue si vous téléchargez sur un service vidéo tel que YouTube.
-vf scale=-2:720,format=yuv420p
: A filtergraph utilisant scale et format filtres vidéo. Échelle à 720 pixels en hauteur et choisissez automatiquement une largeur qui préservera l'aspect, puis assurez-vous que le format de pixel est compatible avec les lecteurs muets.
-b:a 128k
: bitrate audio. Si votre ffmpeg
est obsolète, vous devez ajouter -strict experimental
pour utiliser -c:a aac
.
É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 re-muxing (avec le mode copie de flux ) au lieu du ré-encodage:
ffmpeg -i input.mp4 -codec copy output.mov
FFmpeg ne supporte que WMV 7 et 8. Je ne suis pas au courant d'un 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
Vous pouvez télécharger un version Linux de ffmpeg ou suivre une procédure étape par étape guide de compilation de ffmpeg pour personnaliser votre version.
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
Essayez HandBrake .
HandBrake est un outil permettant de convertir une vidéo de presque n'importe quel format en une sélection de codecs modernes largement pris en charge. Pour installer, appuyez simplement sur Ctrl+Alt+T sur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez les commandes ci-dessous:
Sudo add-apt-repository ppa:stebbins/handbrake-releases
Sudo apt-get update
Sudo apt-get install handbrake