Demuxage de masse mkv...

Les questions des débutants ...

Modérateur : Modérateurs

Répondre
spawnkam
Messages : 26
Enregistré le : dim. 31 juil., 2011 10:44

Demuxage de masse mkv...

Message par spawnkam »

Bonjour,

Imaginons que j'ai 100 mkv d'une série dont je souhaiterais extraire les sous-titres. Existe-t-il une technique pour extraire les 100 sous-titres directement à la suite l'un de l'autre ?

J'aimerai une manière qui automatise le demuxage. Si sur chaque mkv j'ai 5 id, et que l'id numéro 3 correspond à mon sous-titre, le programme extrait l'id3 de chaque fichier. Ou encore il extrait les pistes de styles srt, sub, ass...sans disctinction...Ou alors il extrait toutes les pistes des mkv et puis je me débrouille avec, j'ai juste à laisser tourner le programme.

Car utiliser MKVExtractGUI lorsqu'on a beaucoup de fichier, et faire les fichiers un à un toute les 30 secs deviens vite lassant.

Merci de votre aide.
Bonne soirée à vous !
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 »

Salut... je ne sais pas si ce que tu veux faire existe, mais avec mkvextractgui tu peux enregistrer des "jobs" et les lancer ensuite tous a la suite les uns des autres...
spawnkam
Messages : 26
Enregistré le : dim. 31 juil., 2011 10:44

Message par spawnkam »

Bonsoir, merci pour ta réponse !

Peut-être ce que tu appelles jobs c'est ce qui me simplifierais la vie ;) Comment on fait car dans la fenêtre j'ai juste Input file, Output file, Extract...Batch...Mais je vois pas ou je pourrais lancer un truc en chaine !

Merci d'avance
spawnkam
Messages : 26
Enregistré le : dim. 31 juil., 2011 10:44

Message par spawnkam »

Je serais quand même intéressé pour les "jobs" car j'ai rien compris.

Mais sinon je me suis démerder autrement, en copiant la commande batch, et en l'implémentant dans une boucle:

En mettant un indice i pour le numéro de mon épisode dans le nom du fichier. Et donc par exemple ici, j'extrais les sous-titres des épisodes 4 à 6.
""C:\Program Files\MKVToolNix\mkvextract.exe"
FOR /L %%i IN (4,1,6) DO mkvextract tracks "E:\REPERTOIRE\NOM.0%%i.mkv" 3:"E:\REPERTOIRE\NOM.0%%i_track4_eng.srt"

Merci de votre aide ;-)
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 »

Au temps pour moi... les jobs (ou taches) c'est dans mkvmergegui... ça existe peut-être dans mkvextractgui, mais je n'en sais rien...

Mais de toutes façon, les jobs (ou taches) à lancer en différé te demanderont beaucoup plus de temps que la solution que tu as trouvé en ligne de commande...

D'ailleurs, si ça ne t'embette pas, je veux bien que tu m'expliques ta ligne de commande en détail...

Que veut dire "FOR /L %% IN (4,1,6) etc etc en détaillant chaque élément

Merci d'avance...
spawnkam
Messages : 26
Enregistré le : dim. 31 juil., 2011 10:44

Message par spawnkam »

En faite, mkvmerge, mkvextract...Fonctionne sous dos, en invite de commande. Donc si je veux les utiliser sans Gui, je dois taper une commande bien spécifique dans ma console.

Pour la première partie:
mkvextract tracks "E:\REPERTOIRE\NOM.0%%i.mkv" 3:"E:\REPERTOIRE\NOM.0%%i_track4_eng.srt"

C'est la commande inhérente à mkvextract. Les commandes existantes peuvent être trouvés dans les fichiers aides disponible dans le dossier...\MKVToolNix\doc\en\...
Une manière autre d'avoir directement la bonne commande est d'ouvrir un fichier avec MKVExtractGUI, cliquer sur batch, et une fenêtre s'affiche la ligne de commande qu'en fait le programme exécute dans la console.

Tout cela c'est pour un fichier...
Mais que faire pour plusieurs fichiers comme dans mon problème ?
Il faut savoir que le DOS a un langage bien spécifique le BATCH, et pour faire des fichiers en BATCH, on crée un fichier .bat dans lequel on inscrirait nos commandes comme si on les tapait directement dans la fenêtre.

1) Je renomme mes fichiers de manière simple, SERIE.S01E1.mkv, SERIE.S01E2.mkv,...de sorte que les fichiers possèdent le même nom sauf pour les chiffres qui augmentent de 1 par épisodes.

En batch il existe une commande FOR (comme en C++,...) qui exécute une instruction plusieurs fois:

FOR /L %variable IN (index de début, pas, index de fin) DO commande

Le commutateur /L permet de faire une boucle FOR classique, c'est-à-dire qu'elle permet de boucler sur des commandes un certain nombre de fois.


2) Je crée mon fichier .bat

1ère ligne: "C:\Program Files\MKVToolNix\mkvextract.exe" Cela permet de lancer mon programme mkvextract

2ème ligne: Je veux faire un boucle de demuxage, donc je rajoute FOR /L...

Ici %variable est ce qui change d'un fichier à un autre, ce qui permet de distinguer les différentes instructions, ici c'est le numéro de l'épisode 1,2,3...On met %variable=%i

Index de début, de fin sont les numéros du premier et dernier épisode à traiter.

Le PAS, est si je veux demuxer les l'épisode 1, puis l'épisode 2,...(PAS=1) ou alors en sauter un certain nombre...(PAS=3,4,...).

et commande ben c'est la commande du programme à exécuter: mkvextract... En veillant à bien remplacer les numéros d'épisodes par %i. Sinon il ne saura pas passer d'un épisode à un autre.

3) On enregistre et on exécute, la fenêtre d'invite se lance, et on voit que cela démuxe les épisodes les uns après les autres ^^

Je ne sais pas si c'est clair ou pas, c'est certes fort brouillon, j'ai découvert cela hier en cherchant à résoudre mon problème.
[/u][/i]
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 »

Ok, merci... par contre, tu dis %variable=%i mais ce serait pas plutôt variable=%i

Parce que dans ta ligne de commande, tu as %%i alors que si on suit tes explications on devrait avoir seulement %i non ?

[edit] En tout cas merci... il faut que je me le note dans un coin... j'ai déjà eu à faire ce genre de manip... et je m'étais tout tapé à la mimine moi (enfin avec enregistrement de taches et exécution différée)...
spawnkam
Messages : 26
Enregistré le : dim. 31 juil., 2011 10:44

Message par spawnkam »

Tu peux marquer les deux %i ou %%i, les deux fonctionnent. Il y a une légère subtilité mais je ne l'ai pas comprise.
Répondre