Encoder avec mencoder

Rédigé par Fred - - Aucun commentaire

La page de manuel de mplayer et mencoder est très complète mais un peu dense. Du coup, pour me rappeler comment convertir une vidéo, un petit mémo :

1 La ligne à changer

mencoder fichierEnEntree.avi -oac copy -ovc copy -o fichierDeSortie.avi

Les options :

-oac : choix du codec audio, codec copy = pas d’encodage, on recopie

-ovc : choix du codec vidéo, codec copy = pas d’encodage, on recopie

Cette ligne de commande ne fait donc « rien » :þ mais en changeant les codecs audio ou vidéo…

2 Changer de format de sortie

2.1 Output Codec Audio -oac

Les codecs audio sont à choisir parmi :

pcm (pour du non compressé)

mp3lame

lavc

help pour la liste des codecs disponibles

Deux des codecs en « détails » : mp3lame et lavc

2.1.1 mp3lame

Pour du mp3 qui passe partout. On peut alors ajouter des options avec -lameopts :

lameopts

Là ça devient vite technique. Faites confiance aux sites que vous visitez (ou expérimentez pour trouver votre bonheur), ou utilisez les preset.

Quelques exemples classiques:

-oac mp3lame -lameopts cbr:br=128 (bitrate constant (cbr) à 128kbps)

-oac mp3lame -lameopts preset=15:mode=3 (bitrate moyen de 15kbps, mode=3 pour du mono, 0 pour du stéréo)

Si comme moi, vous n’avez pas une oreille d’expert, fast:preset=standard devrait convenir (voire preset=medium), pour du 170-210kbps. Si vous êtes exigeants preset=insane pour du 320kbps.

2.1.2 lavc

Pour ceux qui connaissent ce qu’ils veulent. Les options avec -lavcopts :

lavcopts

Deux exemples :

acodec=vorbis

acodec=ac3:abitrate=192

2.1.3 le-truc-par-défaut-qui-devrait-marcher-tout-le-temps

-oac mp3lame sans rien du tout pour du mp3

ou

-oac lavc sans rien du tout pour du mp2

2.2 Output Codec Video -ovc

Les codecs pour la vidéo que je vais détailler :

raw pour du non compressé

lavc

Sinon, help pour la liste des codecs disponibles

2.2.1 raw

On précise les options avec -vf : -ovc raw -vf format=rgb24

2.2.2 lavc

Les options sont encore avec lavcopts :

lavcopts

vcodec=mpeg4:vbitrate=300 (mpeg4 (qui est la valeur par défaut si on ne mets pas de lavcopts) en 300kbps)

keyint=250 (une trame clé toutes les 250, plus c’est petit plus le fichier de sortie est gros, mais meilleur est le déplacement)

aspect=16/9 (« mieux que le redimensionnement, car la qualité n’en est pas diminuée » dixit man)

2.3 On peut également encoder en plusieurs passes :

2.3.1 En 2 passes

mencoder [les options] -ovc lavc -lavcopts foo=bar:vpass=1 (crée un fichier de statistiques)

puis

mencoder [les options] -ovc lavc -lavcopts foo=bar:vpass=2 (crée le fichier vidéo en se servant du fichier de statistiques)

On peut également ajouter « turbo » pour la première passe.

2.3.2 En X passes

mencoder [les options] -ovc lavc -lavcopts foo=bar:vpass=1 (pour créer le fichier de statistiques)

puis X-1 fois

mencoder [les options] -ovc lavc -lavcopts foo=bar:vpass=3 (qui crée le fichier vidéo et modifie celui de stats)

2.4 Les options de sous-titres

-sub fichier.sub

-sub-bg-alpha 100 (transparence du fond, de 1 à 255, 1 pas transparent, 255 très transparent, 0 totalementtransparent)

-subdelay 2 (retarde les sous-titres de 2 secondes)

-subfps 25 (rapport trame/sec des sous-titres, utile si les sous-titres se décalent au cours du temps)

2.5 Le divers

Si on veut augmenter le son : -af volume=30

Si on veut jouer avec luminosité/contraste : -vf eq=10/0

Si on veut ajouter des bandes noires : -vf expand=0:-50:0:0 (ajoute un bord de 50 pixels en bas de l’image)

3 Quelques exemples :

3.1 Conversion asf vers flv, l’asf étant tout pourri comme format, le flv pratique pour le web :

mencoder -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=400:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -of lavf -lavfopts format=flv -srate 22050 -ofps 24000/1001 -af volume=30 -vf eq=20:0 -o $sortie $1

Tiré d’un de mes scripts, d’où les $1 $2 Qui en décomposé donne :

mencoder -oac mp3lame 
              -lameopts abr:br=56
         -ovc lavc 
             -lavcopts vcodec=flv:vbitrate=400:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
	     #diverses options pour «améliorer la qualité si possible»
         -of lavf
             -lavfopts format=flv
         -srate 22050
         -ofps 24000/1001
         -af volume=30
         -vf eq=20:0
         -o foo.flv bar.asf

3.2 Conversion d’un flv en xvid avec incrustation de sous-titres

mencoder -oac mp3lame -lameopts cbr:br=128
        -ovc xvid -xvidencopts bitrate=900
	-sub foo.srt
	-o foo.xvid
	foo.flv

Comme le bitrate est ptêtre un peu trop grand, on peut le récupérer au préalable avec :

mplayer -vo null -ao null -identify -frames 0 foo.flv 2>/dev/null | grep "VIDEO:" | awk '{print int($7)}'

Écrire un commentaire

Quelle est la troisième lettre du mot siyfq ?