Mencoder
Mencoder fait partie du logiciel mplayer. Mencoder s'utilise le plus souvent en ligne de commande ou dans des scripts associés à des logiciels de lecture/encodage de vidéo.
Il sert à encoder des fichiers. Ce logiciel est capable de faire beaucoup de choses différentes en matière de vidéo.
Les principaux formats d'encodage sont les suivants :
Vidéo :
- stream copy
- Xvid
- h263(+)
- x264 (h264)
- MPEG 1 ou 2
- MJPEG (Motion JPEG)
- LJPEG (lossless JPEG)
- MPEG4 (compatible xvid, divx)
- msmpeg4 (v1 et v2)
- wmv (version 7 et 8)
- huffyuv
- ffvhuff (implémentation du codage huffman mais avec support du YV12)
- ffv1 (codec lossless créé par FFMPEG)
- svq1 (sorenson video 1)
- Sony Digital Video
- Snow (codec expérimental basé sur les ondelettes ou "wavelet" )
- DVR-MS (un format propriétaire de Microsoft utilisé pour l'enregistrement télé par Windows Media Center)Un doute subsiste sur le support dvr-ms, si quelqu'un a expérimenté qu'il complète/corrige
Audio :
- streamcopy
- mp3 (avec libavcodec ou lame)
- aac
- mp2 avec toolame, twolame ou lavc
- uncompressed pcm
- sonic (implémentation originale d'un format lossless ou lossy basé sur les spécifications de Francis Harrison)
- ac3…
- wma2
Installation
il suffit d'installer le paquet mencoder
Documentation
Site officiel
La meilleure documentation possible de ce logiciel est disponible sur le site officiel de MPlayer disponible à l'adresse ci-dessous :
Interfaces graphiques
gmencoder
Voir page dédiée : gmencoder
Quelques utilisations de mencoder
Intégration de sous-titres (srt) dans une vidéo
Avec la commande :
mencoder -sub nom_du_fichier_soustitres.srt -fontconfig -font Arial -subfont-text-scale 4 -sub-bg-alpha 100 -oac mp3lame -lameopts cbr:br=128 -ovc xvid -xvidencopts bitrate=900 nom_de_la_video.avi -o nom_de_la_video_avec_les_soustitres.avi
Il faut bien sûr se placer dans le répertoire de la vidéo et du fichier sous-titres avant de lancer la commande. Et n'oubliez pas de modifier la commande avec le titre de la vidéo, et le titre du fichier sous-titres.
Détails :
mencoder : nom du logiciel
-sub: nom du fichier sous-titres
-fontconfig -font Arial : on donne la police
Comment savoir quel nom de police utiliser ? (ex. : LinuxLibertine, Linux Libertine Bold 4.5.7…?). Assurez-vous que la police que vous souhaitez utiliser est bien installée. Utilisez LibreOffice, sélectionnez la police dans la liste déroule de LibreOffice, validez, puis copiez coller le nom pour votre commande mencoder. Ex. -font UnDinaru. Si le nom de la police est composé, utilisez les guillemets. Ex. -font "Linux Libertine".
-subfont-text-scale 4.5 : taille du sous-titrage
-sub-bg-alpha 100 : ajoute un fond gris au sous-titrage ; les valeurs possibles vont de 0 à 255 (0 désactive le fond ; ensuite, plus le nombre augmente, plus la transparence augmente).
-oac mp3lame -lameopts cbr:br=128 : on détermine le codec audio (ici mp3lame pour utiliser le format MP3), et les options associées à ce codec pour la qualité audio : 128 est le débit binaire, représente une qualité audio normale.
-ovc xvid -xvidencopts bitrate=900 : on détermine le codec vidéo (ici xvid) et les options associées à ce codec pour gérer la qualité de la vidéo
-o : détermine le nom du fichier de sortie que vous souhaitez.
(cf : Incruster des sous-titres)
Par défaut, mencoder considère que les fichiers de sous-titres (.srt) sont encodés en UTF8. Si ce n'est pas le cas de votre fichier, l'option -subfont-encoding iso-8859-15 (par exemple pour un fichier encodé iso-8859-15) sera la bienvenue.
Exemple :
mencoder video_originale.avi -sub fichier_soustitre.srt -subfont-encoding iso-8859-15 -fontconfig -font Arial -subfont-text-scale 3 -sub-bg-alpha 100 -oac copy -ovc xvid -xvidencopts bitrate=900 -o video_soustitrée.avi
Si jamais votre fichier de sous-titres est bien en UTF8, mais que vous avez des problèmes avec les accents dans la vidéo générée par mencoder, ajoutez l'option -utf8.
Exemple :
mencoder video_originale.avi -sub fichier_soustitre.srt -utf8 -fontconfig -font Arial -subfont-text-scale 3 -sub-bg-alpha 100 -oac copy -ovc xvid -xvidencopts bitrate=900 -o video_soustitrée.avi
Mov to Flv
Pour passer du format .mov à .flv il suffit d'utiliser cette commande :
mencoder nom_de_la_video_à_encoder.mov -ofps 15 -ovc lavc -lavcopts vcodec=flv:acodec=mp3 -vf scale=largeur:hauteur -ffourcc FLV1 -oac mp3lame -o nom_de_sortie_de_la_vidéo.flv
N'oubliez pas de modifier la commande avec vos valeurs de hauteur et de largeur .
L'option -ofps xx permet de limiter le nombre d'images par seconde (Frames Per Second), par exemple -ofps 25, l'encodage de la vidéo limitera le nombre de FPS à 25.
Mkv to Avi
Pour passer du format .mkv à .avi , voici deux exemples de commandes possibles via mencoder :
mencoder nom_du_fichier.mkv -ovc copy -oac pcm -o nom_du_fichier.avi
mencoder -oac lavc -lavcopts acodec=vorbis -ovc lavc -lavcopts vcodec=libxvid:vbitrate=900 nom_du_fichier.mkv -o nom_du_fichier_final.avi
La première commande se contente de copier le flux vidéo et encode en PCM non compressé l'audio. Il n'y a donc pas de pertes.
La deuxième commande encode en OGG/vorbis l'audio (avec le débit binaire audio par défaut de 220 kbps) et en xvid la vidéo (avec un bitrate de 900). La qualité est donc moindre, mais le poids aussi …
Wmv to Avi
Pour passer du format .wmv à .avi , voici deux exemples de commandes possibles via mencoder :
mencoder nom_du_fichier.wmv -ovc x264 -oac copy -o nom_du_fichier.avi
mencoder nom_du_fichier.wmv -ofps 23.976 -ovc lavc -oac copy -o nom_du_fichier.avi
Jpeg to Avi
Pour passer du format .jpeg à .avi utilisez la commande suivante :
mencoder mf://*.jpg -mf w=320:h=240:fps=25:type=jpeg -ovc lavc -o sequence_dimage.avi
DVD to mkv
Pour encoder votre DVD de plus de 9 Gio (ou moins, peu importe) en un film de seulement 700 Mio (ou d'une autre taille si vous le voulez) avec une qualité d'image digne du DVD lui-même, avec plusieurs pistes audio, plusieurs pistes de sous-titres et un chapitrage complet du DVD, vous devez le convertir et utliser le format MKV.
Pour encoder votre film, consultez cette page spécialement dédiée à la conversion DVD → MKV.
Retourner une vidéo
Retourner une vidéo dans le sens anti-horaire :
mencoder original.avi -o video_retourne.avi -oac copy -ovc lavc -vf rotate=2
Ou dans le sens horaire :
mencoder original.avi -o video_retourne.avi -oac copy -ovc lavc -vf rotate=1
Découper une vidéo
Découper une vidéo à partir de 20 secondes pendant 50 secondes :
mencoder big-file.avi -ss 20 -endpos 50 -ovc copy -oac copy -o cutted.avi
Transcodage multi-tâche
Mencoder, par le biais de LAVC, supporte l'encodage sur plusieurs tâches (threads) ; pour cela, il faut passer l'option -threads=X à l'encodeur :
mencoder some-file.avi -ovc lavc -lavdopts threads=3 -o new-file.avi
Les options suivantes sont disponibles :
- 0 ou 1 : pas de multitâche,
- 2, 3, 4 : en fonction du nombre de coeur,
- auto : détection automatique.
Sur ce lien, il semble que les CODEC suivants supportent le multitâche :
- x264,
- libavcodec,
- xvid
Concaténer n vidéos à la suite
Vous avez plusieurs vidéos pour un même film et vous voulez les concaténer pour n'avoir qu'une seule et même vidéo:
mencoder -ovc copy -oac copy -o destination.mp4 source1.mp4 source2.mp4
Convertir le son d'une vidéo en mp3
Vous avez besoin de gagner de l'espace sur une vidéo sans perdre sur la qualité de l'image ou bien si votre lecteur ne lit pas le codec audio:
mencoder -ovc copy -oac mp3lame -o destination.mp4 source1.mp4
Transcoder une vidéo pour un usage sur lecteur mp4 (160x128 15fps)
mencoder some-file.avi -ofps 15 -vf-add scale=160:128 -vf-add expand=160:128:-1:-1:1 -srate 44100 -ovc xvid -xvidencopts bitrate=400:max_bframes=0:quant_type=h263 -oac lavc -lavcopts acodec=mp2:abitrate=96 -o new-file.avi
Transcoder une vidéo pour un usage sur lecteur Blackberry
- Utiliser ce script
- encode.sh
#!/bin/bash FILE=$1 ## 8100, 240x260 res ## décommenter selon votre format de sortie #RES=240:135 # resolution, 16:9 ratio RES=240:180 # resolution, 4:3 ratio ## 8800, 320x240 res ## décommenter selon votre format de sortie #RES=320:180 # resolution, 16:9 ratio #RES=240:180 # resolution, 4:3 ratio ## generic ABR=64 # audio bitrate VBR=230 # video bitrate mencoder "$FILE" \ -o "${FILE%.*}_bb.avi" \ -of avi \ -ovc lavc \ -oac mp3lame \ -lavcopts vcodec=mpeg4:vbitrate=$VBR:acodec=mp3:abitrate=$ABR \ -vf scale=$RES
rendre exécutable encode.sh en cliquant droit et accéder aux propriétés du fichier, cocher rendre exécutable. mettez vos film.avi dans le même dossier que encode.sh exécuter en mode terminal (crtl +alt +T ) , aller dans le répertoire , et lancer le rip en tapant
./encode film.avi
un fichier film_bb.avi sera créé dans le répertoire.
Liens
- De nombreux exemples pratiques d'usage de MEncoder sur le wiki du site Lprod (Libre Production)
- Un excellent guide d'explication en français sur les commandes et options possibles de MEncoder est disponible sur : le forum Hardware.fr
- Guide officiel francophone contenant toutes les options d'encodage générales de MEncoder, ou sa copie sur le site man.cx.