Page 1 sur 1

script mkv to mp4

Posté : jeu. 16 févr., 2012 18:39
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 ?

Posté : ven. 17 févr., 2012 1:26
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 ?

Posté : ven. 17 févr., 2012 14:44
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.

Posté : ven. 17 févr., 2012 21:04
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 !

Posté : ven. 17 févr., 2012 21:09
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"

Posté : sam. 18 févr., 2012 8:31
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

Posté : sam. 18 févr., 2012 13:56
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.

Posté : sam. 18 févr., 2012 14:35
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...

Posté : sam. 18 févr., 2012 18:13
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)

Posté : ven. 23 mars, 2012 21:37
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 !

Posté : ven. 06 févr., 2015 22:16
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.

Posté : sam. 21 févr., 2015 11:39
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 )