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 FIXME

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

Site officiel

La meilleure documentation possible de ce logiciel est disponible sur le site officiel de MPlayer disponible à l'adresse ci-dessous :

Utilisation basique de MEncoder

L'encodage avec MEncoder

gmencoder

Voir page dédiée : gmencoder

Développement arrêté depuis 2003

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.

  • mencoder.txt
  • Dernière modification: Le 12/03/2023, 19:25
  • par L'Africain