Réencoder un avi en xvid en ligne de commande

Pour ré-encoder un avi en avi, (mais encodé en Xvid en fichier de sortie) ce n’est pas très compliqué sous Linux, grâce à la ligne de commande et à mencoder.

D’abord, il faut s’assurer que le paquet mencoder est installé (avec synaptic ou en ligne de commande).

Puis dans un terminal, on se place dans le dossier où se trouve le fichier à transformer et on tape :
terminal

mencoder -ofps 25 -ovc xvid -xvidencopts bitrate=500 -oac copy -vf scale=640:480  le-fichier-à-transformer.avi -o le-fichier-de-sortie.avi

  • ofps,c’est le nombre de fps (images par seconde) du fichier
  • ovc, c’est le codec vidéo choisi, ici xvid
  • bitrate, c’est la qualité d’encodage du xvid
  • oac, c’est le codec audio, ici on garde le même et on le copie
  • vf scale, c’est la dimension de la vidéo si vous décidez de redimensionner

Pour info, cette commande m’a servi à réduire drastiquement la taille d’un avi généré avec mon APN (de 400 Mo à 35 Mo pour 4 minutes de film). Pour de l’upload sur Youtube, c’est impec.

menconder est très puissant, vous pouvez vous tourner vers la documentation en français du projet si vous avez des interrogations, ou que vous voulez faire quelque chose de plus complexe, mais je vous souhaite bon courage … c’est dense.

Il existe d’autres solutions comme avidemux (dans les dépots et très efficace), pytube ou gmencoder (via des paquets deb) qui ont des interfaces graphiques. On voit mieux les options qu’en ligne de commande 😉 mais c’est moins rapide qu’un copier coller.

Et vous, quels outils vous utilisez pour traiter les vidéos ?

7 réflexions au sujet de « Réencoder un avi en xvid en ligne de commande »

  1. Juste pour faire mon chieur (:D) avi est un conteneur, Xvid un format vidéo, on ne peut donc pas trop dire réencoder un avi en Xvid :/ mais plutôt réencoder une vidéo (DivX, autre…) d’un avi en Xvid dans un avi.

    J’irai même plus loin, réencoder une vidéo en Xvid ! J’ai pas testé mais je pense que cette commande marche même avec autre chose en entrée et sortie que de l’avi.

  2. À égalité en terme de fonctionnalités, les 3 principaux « couteaux suisses » pour traiter de la vidéo en ligne de commande sont mencoder, ffmpeg et transcode. Ils ont chacun leur syntaxe qui peut aller du très simple (ffmpeg, notamment, propose des paramètres par défaut qui permettent de raccourcir singulièrement les lignes de commande) au super imbitable. Ils ont également chacun leurs « frontaux » graphiques respectifs.

    Cela-dit, l’avantage du texte reste qu’une fois la bonne ligne de commande trouvée, avec les 25 paramètres qui vont bien, on peut la conserver précieusement dans un fichier quelque part et la copier-coller quand on veut, voire l’englober dans un joli script qui va nous permettre de faire abstraction de tous ces paramètres à coucher dehors…

  3. Hello,
    ffmpeg si ce n’est que de la conversion, avidemux en ligne de commande si je doit ajouter des effets ou faire des montages un peu complex

  4. @ tous : merci pour vos commentaires, je vois que nous avons tous ce genre de problématique …

    @ G-rom : effectivement tu as raison. Le titre du billet est plus là pour les mots clé que pour une exacte définition du processus. Mais tu as tout à fait raison. Et je te cconfirme que ça marche avec les formats que tu souhaites en entrée et sortie, je me suis inspiré d’une commande pour réencoder du wmv en avi.

    @ AP : je ne connaissais pas transcode, je vais regarder si j’ai 5 minutes.
    Ce billet est là aussi pour me servir de pense bête.
    C’est vrai qu’il existe des GUI pour tous mais j’ai testé etc’est quand même plus long de tripoter tous les menus si c’est pour faire qqch de simple. La ligne de commande, je dois dire que je l’aime de plus en plus (et c’est valable sous Windows aussi d’ailleurs).

    @ Tuxargon : je ne suis pas arrivé à faire fonctionner Pytube, et c’est dommage car j’aurai aimé le tester.
    Avidemux marche bien en revanche. Il est adopté.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *