Utilisation basique de MEncoder
Pour avoir la liste complète des options disponibles de
MEncoder
et des exemples, voir la page du man. Pour une série d'exemples
pratiques et de guides détaillés sur l'utilisation des nombreux
paramètres d'encodage, lisez les
encoding-tips (en
anglais) qui ont été collectés d'après de nombreux sujets de la
liste de diffusion mplayer-users.
Cherchez dans les
archives
pour trouver les discussions à propos de tous les aspects et
problèmes relatifs à l'encodage avec MEncoder.
Sélection des codecs et du format du container
Les codecs sonores et vidéos sont sélectionnés respectivement
avec l'option
et l'option .
Par exemple :
mencoder -ovc help
permettra de lister tous les codecs vidéo supportés par la version
de MEncoder sur votre machine.
Les choix disponibles sont :
Codecs Audio:
Noms des codecs
AudioDescriptionmp3lameEncode en VBR, ABR ou CBR MP3 avec LAMElavcUtilise un des codecs audio
libavcodec.
faacL'encodeur audio ACC FAACtoolameEncoder Audio MPEG Layer 2 twolameL'encodeur Audio MPEG Layer 2 basé sur tooLAMEpcmFormat PCM audio non compressécopyNe réencode pas, il compresse juste les frames
Codecs Vidéo :
Noms des codecs
VidéoDescriptionlavcUtilise un des codecs vidéo
libavcodec.
xvidLe Xvid, un codec ASP MPEG-4 (Advanced Simple
Profile)x264Le x264, un codec MPEG-4 AVC (Advanced Video Coding), le
AKA H.264nuvLe format vidéo nuppel, utilisé pour certaines applications
temps réel.rawFrames vidéos non compresséescopyNe réencode pas, il compresse juste les framesframenoUtilisé pour l'encodage en 3 passes, (not
recommended)
Les options de sorties pour le type de container sont
sélectionnées
grâce à l'option .
Type:
mencoder -of help
permettra de lister tous les codecs vidéo supportés par la version
de MEncoder sur votre machine.
Les choix disponibles sont :
Container formats:
Nom du format du
ContainerDescriptionlavfUn des containers supporté par
libavformat.aviAudio-Vidéo InterleavedmpegMPEG-1 and MPEG-2 PSrawvideoFlux vidéo en raw (un seul flux vidéo, pas de
multiplexage)rawaudioFlux audio en raw (un seul flux audio, pas de
multiplexage)
Le container AVI est le container natif de
MEncoder,
ce qui veut dire que c'est le mieux supporté et que
MEncoder
a été crée pour cela.
Malgré ceci, d'autres formats de containers sont utilisables, mais
vous risquez d'avoir certains problèmes à les utiliser.
Containers libavformat :
Si vous avez sélectionné If you selected libavformat
pour le multiplexage du fichier de sortie (en utilisant l'option
),
le choix du format du container sera déterminé en fonction de
l'extention du fichier de sortie.
Mais vous pouvez toujours forcer le format du container avec les
options du de libavformat.
Container libavformat
nameDescriptionmpgMPEG-1 and MPEG-2 PSasfAdvanced Streaming Format : Format évolué pour le
streamingaviAudio-Video InterleavedwavPour l'AudioswfMacromedia Flashflvvidéo Macromedia FlashrmRealMediaauSUN AUnutle container libre NUT (expérimental et ne respectant
pas encore les spécifications)movQuickTimemp4Format MPEG-4dvContainer numérique des vidéos Sony
Comme vous pouvez le voir, le libavformat
permet à MEncoder de multiplexer un
grand
nombre de
containers différents.
Malheureusement, comme MEncoder n'a pas
été originalement crée pour le support de format de containers
autre que l'AVI, vous devez vérifier à deux fois que le résultat
est correct. Pensez ben à vérifier la synchronisation de
l'audio avec la vidéo et que le fichier est lisible par un autre
lecteur que MPlayer.
Exemple :
Création d'une vidéo Macromedia Flash afin de la lire dans un
navigateur internet ayant le plugin Macromedia Flash :
mencoder input.avi -o
output.flv -of lavf -oac mp3lame
-lameopts abr:br=56 -ovc lavc \
-lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 \
-srate 22050
Sélection d'un fichier d'entrée ou un périphériqueMEncoder peut encoder depuis un fichier
ou directement depuis un DVD ou VCD.
Il suffit simplement d'inclure le nom du fichier dans la ligne de
commande pour encoder depuis un fichier ou avec l'option
numerochapitre
ou
numéropiste pour
encoder depuis un chapitre DVD ou une piste VCD.
Si vous avez déjà copié le DVD sur votre disque dur (en
utilisant par exemple un logiciel comme
dvdbackup,
généralement disponible sur les systèmes), et que vous souhaitez
encoder depuis cette copie, vous devrez quand même utiliser la
syntaxe , avec l'option
pointant vers la racine du répertoire
où se trouve le DVD copié
Les options et
peuvent être aussi utilisées pour forcer le chemin vers le
périphérique utilisé (ceux utilisés par défaut sont
/dev/dvd et
/dev/cdrom).
Pour un encodage depuis un DVD, il est souvent préférable de
selectionner un ou plusieurs chapitres à encoder.
Vous pouvez utiliser l'option prévu
à cet effet.
Par exemple,
1-4
encodera seulement les chapitres 1 à 4 du DVD.
Ceci est particulièrement utile si vous voulez faire un encodage
sur 2 Cds soit 1400Mo.
Ceci permettant de couper votre film sur un chapitre et non au
milieu d'une scène.
Si vous disposez d'un carte pouvant acquérir le signal Télé,
vous pouvez sans soucis encoder le signal d'entrée.
Utilisez l'option
NuméroChaine
comme nom de fichier et l'option afin de
configurer les nombreux paramètres de captures.
Les entrés DVB marchent sur le même principe.
Encodage MPEG-4 deux passes ("DivX")
Le nom vient du fait que cette méthode encode le fichier
deux fois.
Le premier encodage (du mode deux passes) crée quelques
fichiers temporaires (*.log) avec
une taille de quelques méga-octets, ne les détruisez pas
tout de suite (vous pouvez effacer l'AVI ou redirigez le
flux vidéo vers /dev/null).
Lors de la seconde passe, le fichier de sortie est créé, en
utilisant les données bitrate des fichiers temporaires.
Le fichier résultant aura une image de bien meilleure
qualité. Si c'est la première fois que vous entendez
parler de ça, vous devriez consulter les guides disponibles
sur Internet.
Copie de la piste audio
Encodage deux passes de second chapitre d'un DVD vers de l'AVI
MPEG-4 ("DivX") avec la simple copie de la piste audio.
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o
film.avi
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o
film.aviEncodage de la piste audio
Encodage deux passes d'un DVD en AVI MPEG-4 ("DivX") avec la
conversion
de la piste audio en MP3.
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac
mp3lame
-lameopts vbr=3 -o film.avi
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac
mp3lame
-lameopts vbr=3 -o film.aviEncodage au format Sony PSPMEncoder supporte l'encodage au format
Sony PSP.
Cependant les contraintes peuvent différer suivant la version
actuelle du logiciel PSP.
Le respect des contraintes suivantes devrait vous permettre
d'encoder sans problème :
Taux d'encodage: il ne devrait pas être
supérieur à 1500kbps. Cependant, les dernières versions supportent
presque tous les taux d'encodage tant que l'en-tête donne une
valeur raisonable.
Dimensions: la largeur et la
hauteur de la video PSP doivent être multiples de 16 et le produit
largeur * hauteur doit être <= 64000.
Dans certaines circonstances, la PSP est capable de lire des
résolutions supérieures.
Audio: le taux d'échantillonage
doit être fixé à 24kHz pour les vidéos MPEG-4 et à 48kHz pour les H.264.
Exemple
mencoder -oac lavc -ovc lavc -of lavf -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=aac \
-af lavcresample=24000 -vf harddup -lavfopts format=psp:i_certify_that_my_video_stream_does_not_use_b_frames \
-ofps 30000/1001 input.video -o output.psp
Vous pouvez définir le titre de la vidéo avec
.
Encodage au format MPEGMEncoder peut créer des fichiers au
format MPEG (MPEG-PS).
Habituellement, vous utilisez des formations vidéos comme le
MPEG-1 ou MPEG-2 pour l'encodage vers des formats contraints
comme le SVCD, VCD, ou encore le DVD.
Les exigences particulières de ces formats sont expliqués dans
la section du
guide de création d'un VCD ou DVD.
Pour changer le format du fichier final produit par
MEncoder
utilisez l'option .
Exemple :
mencoder input.avi -of mpeg -ovc lavc
-lavcopts vcodec=mpeg1video -oac copy
autres_options -o
output.mpg
Création d'un fichier MPEG-1 lisible sur un système basique
comme peu l'être un MS Windows fraîchement installé :
mencoder input.avi -of mpeg -mpegopts
format=mpeg1:tsaf:muxrate=2000 -o
output.mpg -oac lavc -ovc lavc \
-lavcopts acodec=mp2:abitrate=224:vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
Redimensionnement des films
Souvent le besoin de redimensionner les images d'un film se fait
sentir.
Les raisons peuvent être multiples: diminuer la taille du fichier,
la bande passante du réseau, etc.
La plupart des gens redimensionnent même en convertissant des DVDs
ou SVCDs en AVI DivX.
Si vous désirez redimensionner, lisez la section
Préserver le ratio d'aspect.
Le processus de zoom est géré par le filtre vidéo
scale:
.
Sa qualité peut être réglée avec l'option .
Si elle n'est pas spécifiée, MEncoder
utilisera 2: bicubique.
Utilisation :
mencoder entrée.mpg -ovc lavc -lavcopts
vcodec=mpeg4 -vf scale=640:480 -o
sortie.aviCopie de fluxMEncoder peut gérer les flux entrant de
deux façons: les
encoder ou les copier
Cette section parle de la copie.
Flux vidéo (option ) :
on peut faire des choses sympa :) comme, placer (pas convertir) de
la vidéo FLI
ou VIVO ou MPEG1 dans un fichier AVI ! Bien sûr seul
MPlayer
peut lire de tels fichiers :) et ça n'a probablement aucun
intérêt.
Concrètement: copier des flux vidéos peut être utile par exemple
quand seul le flux audio doit être encodé (comme du PCM
non-compressé en MP3).
Flux audio (option ):
très simple. Il est possible de prendre un fichier audio
externe (MP3, WAV) et de le multiplexer dans le flux
sortant.
Utilisez l'option pour cela.
En utilisant l'option pour copier d'un
format de container vers un autre format, il faudrait utiliser
l'option pour préserver les marqueurs
originaux du format du fichier audio.
Par exemple, si vous convertissez un fichier NSV avec de
l'audio en ACC vers un container AVI, le format du marqueur
audio sera incorrect et devra être changé.
Pour visualiser la liste des marqueurs des formats audio,
jetez un coup d'oeil à codecs.conf.
Exemple:
mencoder input.nsv -oac copy -fafmttag
0x706D -ovc lavc -lavcopts vcodec=mpeg4 -o
output.aviEncodage à partir de nombreux fichiers Image (JPEG,
PNG, TGA,
SGI)MEncoder est capable de créer des
fichiers
à partir de un ou plusieurs fichiers JPEG, PNG ou TGA.
Avec une simple copie de trame il peut créer
des fichiers MJPEG (Motion JPEG), MPNG (Motion PNG) ou MTGA
(Motion TGA).
Explication du fonctionnement :MEncoderdécode le(s) image(s)
d'origine(s) avec libjpeg
(pour décoder
des PNGs, il utilisera libpng).
MEncoder envoie alors l'image
décodée au
compresseur
vidéo choisi (DivX4, Xvid, ffmpeg msmpeg4, etc.).
Exemples
Une explication de l'option peut être trouvée
dans la page de man.
Créer un fichier Mpeg-4 à partir de tous les fichiers JPEG du
répertoire courant:
mencoder -mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc
-lavcopts vcodec=mpeg4 -oac copy -o
sortie.avi
Créer un fichier MPEG-4 à partir de quelques fichiers JPEG du
répertoire courant:
mencoder
mf://trame001.jpg,trame002.jpg -mf
w=800:h=600:fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4
-oac copy -o sortie.avi
Créer un fichier Motion JPEG (MJPEG) à partir de tous les fichiers
JPEG du répertoire courant:
mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac
copy -o sortie.avi
Créer un fichier non-compressé à partir de tous les fichiers
PNG du
répertoire courant:
mencoder mf:// -mf w=800:h=600:fps=25:type=png -ovc raw -oac
copy -o
sortie.avi
La largeur doit être un entier multiple de 4, c'est une
limitation du
format AVI RGB brut.
Créer un fichier Motion PNG (MPNG) à partir de tous les
fichiers PNG du répertoire courant:
mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac
copy -o sortie.avi
Créer un fichier Motion TGA (MTGA) à partir de tous les
fichiers TGA
du répertoire courant:
mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac
copy -o sortie.aviExtraction des sous-titres DVD depuis fichier
VobsubMEncoder est capable d'extraire les
sous-titres d'un DVD dans des fichiers au format VOBsub.
Ils se composent de quelques fichiers ayant pour extension
.idx et .sub et sont
généralement compressés dans une seule archive
.rar.
MPlayer
peut les lire avec les options et
.
Vous spécifiez le nom de base (c-à-d. sans extension
.idx ou .sub)
des fichiers de sortie avec
et l'index pour ces sous-titres dans le fichier final avec
.
Si l'entrée n'est pas un DVD vous pouvez utiliser
pour indiquer le fichier
.ifo requis pour construire le
fichier .idx final.
Si l'entrée n'est pas un DVD et que vous n'avez pas de fichier
.ifo vous aurez besoin d'utiliser
l'option pour lui permettre de
savoir quelle langue placer dans le fichier
.idx.
Chaque étape ajoutera les sous-titres actifs dans les fichiers
.idx
et .sub déjà existants. Vous devrez donc les
enlever tous avant de commencer.
Copier deux sous-titres d'un DVD pendant l'encodage
deux passes
rm subtitles.idx subtitles.sub
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -vobsubout subtitles -vobsuboutindex 0 -sid 2
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -vobsubout subtitles -vobsuboutindex 1 -sid 5
Copier les sous-titres français depuis un fichier
MPEG
rm soustitres.idx soustitres.sub
mencoder film.mpg -ifo film.ifo -vobsubout soustitres -vobsuboutindex 0 -vobsuboutid fr -sid 1
Préserver le ratio d'aspect
Les fichiers des DVDs et des SVCDs (c-à-d MPEG1/2) contiennent une
valeur de ratio d'aspect, qui décrit comment le lecteur devrait
dimensionner le flux vidéo, pour que les personnages n'aient pas
des "têtes d'oeuf" (ex. 480x480 + 4:3 = 640x480).
De toute façon, quand vous encodez un fichier AVI (DivX), vous
devez être conscients
que les entêtes
AVI ne stockent pas cette valeur. Redimensionner le film est assez
infâme et coûteux en
temps, il doit y avoir une meilleur solution !
Il y en a une.
MPEG-4 a une fonction spécifique: le flux vidéo peut contenir
le ratio d'aspect requis.
Oui, tout comme les fichiers MPEG-1/2 (DVD, SVCD) et H.263.
Malheureusement, très peu de lecteurs vidéos
en dehors de MPlayer supportent cet attribut MPEG-4.
Excepté MPlayer.
Cette fonction ne peut être utilisée qu'avec le codec
mpeg4 de
libavcodec.
Gardez bien à l'esprit que même si
MPlayer
lit correctement le fichier créé, les autres lecteurs sont susceptibles d'utiliser un mauvais ratio.
Vous devriez vraiment couper les bandes noires au dessus et en
dessous de l'image.
Voir la page de man pour l'utilisation des filtres
cropdetect
et crop.
Utilisation
mencoder
échantillon-svcd.mpg -ovc
lavc -lavcopts vcodec=mpeg4:autoaspect -vf
crop=714:548:0:14 -oac copy -o
sortie.avi