Je vous propose aujourd'hui une méthode de codage de film / série en .mkv, avec les langues audios voulues et les sous-titres. C'est une des méthodes que j'utilise car suivant les DVD et le bon déroulement du codage j'en utilise d'autres (que je mettrais plus tard). Etant Linuxien, j'utilise le codage à la console que je trouve plus simple à expliquer et évitant l'utilisation de logiciel "gui" qui plantent en général et sont lourds à utiliser. Pour les Windosiens les logiciels doivent aussi exister pour leur OS. Il faut mencoder, mplayer, mkvmerge et ffmpeg que j'utilise dans d'autres méthodes.
ouvrez une console en appuyant en meme temps sur <CTRL ALT T> ou menu des applications et "terminal".
On commence par coder la vidéo en avi, débit 840 kbs/s, audio Français mp3 en 92 kbs/s, sans sous-titre intégrés à l'image:
mencoder -quiet -ovc x264 -x264encopts tune=film:bitrate=840:subq=7 -force-avi-aspect 16:9 -oac mp3lame -lameopts abr:br=92 -alang fr -slang xx dvd://1 -o 405_video.avi
à un endroit dans la sortie console vous avez ça (très utile pour d'autres méthodes de codage)
Citation :
audio stream: 0 format: ac3 (5.1) language: en aid: 128.
audio stream: 1 format: ac3 (stereo) language: es aid: 129.
audio stream: 2 format: ac3 (stereo) language: fr aid: 130.
number of audio channels on disk: 3.
subtitle ( sid ): 0 language: da
subtitle ( sid ): 1 language: en
subtitle ( sid ): 2 language: es
subtitle ( sid ): 3 language: fr
subtitle ( sid ): 4 language: nl
subtitle ( sid ): 5 language: no
subtitle ( sid ): 6 language: fi
subtitle ( sid ): 7 language: sv
subtitle ( sid ): 8 language: en
number of subtitles on disk: 9
success: format: 2 data: 0x70031800 - 0xe3dc3800
Selected DVD audio channel: 130 language: fr
No matching DVD subtitle language found!
MPEG-PS file format detected.
VIDEO: MPEG2 720x576 (aspect 3) 25.000 fps 9800.0 kbps (1225.0 kbyte/s)
[V] filefmt:2 fourcc:0x10000002 size:720x576 fps:25.000 ftime:=0.0400
|
Une fois le codage terminé (de 10 min à 1 heure suivant votre config, avec mon octo-coeur il faut moins de 10 minutes), on récupère les autres langues audios:
mencoder -quiet -vf harddup -ovc frameno -oac mp3lame -lameopts abr:br=92 -alang en dvd://1 -o 405_en.mp3
mencoder -quiet -vf harddup -ovc frameno -oac mp3lame -lameopts abr:br=92 -alang es dvd://1 -o 405_es.mp3
Ensuite les sous-titres. Attention, les sous-titres apparaissent dans le menu dans l'ordre ci-dessous. À vous de changer l'ordre comme bon vous semble. En cas d'erreur, effacez les fichier subtitles.* et recommencez. Sinon tous les sous-titres seront à la suite.
mencoder -quiet dvd://1 -vobsubout subtitles -slang en -vobsuboutid en -o /dev/null -nosound -ovc frameno
mencoder -quiet dvd://1 -vobsubout subtitles -slang fr -vobsuboutid fr -o /dev/null -nosound -ovc frameno
mencoder -quiet dvd://1 -vobsubout subtitles -slang es -vobsuboutid es -o /dev/null -nosound -ovc frameno
On fait le codage en .mkv de base avec le titre de l'épisode et les fichiers codés prcédemment, -o fichier de sortie, la video en premier, l'audio dans l'odre voulu (Français dans le .avi, ensuite anglais et espagnol):
mkvmerge -o _405.mkv 405_video.avi 405_en.mp3 405_es.mp3 subtitles.idx --title "Medium saison 4 episode 5"
On liste tous les flux afin de remettre de l'ordre et de nommer les menus, on voit deux flux videos inutiles en 2 et 4 (mais prenant peu de place quand meme):
mkvmerge -i _405.mkv
Citation :
Fichier « _405.mkv » : conteneur : Matroska
Piste d'identifiant 0 : video (MPEG-4p10/AVC/h.264)
Piste d'identifiant 1 : audio (MP3)
Piste d'identifiant 2 : video (0x46724e6f "FrNo" )
Piste d'identifiant 3 : audio (MP3)
Piste d'identifiant 4 : video (0x46724e6f "FrNo" )
Piste d'identifiant 5 : audio (MP3)
Piste d'identifiant 6 : subtitles (VobSub)
Piste d'identifiant 7 : subtitles (VobSub)
Piste d'identifiant 8 : subtitles (VobSub)
|
Et là on ne garde que les flux voulus (video en 0, audio en 1,2,3 et ST en 4,5,6) Evidemment le changement de nom se fait avant la recopie d'où les numéros différents:
mkvmerge -o episode_405.mkv -d 0 -a 1,3,5 -s 6,7,8 --aspect-ratio 0:16/9 --language 1:fre --track-name 1:Francais --language 3:eng --track-name 3:Anglais --language 5:spa --track-name 5:Espagnol --language 6:eng --track-name 6:Anglais --language 7:fre --track-name 7:Français --language 8:spa --track-name 8:Espagnol _405.mkv
mkvmerge pour verifier la finalité du codage:
mkvmerge -i episode_405.mkv
Citation :
Fichier « episode_405.mkv » : conteneur : Matroska
Piste d'identifiant 0 : video (MPEG-4p10/AVC/h.264)
Piste d'identifiant 1 : audio (MP3)
Piste d'identifiant 2 : audio (MP3)
Piste d'identifiant 3 : audio (MP3)
Piste d'identifiant 4 : subtitles (VobSub)
Piste d'identifiant 5 : subtitles (VobSub)
Piste d'identifiant 6 : subtitles (VobSub)
|
Cette méthode fonctionne en principe (et sous linux) pour toutes les séries et films. Si ça coince il existe d'autres façons d'extraire les élements que je donnerais plus tard. Pour un épisode de 40 minutes, avec 3 langues audios et 3 sous-titres, la taille est d'environ 340 MO ce qui est correct. Pour une meilleure qualité, montez le débit video de 840 à 1400 par exemple. Le fichier sera plus gros mais la qualité meilleure dans les zones sombres et les mouvements rapides.