script mkv to mp4

Modérateur : Modérateurs

Répondre
loman02
Messages : 135
Enregistré le : mar. 03 févr., 2009 20:38

script mkv to mp4

Message par loman02 »

Bonjour a tous,

Je suis embêté en ce moment .
J'ai plusieurs fichiers mkv ayant la même structure et je souhaite les passer en mp4.
comme le nombre de fichier est impressionnant je voulais le faire en batch.

J'ai pour cela utilisé m4ng pour trouver les commandes pour extraire mes flux dts et h264
de mes mkv.

Je souhaite avant de muxer en mp4 convertir le son en aac. J'ai donc lancé la procédure de conversion
de l'audio dans m4ng , je récupère le script ... et quand je le lance moi même j'ai une erreur :
ERROR: could not parse WAV file


voici la commande que je lance

Code : Tout sélectionner

	start F:\test\extract>"C:\PROGRA~2\m4ng_v3\system\wavi.exe" "C:\Users\Romain\AppData\Roaming\m4ng\IDm4ng.avs" -   | "C:\PROGRA~2\m4ng_v3\system\neroAacEnc.exe" -ignorelength -br 320000 -if - -of "f:\test\extract\$$$tmp_m4ng.tmp"
Voici le contenu de l'AVS

Code : Tout sélectionner

t1=BlankClip(65550, pixel_type="YV12")
#audio_source=f:\test\extract\1.dts
LoadPlugin("C:\PROGRA~2\m4ng_v3\system\NicAudio.dll")
t2=NicDTSSource("f:\test\extract\1.dts")
Import("C:\PROGRA~2\m4ng_v3\system\AudioMix.avsi") #(c) 2oo9 - Dirk Pitt
# ====================================================================
t2=t2.AudioChannels == 1 ? MonoToStereo( t2 ) : t2
AudioDub(t1, t2)
Est ce que vous avez une idée ?
Avatar du membre
elcascador972
Messages : 408
Enregistré le : sam. 14 mai, 2011 0:18
Localisation : 14° 46' 57'' Nord / 60° 59' 37'' Ouest

Message par elcascador972 »

Salut !

Donc si je te suis, tu veux réencoder par batch des .mkv (x264+dts) en .mp4 (x264+aac) ? Dans ce cas, pourquoi vouloir modifier le script ? Pour ne pas réencoder du x264 en x264 ?

Parce que sinon, il te suffit de :

1. charger ton 1er fichier .mkv
2. définir un profil de réencodage (.mp4 en x264+aac) et tout ce qui va bien avec en terme de débit vidéo et audio, de pass, etc si besoin
3. de sauvegarder ce profil
4. de sauvegarder la 1ère tâche
5. de charger le 2nd .mkv
6. d'appliquer le profil sauvegardé
7. de sauvegarder la 2ème tâche
8. de charger le 3ème .mkv
9. de refaire pareil que les points 6 et 7 (en changeant le nom des tâches suivantes) pour tous les .mkv restants
10. d'aller dans "outils vidéo"=>batch
11. d'ajouter les tâches à éxecuter
12. de faire GO ! :d:

Non ?
Quand le sage montre la lune, le fou regarde le doigt
loman02
Messages : 135
Enregistré le : mar. 03 févr., 2009 20:38

Message par loman02 »

En fait je ne souhaite que ré encoder l'audio, pas la vidéo (je veux la laisser telle quelle).
Le mp4 ne supportant pas le dts je dois convertir la bande son.

Si je peux faire un script avec m4ng en utilisant les profils sans convertir la vidéo je suis preneur.
loman02
Messages : 135
Enregistré le : mar. 03 févr., 2009 20:38

Message par loman02 »

J'ai avancé l'encodage de l'audio se lance ... par contre je n'arrive pas a avoir un fichier en sortie ... bouh la honte !
Avatar du membre
misterd
Messages : 508
Enregistré le : mer. 24 oct., 2007 20:01

Message par misterd »

Tu peux essayer, sans certitude :

mettre tous les mkv dans le même dossier.
1. choisir un des mkv
2. selectionne x264
3. clique sur la clé à molette et choisis " ne pas ré-encoder la vidéo"
4. paramètre le son, le conteneur, ...
5. et dans l' engrenage à coté de la taille finale, sélectionne "encoder tout le dossier"
loman02
Messages : 135
Enregistré le : mar. 03 févr., 2009 20:38

Message par loman02 »

J'avais jamais remarqué l'option ne pas encoder la vidéo. :ange:
Quoi qu'il en soit, la vidéo n'étant pas ré encodé, celle ci n'est pas extraite du mkv ce qui empêche le mux en mp4 par m4ng
Avatar du membre
elcascador972
Messages : 408
Enregistré le : sam. 14 mai, 2011 0:18
Localisation : 14° 46' 57'' Nord / 60° 59' 37'' Ouest

Message par elcascador972 »

loman02 a écrit :la vidéo n'étant pas ré encodé, celle ci n'est pas extraite du mkv ce qui empêche le mux en mp4 par m4ng
Même conclusion !
Je me demande au final si ce que tu veux faire ne nécessite pas une modification de m4ng même :gna: , au delà d'une simple modification du script Avisynth...car tu veux démuxer puis réencoder l'audio seul et remuxer mais PAR BATCH ou par DOSSIER. Et c'est le coté "batch" qui me fait dire que je doute que seule une modification du script suffise

Après, la méthode que je te proposais conduit à réencoder du x264 en x264...pas optimal mais à toi de voir si la qualité du résultat te convient car là tu peux le faire par batch ou par dossier.
Quand le sage montre la lune, le fou regarde le doigt
Avatar du membre
Subbat
Administrateur
Administrateur
Messages : 8836
Enregistré le : jeu. 11 déc., 2008 20:12
Localisation : Quelque part... dans le centre de la France...

Message par Subbat »

@elcasador : ta solution prendra à mon avis plus de temps que de tout faire à la mimine... même si avec la tienne tu n'es pas obligé de rester devant le PC... Mais c'est dommage de ré-encoder de la vidéo qui n'en a pas besoin quand même...
Avatar du membre
misterd
Messages : 508
Enregistré le : mer. 24 oct., 2007 20:01

Message par misterd »

Une autre solution :
1. ouvrir dans m4ng : outils son / ré-encoder
2. charger un mkv dans "source audio", tu paramètres l' audio
3. cocher "encoder tout le dossier" et Go

tu vas avoir tous tes fichiers audios séparement en aac que tu remuxes avec le mkv original en mp4 en décochant le fichier dts dans Mme. (tu peux même le faire en "tâches" dans mme, mais ça ne sera pas forcément plus rapide)
loman02
Messages : 135
Enregistré le : mar. 03 févr., 2009 20:38

Message par loman02 »

Bonsoir a tous !

De retour sur la toile je me permets une petite remonté du topic même un mois après.
J'ai réussi ce que je voulais entreprendre. Voici comment j'ai procédé :

J'ai demuxé une des vidéos , j'ai encoder l'audio au format que je voulais.
Pour encoder m4ng me génère un petit fichier avs que j'ai copié dans un répertoire
J'en ai profité pour récupérer la commande exécutée par m4ng pour mon deuxième script (en dessous) .
Ensuite j'ai regroupé toutes mes vidéos dans un dossier et j'ai exécuté mon script.

Code : Tout sélectionner

echo off
setlocal ENABLEDELAYEDEXPANSION
for %%f in ("F:\test\*.mkv") do (
	REM Extraction
	mkvextract tracks "%%f" 1:"F:\test\extract\1.h264" 2:"F:\test\extract\1.dts"
	
	REM Encodage
	call "F:\test\extract\encode.bat"
	
	REM Muxage
	c:\progra~2\m4ng_v3\system\mp4box.exe -add "F:\test\extract\1.h264:fps=23.976" -add "F:\test\extract\1.m4a#1" -itags tool="Yamb 2.1.0.0 [http://yamb.unite-video.com]" -v -new "%%f.mp4"
	
	REM On efface les fichiers temporaires
	REM del F:\test\extract\*.dts
	REM del F:\test\extract\*.h264
	REM del F:\test\extract\*.m4a	
)
endlocal

et le petit dernier encode.bat

Code : Tout sélectionner

"F:\test\extract\wavi.exe" "IDm4ng.avs" - | "C:\PROGRA~2\m4ng_v3\system\neroAacEnc.exe" -ignorelength -br 320000 -if - -of "f:\test\extract\1.m4a"

L'architecture de mes dossiers est :

F:\ ---> Tous mes mkv
F:\test ---> mon premier script
F:\test\extract\ ---> la ou j'extrais la vidéo et l'audio + mon script encode

Voila ... ça m'a pris des jours pour tout faire ... plusieurs To pour le boulot .


PS : Pour info je suis passé du mkv au mp4 avec son DTS ----> AAC


Bien à vous !
ricou
Messages : 125
Enregistré le : dim. 29 juil., 2012 14:43

Message par ricou »

Si tu passes encore par là, merci bien loman02, ton code m'a bien servit pour transformer plusieurs mkv en mp4 sans ré-encodage.
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

loman02 a écrit : mkvextract tracks "%%f" 1:"F:\test\extract\1.h264" 2:"F:\test\extract\1.dts"
video en piste 1: , ok !
(mon message lié à celui-ci http://www.forum.m4ng.fr/ici-vp123954.html#123954 )
Répondre