Demuxage de masse mkv...
Modérateur : Modérateurs
Demuxage de masse mkv...
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 !
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 !
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 ;-)
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 ;-)
- Subbat
- Administrateur
- Messages : 8836
- Enregistré le : jeu. 11 déc., 2008 20:12
- Localisation : Quelque part... dans le centre de la France...
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...
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...
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]
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]
- Subbat
- Administrateur
- Messages : 8836
- Enregistré le : jeu. 11 déc., 2008 20:12
- Localisation : Quelque part... dans le centre de la France...
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)...
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)...