Wolfi Posté(e) le 27 décembre 2008 Partager Posté(e) le 27 décembre 2008 (modifié) Salut! J'apporte ma petit contribution, car j'ai vu qu'on avait des tuto pour tsmuxergui (windows), super outil, mais pas pour tsmuxer sous linux. J'ai fait quelques scripts sh qui réencapsule n'importe quel fichier bizarre (avi[h264,dolby],mkv[h264,dts] par exemple) en m2ts lisible sur ps3, donc les voicis tels quels, j'essayerai de fournir une liste des paquets a installer. 1. mkvTOm2ts #!/bin/bash # # Utilisation: mkvtom2ts filename.mkv AUDIO_LANGS="fre jpn eng und" BASENAME=$(basename "$1" .mkv) DEST_FILE=$BASENAME.m2ts MPEG4_TRACK_NO=`mkvinfo "$1" | grep V_MPEG4/ISO/AVC -B10 | grep Track\ number\:\ | awk '{ print $5 }'` #detection du format des pistes audio a l'aide de mkvinfo, trouvable dans mkvtoolnix for AUDIO_LANG in $AUDIO_LANGS do AC3_TRACK_NO=`mkvinfo "$1" | grep A_AC3 -B10 -C3 | grep Language\:\ $AUDIO_LANG -B13 | grep Track\ number\:\ | awk '{ print $5 }'` DTS_TRACK_NO=`mkvinfo "$1" | grep A_DTS -B10 -C3 | grep Language\:\ $AUDIO_LANG -B13 | grep Track\ number\:\ | awk '{ print $5 }'` MP3_TRACK_NO=`mkvinfo "$1" | grep A_MPEG/L3 -B10 -C3 | grep Language\:\ $AUDIO_LANG -B13 | grep Track\ number\:\ | awk '{ print $5 }'` if [ -n "$AC3_TRACK_NO" -o -n "$DTS_TRACK_NO" ] then break fi done echo "Video(V_MPEG4/ISO/AVC) track no : $MPEG4_TRACK_NO" echo "Audio(A_AC3) $AUDIO_LANG track no : $AC3_TRACK_NO" echo "Audio(A_DTS) $AUDIO_LANG track no : $DTS_TRACK_NO" echo "Audio(A_MPEG/L3) $AUDIO_LANG track no : $MP3_TRACK_NO" #audio ac3->direct muxing if [[ $AC3_TRACK_NO -gt "0" ]] then echo "AC3 - Dolby Digital, muxage direct" rm -f mux.meta echo "MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr" >>mux.meta echo "V_MPEG4/ISO/AVC, "$1", level=4.1, insertSEI, contSPS, track=$MPEG4_TRACK_NO, lang=eng" >>mux.meta echo "A_AC3, "$1", track=$AC3_TRACK_NO, lang=eng" >>mux.meta tsMuxeR mux.meta $DEST_FILE rm -f mux.meta else if [[ $DTS_TRACK_NO -gt "0" ]] then echo "DTS détecté, encodage en Dolby (AC3)" mkvextract tracks "$1" $DTS_TRACK_NO:"$BASENAME.dts" $MPEG4_TRACK_NO:"$BASENAME.mpeg4" dcadec -r -o wavall "$BASENAME.dts" > "$BASENAME.wav" aften "$BASENAME.wav" "$BASENAME.ac3" echo "Muxing..." 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 else if [[ $MP3_TRACK_NO -gt "0" ]] then echo "MP3 détecté, qu'on encode en ac3..." mkvextract tracks "$1" $MP3_TRACK_NO:"$BASENAME.mp3" $MPEG4_TRACK_NO:"$BASENAME.mpeg4" echo "Converting to AC3..." echo "Phase 1 : Wav..." mpg123 -w $BASENAME.wav $BASENAME.mp3 echo "Phase 2 : Wav2AC3..." aften "$BASENAME.wav" "$BASENAME.ac3" echo "Now muxing into m2ts..." 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.ac3 $BASENAME.wav $BASENAME.mpeg4 $BASENAME.mp3 else echo "Rien de connu en audio, on arrete" fi fi fi 2. mp4TOm2ts - cas ou on aurait un mp4 avec un profile louche #!/bin/bash #Made by Wolfi@kyubi-wolf #You're free to modify /copy / distribute / re-use it without any authorisation ! BASENAME=$(basename "$1" .mp4) if [ ${BASENAME:0:1} = "[" ] then echo "Error, then file should not start by [ !! Rename the file!" else DEST_FILE=$BASENAME.m2ts AAC=`MP4Box -info $1 | grep "AAC"` if [[ -n $AAC ]] then echo "AAC detected" ATRACKID=`MP4Box -info $1 | grep soun -C1 | grep TrackID | awk '{ print $7 }'` AUDIO=$BASENAME.aac ENCO="faad $AUDIO -o $AUDIO.wav" else ATRACKID=`MP4Box -info $1 | grep soun -C1 | grep TrackID | awk '{ print $7 }'` AUDIO=$BASENAME.mp3 ENCO="mpg123 -w $AUDIO.wav $AUDIO" fi VTRACKID=`MP4Box -info $1 | grep vide -C1 | grep TrackID | awk '{ print $7 }'` VIDEO=$BASENAME.h264 echo "Extracting video stream..." MP4Box -raw $VTRACKID $1 -out $VIDEO echo "Extracting audio stream..." MP4Box -raw $ATRACKID $1 -out $AUDIO echo "Converting to AC3..." echo "Phase 1 : Wav..." $ENCO echo "Phase 2 : Wav2AC3..." aften -b 128 "$AUDIO.wav" "$AUDIO.ac3" echo "Now muxing into m2ts..." rm -f mux.meta echo "MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr" >>mux.meta echo "V_MPEG4/ISO/AVC, "$VIDEO", level=4.1, insertSEI, contSPS, track=1, lang=eng" >>mux.meta echo "A_AC3, "$AUDIO.ac3", track=1, lang=eng" >>mux.meta #echo "S_PGS, fichier.pgs">>mux.meta tsMuxeR mux.meta $DEST_FILE echo "Cleaning temp files..." rm -f mux.meta $AUDIO $VIDEO $AUDIO.ac3 $VIDEO $AUDIO.wav fi 3.aviTOm2ts - au cas ou on aurait un h264+mp3 non reconnu par la ps3 #!/bin/bash #Made by Wolfi@kyubi-wolf #You're free to modify /copy / distribute / re-use it without any authorisation ! BASENAME=$(basename "$1" .avi) DEST_FILE=$BASENAME.m2ts AUDIO=$BASENAME.mp3 ENCO="mpg123 -w $AUDIO.wav $AUDIO" VIDEO=$BASENAME.h264 echo "Extracting video stream..." mplayer -dumpvideo -dumpfile $VIDEO $1 echo "Extracting audio stream..." mplayer -dumpaudio -dumpfile $AUDIO $1 echo "Converting to AC3..." echo "Phase 1 : Wav..." $ENCO echo "Phase 2 : Wav2AC3..." aften -b 128 "$AUDIO.wav" "$AUDIO.ac3" echo "Now muxing into m2ts..." rm -f mux.meta echo "MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr" >>mux.meta echo "V_MPEG4/ISO/AVC, "$VIDEO", level=4.1, insertSEI, contSPS, track=1, lang=eng" >>mux.meta echo "A_AC3, "$AUDIO.ac3", track=1, lang=eng" >>mux.meta #echo "S_PGS, fichier.pgs">>mux.meta tsMuxeR mux.meta $DEST_FILE echo "Cleaning temp files..." rm -f mux.meta $AUDIO $VIDEO $AUDIO.ac3 $VIDEO $AUDIO.wav Si ces scripts vous interessent, téléchargez tsmuxer sur le site officiel de l'editeur, et etudiez un peu les scripts, il vous faudra entre autre: aften mkvtoolnix mplayer mpg123 MP4Box Surtout, si vous avez des améliorations à proposer, n'hesitez pas!!! J'ai conscience que ces scripts sont vraiment bourrins, j'ai passé pas mal de temps à les faire pour qu'ils marchent avec des vidéos que je rencontre souvent (episodes de manga surtout ) et donc ils ne marchent peut être pas avec des videos plus exotiques! Modifié le 26 juin 2009 par Wolfi Lien vers le commentaire Partager sur d’autres sites More sharing options...
masterbox Posté(e) le 30 décembre 2008 Partager Posté(e) le 30 décembre 2008 Merci m'sieur ! Parce que pour le moment linux a l'air d'être un peu le parent pauvre des outils "all in one" de conversion... (vive la ligne de commande ;-) Mais malheureusement je n'arrive pas à faire fonctionner correctement TsMuxer chez moi sous nux... (problème de lib...) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant