====== mencoder ======
* Objet : mencoder
* Niveau requis : {{tag>débutant avisé}}
* Commentaires : //Encoder vos vidéos en ligne de commande.//
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
* Suivi : {{tag>}}
* Création par [[user>smolski]] le 05-12-2010 - 08:35:31
* Testé par [[user>smolski]] le 26-10-2013
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=3250 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
{{/file-R0f13076095b24f5ae5bd5129b6036195.png}}
===== Introduction =====
mencoder est lié à mplayer et en partage les options. \\
man mencoder
Reste que c'est un man des plus "allongé" en nombre de lignes et quasi illisible pour ceux qui ne sont pas de la partie de la video côté des termes techniques.
Ce tuto vise à présenter des lignes de commande permettant de réaliser quelques utilisations grâce à cette application.
Pour les détails, j'espère qu'ils s'ajouteront d'eux-mêmes au fur et à mesure de la pratique de chacun.
===== Installation =====
apt-get update && apt-get install mencoder
===== Option de mencoder =====
Vu l'étendu du sujet, je propose d'ouvrir les options une à une avec leur ligne de commande testée, voire d'ouvrir une page spécifique pour celle qui demanderaient plus de développement ou plus d'exemples.
==== sub - sous-titrage vidéo ====
Il est possible de sous-titrer nos vidéos ainsi :
=== Créer le fichier texte de sous-titrage ===
Le fichier de sous-titrage se compose d'une ligne indiquant les paramètres de temps d'apparition du sous-titre et de la rédaction de celui-ci. Chaque titrage étant terminé par un point mis à la ligne suivante et un espace à la ligne suivante aussi.
Ce fichier s'enregistre avec l'extension .st ou .ass à votre convenance \\
Par commodité, il peut se placer dans le même répertoire que la vidéo à sous-titrer.
Exemple de fichier.ass :
00:00:00:02,900 --> 00:00:09,000
Ceci est le premier titrage
.
00:00:00:08,900 --> 00:00:12,000
Ceci est le second titrage
.
00:00:00:11,900 --> 00:00:18,000
Titrage suivant
.
- Premier titrage qui va de la 2ème seconde et 9 centième jusqu'à la 9ème seconde.
- Second titrage qui va de la 8ème seconde et 9 centième jusqu'à la 12ème seconde.
- Et ainsi de suite...
Il est à noter que le chevauchement des titrages successifs permet de ne pas avoir de cassure entre chacun !
=== Ligne de commande ===
Pour obtenir depuis un fichier natif .avi un fichier mpeg4 sous-titré .avi
mencoder fichier_natif.avi -sub fichier_titre.ass -fontconfig -font [choix_de_caractère] \
-subfont-text-scale [choisir 1 à 3] -[choisir le charset] -ovc xvid \
-xvidencopts bitrate=[choisir le bitrate video] -oac copy -o fichier_obtenu.avi
==== Encoder en mpeg ====
=== La ligne de commande ===
mencoder fichier_natif -of mpeg -mpegopts format=dvd:tsaf:muxrate=2000 -ovc lavc -lavcopts \
vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:keyint=15:trell:mbd=2:precmp=2:subcmp=2 \
:cmp=2:dia=-10:predia=-10:cbp:mv0:vqmin=1:lmin=1:dc=10:acodec=ac3:aspect=4/3 -oac lavc \
-lavcopts abitrate=448 -o fichier_de_sortie.mpeg
== Exemple ==
À partir d'un fichier natif acquis en .avi
mencoder fichier_natif.avi -of mpeg -mpegopts format=dvd:tsaf:muxrate=2000 -ovc lavc -lavcopts \
vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:keyint=15:trell:mbd=2 \
:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:vqmin=1:lmin=1:dc=10:acodec=ac3 \
:aspect=16/9 -oac lavc -lavcopts abitrate=448 -o fichier_de_sortie.mpeg
À partir d'un fichier natif d'un dvd VTS_01_1.VOB
mencoder VTS_01_1.VOB -of mpeg -mpegopts format=dvd:tsaf:muxrate=2000 -ovc lavc -lavcopts \
vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:keyint=15:trell:mbd=2:precmp=2 \
:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:vqmin=1:lmin=1:dc=10:acodec=ac3:aspect=4/3 -oac \
lavc -lavcopts abitrate=448 -o fichier_de_sortie.mpeg
==== Encoder en mp4 ====
=== Depuis un fichier mpeg : ===
mencoder fichier_mpeg.mpeg -o fichier_mp4.mpg -ovc lavc -lavcopts \
vcodec=mpeg4:vbitrate=1800:mbd=2:keyint=250:autoaspect=2 -oac mp3lame
**Tableau explicatif :**
^ option ^ Signification ^
|-o |fichier de destination |
|-ovc lavc -lavcopts |encodage avec la famille de codec libavcodec |
|vcodec=mpeg4 |Utiliser le codec mpeg4 |
|:vbitrate=1800 |en modifiant cette valeur ''=1800'' par multiplication((Je n'ai pas essayé les intermédiaires)) on obtient une plus ou moins bonne qualité d'images |
|:mbd=2:keyint=250 |améliore le mouvement des images |
|:autoaspect=2 |détermination du format d'image ou 1=4:3 et 2=16:9 |
|-oac mp3lame |sortie du son en mp3. les paquets lame doivent être installés |
**Source :**
* [[http://www.mplayerhq.hu/DOCS/HTML/fr/menc-feat-enc-libavcodec.html#menc-feat-mpeg4-lavc-example-settings | mencoder et le mpeg4]]
=== Conclusion ===
Il vous reste à //tatouiller// ces paramètres pour découvrir les possibilités offertes et obtenir diverses compressions et résultats.
Tchap ! :-D
=== Depuis un fichier MKV ===
mencoder repertoire-d'origine/fichier.mkv -ni -force-avi-aspect 16:9 -ovc copy -alang fr -oac pcm -channels 6 -nosub -o repertoire de destination/fichier.mp4
===== Séquence vidéo =====
Pour coller ensemble sequence1.avi et sequence2.avi dans sequence_unique.avi :
mencoder -oac copy -ovc copy sequence1.avi sequence2.avi -o sequence_unique.avi
==== Option -ss ====
Se place à la position temporelle indiquée. \\
Ainsi :
* -ss 56
se place à 56 secondes
* -ss 01:10:00
se place à 1 heure 10 min
**EXEMPLE:**
Pour enlever 0 heure 32 minute 5 secondes (00:32:05) en debut de sequence_unique.avi :
mencoder -ovc copy -oac copy -ss 00:32:05 sequence_unique.avi -o sequence_debut.avi
==== Option -endpos ====
Stoppe l'encodage à la position temps ou octet indiquée.
La position en octet ne sera pas précise, car on ne peut s'arrêter qu'en limite de trame.
Ainsi :
* -endpos 56
N'encode que 56 secondes.
* -endpos 01:10:00
N'encode que 1 heure 10 minutes.
* -endpos 100mb
N'encode que 100 Mo.
**EXEMPLE:**
Une séquence débutant au bon endroit sequence_debut.avi, pour en garder 1 heure 5 minutes et 41 secondes (01:05:41) taper :
mencoder -ovc copy -oac copy -endpos 1:05:41 sequence_debut.avi -o sequence_finale.avi
===== Riper des DVD =====
Une commande permettant de riper des dvd avec le choix de la langue en fr :
mencoder -dvd-device /dev/sr0 dvd://01 -ni -force-avi-aspect 16:9 -ovc copy -alang fr -oac pcm -channels 6 -srate 44100 -nosub -o 1.vob
Ici c'est pour du 16:9, changer pour du 4:3 s'il y a lieu.
Merci golgot200 :
* https://debian-facile.org/viewtopic.php?pid=320183#p320183 :-D
===== Autre commande =====
mencoder /media/cdrom/VIDEO_TS/*1.VOB -ni -ovc copy -alang fr -oac pcm -channels 6 -srate 44100 -nosub -o 1.vob
===== TP-encodage et sous-titrage =====
* [[:doc:media:mencoder:tp-soustitre-mpeg4 | TP Sous-titrage & encodage MPEG4]]
* [[:doc:media:mencoder:tp-soustitre | TP Sous-titrage & encodage MPEG2]] //Obsolete//
//Merci au //**captnfab**// pour son aide amicale et précieuse !//
===== Liens et remerciements =====
//Merci à //**engil**// pour ses indications concernant la réalisation du fichier de sous-titrage.// \\
Voir aussi ce lien ardent pour ce sujet ardu, en français :
* http://www.mplayerhq.hu/DOCS/HTML/fr/index.html
''//À suivre............ Yep//''. ;-)