Remuxer .mkv en .m2ts sous Linux
👨💻
Un moyen super rapide et facile de convertir .mkv en un format accepté par PS3 sans aucune perte de qualité.
Le script ci-dessous peut être utilisé pour remuxer un fichier matroska « standard » .mkv en un fichier AVCHD .m2ts qui fonctionne parfaitement sur la PS3 de Sony par exemple. Ceci est possible en utilisant l’excellent logiciel tsmuxer de SmartLabs.
Mises à jour:
- changé pour la version linux native de tsmuxer
- prise en charge de plusieurs langues audio
Exigences
tsMuxer : http://www.videohelp.com/tools/tsMuxeR
mkvtoolnix : http://www.videohelp.com/tools/MKVtoolnix
dcadec : http://www.videolan.org/developers/libdca.html
aften : http://aften.sourceforge.net/
Installation
1. Assurez-vous que les applications ci-dessus sont installées, mkvtoolnix devrait être disponible à partir de votre dist repo .. c’est-à-dire apt-get
2. Copiez le script ci-dessous par exemple dans /usr/local/bin/mkvtom2ts.sh et rendez-le exécutable.
3. Modifiez la liste des langues par défaut préférées
4. Testez-le ! mkvtom2ts.sh film.mkv
#! / bin / bash
#
# mkvtom2ts.sh – un simple wrapper autour du tsmuxeR
# Crée un m2ts à partir d’un mkv « standard » (en supposant que la vidéo est MPEG4 et que le son est AC3 ou DTS)
#
# v0.1 version initiale
# v0.2 ajouté la prise en charge DTS
# v0.3 changé en version tsmuxer linux + ajout de la prise en charge de plusieurs langues audio
#
# Utilisation : mkvtom2ts nom de fichier.mkv
#
AUDIO_LANGS = « eng et swe »
BASENAME = $ (basename « $ 1 » .mkv)
DEST_FILE = $ BASENAME.m2ts
MPEG4_TRACK_NO = `mkvinfo » $ 1 » | grep V_MPEG4 / ISO / AVC -B10 | grep Piste numéro : | awk ‘print $ 5’ »
pour AUDIO_LANG en $ AUDIO_LANGS
faire
AC3_TRACK_NO = `mkvinfo » $ 1 » | grep A_AC3 -B10 -C3 | grep Langue : $ AUDIO_LANG -B13 | grep Piste numéro : | awk ‘print $ 5’ »
DTS_TRACK_NO = `mkvinfo » $ 1 » | grep A_DTS -B10 -C3 | grep Langue : $ AUDIO_LANG -B13 | grep Piste numéro : | awk ‘print $ 5’ »
si [ -n « $AC3_TRACK_NO » -o -n « $DTS_TRACK_NO » ]
ensuite
Pause
Fi
Fini
echo « N° de piste vidéo (V_MPEG4 / ISO / AVC): $ MPEG4_TRACK_NO »
echo « Audio (A_AC3) $ AUDIO_LANG numéro de piste : $ AC3_TRACK_NO »
echo « Audio (A_DTS) $ AUDIO_LANG numéro de piste : $ DTS_TRACK_NO »
#audio ac3-> multiplexage direct
si [[ $AC3_TRACK_NO -gt « 0 » ]]
ensuite
echo « Piste ac3 trouvée, multiplexage direct… »
rm -f mux.meta
echo « MUXOPT –no-pcr-on-video-pid –new-audio-pes –vbr » >> mux.meta
echo « V_MPEG4 / ISO / AVC, » $ 1 « , niveau = 4.1, insertSEI, contSPS, piste = $ MPEG4_TRACK_NO, lang = eng » >> mux.meta
echo « A_AC3, » $ 1 « , piste = $ AC3_TRACK_NO, lang = eng » >> mux.meta
tsMuxeR mux.meta $ DEST_FILE
rm -f mux.meta
autre
si [[ $DTS_TRACK_NO -gt « 0 » ]]
ensuite
echo « Pas d’ac3 mais dts, conversion en ac3 .. »
mkvextract pistes « $ 1 » $ DTS_TRACK_NO: « $ BASENAME.dts » $ MPEG4_TRACK_NO: « $ BASENAME.mpeg4 »
dcadec -r -o wavall « $ BASENAME.dts »> « $ BASENAME.wav »
après « $ BASENAME.wav » « $ BASENAME.ac3 »
echo « Muxage… »
rm -f mux.meta
echo « MUXOPT –no-pcr-on-video-pid –new-audio-pes –vbr » >> mux.meta
echo « V_MPEG4 / ISO / AVC, » $ BASENAME.mpeg4 « , level = 4.1, insertSEI, contSPS, track = 1, lang = eng » >> mux.meta
echo « A_AC3, » $ BASENAME.ac3 « , track = 1, lang = eng » >> mux.meta
tsMuxeR mux.meta $ DEST_FILE
rm -f mux.meta $ BASENAME.dts $ BASENAME.wav $ BASENAME.ac3 $ BASENAME.mpeg4
autre
echo « Pas d’ac3 ou de dts, sortie… »
Fi
Fi
N’oubliez pas de partager l’article avec vos amis !