NOM
mkvextract - extrait les pistes d'un fichier Matroska vers d'autres fichiers
RÉSUMÉ
mkvextract {source-filename} {mode1} [options] [extraction-spec1] [mode2] [options] [extraction-spec2] [...] |
DESCRIPTION
Ce logiciel extrait des parties spécifiques d'un fichier Matroska vers d'autres formats utiles. Le premier argument est le nom du fichier source qui doit être un fichier Matroska.
Tous les autres arguments soit basculent vers un mode d'extraction particulier, soit modifient des options pour le mode en cours, soit spécifient quoi extraire vers quel fichier. Plusieurs modes peuvent être utilisés en même temps en invoquant mkvextract, ce qui permet d'extraire plusieurs choses en une seule passe. La plupart des options peuvent seulement être utilisées dans certains modes, avec quelques options qui s'appliquent à tous les modes.
Est actuellement prise en charge l'extraction des pistes, balises, pièces jointes, chapitres, feuilles de montage CUE, horodatages et points de montage.
Options
communes
Les options suivantes sont disponibles pour tous les modes
et sont seulement décrites une seule fois dans cette
section.
-f, --parse-fully
Définit le mode d'analyse à « complet ». Le mode par défaut n'analyse pas entièrement le fichier nais utilise les méta-éléments de recherche pour localiser les éléments requis d'un fichier source. Dans la grand majorité des cas, cela est suffisant. Mais pour les fichiers qui ne contiennent pas ces méta-éléments ou qui sont endommagés, l'utilisateur pourrait utiliser ce mode. L'analyse complète d'un fichier peut prendre plusieurs minutes tandis qu'une analyse rapide ne prend que quelques secondes.
--command-line-charset character-set
Définit le jeu de caractères utilisé pour la conversion des chaînes fournies en ligne de commande. Par défaut, celui-ci correspond à celui donné par la « locale » du système.
--output-charset character-set
Définit le jeu de caractères dans lequel les chaînes en sortie sont converties. Par défaut, celui-ci correspond à celui donné par la « locale » du système.
-r, --redirect-output file-name
Écrit tous les messages dans le fichier file-name plutôt que vers la console. Alors que cela peut être facilement fait avec la redirection de la sortie, il y a des cas pour lesquels cette option est nécessaire : quand le terminal réinterprète la sortie avant de l'écrire dans un fichier. Le jeu de caractères défini avec --output-charset est honoré.
--flush-on-close
Indique au programme d'envoyer toutes les données cachées en mémoire vers le support de stockage lors de la fermeture de fichiers ouverts en écriture. Ceci peut être utilisé pour éviter la perte de données lors de coupures de courant ou pour contourner certains problèmes du système d'exploitation ou de pilotes. L'inconvénient est que le multiplexage sera plus long du fait que mkvmerge devra attendre que toutes les données soient écrites sur le support de stockage avant de quitter. Voir les problèmes #2469 et #2480 sur le suivi des bogues de MKVToolNix pour des discussions approfondies sur les avantages et inconvénients.
--ui-language code
Force les traductions pour la langue code à utiliser (par ex. 'fr_FR' pour les traductions françaises). Saisir 'list' comme code obligera le logiciel à générer la liste des traductions disponibles.
--abort-on-warnings
Demande au programme d'abandonner après le premier avertissement. Le code de fermeture sera égal à 1.
--debug topic
Activer le débogage pour une fonctionnalité spécifique. Cette option est utile uniquement pour les développeurs.
--engage feature
Active les fonctionnalités expérimentales. Une liste des fonctions disponibles peut être demandée avec mkvextract --engage list. Ces fonctionnalités ne devraient pas être utilisées en situations normales.
--gui-mode
Active l'interface graphique utilisateur. Dans ce mode, des lignes spécialement formatées peuvent être générées et informer une GUI de la situation. Ces messages suivent le format '#GUI#message'. Le message peut être suivi d'une paire clé/valeur comme '#GUI#message#key1=value1#key2=value2...'. Ni les messages ni les clés ne sont traduits, et sont toujours générés en anglais.
-v, --verbose
Mode verbeux qui affiche tous les éléments Matroska importants à mesure qu'ils sont lus.
-h, --help
Affiche les informations d'utilisation et quitte.
-V, --version
Affiche les informations de version et quitte.
@options-file.json
Lit des arguments supplémentaires en ligne de commande depuis le fichier options-file. Pour une explication complète sur les formats pris en charge pour de tels fichiers, voir la section nommée « Fichiers d'options » sur la page man de mkvmerge(1).
Mode
d'extraction des pistes
Syntaxe : mkvextract source-filename tracks
[options] TID1:dest-filename1
[TID2:dest-filename2 ...]
Les options de ligne de commande suivantes sont disponibles pour chaque piste en mode d'extraction de 'tracks'. Elles doivent apparaître avant les spécifications de piste (voir ci-dessous) auxquelles elles devraient s'appliquer.
-c character-set
Définit le jeu caractère pour en convertir la prochaine piste de texte de sous-titres. Seulement valide si l'ID de la nouvelle piste est une piste de texte de sous-titres. Par défaut UTF-8.
--blockadd niveau
Conserve seulement les BlockAdditions jusqu'à ce niveau. Par défaut, tous les niveaux. Cette option affecte seulement certains types de codecs comme WAVPACK4.
--cuesheet
Oblige mkvextract(1) à extraire une feuille de montage CUE à partir des données de balises et des informations de chapitres pour la piste suivante dans le fichier dont le nom est le nom de piste cible terminé par « .cue ».
--raw
Extrait les données brutes dans un fichier sans conteneur de données. À la différence de l'indicateur --fullraw, cet indicateur n'oblige pas les contenus de l'élément CodecPrivate à être écrits vers le fichier. Ce mode fonctionne avec tous les CodecIDs, même ceux que mkvextract(1) ne prend pas en charge, mais les fichiers résultants pourraient ne pas être utilisables.
--fullraw
Extrait les données brutes dans un fichier sans conteneur de données. Les contenus de l'élément CodecPrivate seront écrits vers le fichier en premier si la piste contient un tel élément d'entête. Ce mode fonctionne avec tous les CodecIDs, même ceux que mkvextract(1) ne prend pas en charge, mais les fichiers résultants pourraient ne pas être utilisables.
TID:outname
Oblige l'extraction de la piste avec l'ID TID dans le fichier outname si une telle piste existe dans le fichier source. Cette option peut être donnée plusieurs fois. Les ID de pistes sont les mêmes que celles données par l'option --identify de mkvmerge(1).
Chaque nom cible devrait n'être utilisé qu'une seule fois, à l'exception des pistes RealAudio et RealVideo. Si le même nom est utilisé pour différentes pistes, alors ces pistes seront enregistrées dans le même fichier. Exemple :
$ mkvextract input.mkv tracks 0:video.h264 2:output-two-vobsub-tracks.idx 3:output-two-vobsub-tracks.idx
Mode
d'extraction des pièces jointes
Syntaxe : mkvextract source-filename
attachments [options] AID1:outname1
[AID2:outname2 ...]
AID:outname
Oblige l'extraction de la pièce jointe avec l'ID AID dans le fichier outname si une telle pièce jointe existe dans le fichier source. Si outname est laissé vide, alors le nom de la pièce jointe du fichier source Matroska est utilisé. Cette option peut être donnée plusieurs fois. Les ID de pistes sont les mêmes que celles données par l'option --identifyde mkvmerge(1).
Mode
d'extraction des chapitres
Syntaxe : mkvextract source-filename
chapters [options]
output-filename.xml
-s, --simple
Exporte les informations de chapitres dans un format simple utilisé dans l'outil OGM (CHAPTER01=..., CHAPTER01NAME=...). Dans ce mode quelques information doivent être mises de côté. Par défaut, les chapitres sont générés en format XML.
--simple-language langue
Si le format simple est activé, alors mkvextract(1) sortira seulement une entrée unique pour chaque atome de chapitre rencontré même si un atome de chapitre contient plus d'un nom de chapitre. Par défaut mkvextract(1) utilisera le premier nom de chapitre trouvé pour chaque atome quelque soit sa langue.
Utiliser cette option permet à l'utilisateur de déterminer quels noms de chapitres sont sortis si les atomes contiennent plus d'un nom de chapitre. Le paramètre language doit être un code ISO 639-1 ou ISO 639-2.
Les chapitres sont écrits vers le fichier spécifié. Par défaut le format XML compris par mkvmerge(1) est utilisé. Si aucun chapitre n'est trouvé dans le fichier, le fichier source n'est pas créé.
Mode
d'extraction des balises
Syntaxe : mkvextract source-filename tags
[options] output-filename.xml
Les balises sont écrites vers le fichier spécifié dans le format XML compris par mkvmerge(1). Si aucune balise n'est trouvée dans le fichier, le fichier source n'est pas créé.
Mode
d'extraction de feuille de montage CUE
Syntaxe : mkvextract source-filename
cuesheet [options]
output-filename.cue
La feuille de montage est écrite vers le fichier spécifié. Si aucun chapitre ou balise n'est trouvé dans le fichier, le fichier source n'est pas créé.
Mode
d'extraction d'horodatage
Syntaxe : mkvextract source-filename
timestamps_v2 [options]
TID1:dest-filename1
[TID2:dest-filename2 ...]
TID:outname
Oblige l'extraction des horodatages pour la piste avec l'ID TID dans le fichier outnamesi une telle piste existe dans le fichier source. Cette option peut être donnée plusieurs fois. Les ID de pistes sont les mêmes que celles données par l'option --identify de mkvmerge(1).
Exemple :
$ mkvextract input.mkv timestamps_v2 1:ts-track1.txt 2:ts-track2.txt
Mode
d'extraction des feuilles de montage CUE
Syntaxe : mkvextract source-filename cues
[options] TID1:dest-filename1
[TID2:dest-filename2 ...]
TID:dest-filename
Oblige l'extraction des données de montage pour la piste avec l'ID TID dans le fichier outname si une telle piste existe dans le fichier source. Cette option peut être donnée plusieurs fois. Les ID de pistes sont les mêmes que celles données par l'option --identify de mkvmerge(1) et ne sont pas les numéros contenus dans l'élément CueTrack.
Le format de sortie est un simple format texte : une ligne par élément CuePoint avec des pairs key=value. Si un élément optionnel n'est pas présent dans un CuePoint (par ex. CueDuration), alors un tiret sera inscrit comme valeur.
Exemple :
timestamp=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11
Les clés possibles sont :
horodatage
L'horodatage du point de montage en précision nanoseconde. Le format est HH:MM:SS.nnnnnnnnn. Cet élément est toujours défini.
durée
La durée du point de montage en précision nanoseconde. Le format est HH:MM:SS.nnnnnnnnn.
cluster_position
La position absolue en octets dans le fichier Matroska où la grappe contenant l'élément référencé commence.
Note
Dans un fichier Matroska CueClusterPosition est relatif au
décalage du début des données de
l'élément. Toutefois, la valeur fournie par le
mode d'extraction de données de montage de
mkvextract(1) contient déjà ce
décalage et est un décalage absolu depuis le
début du fichier.
relative_position
La position relative en octets dans la grappe où l'élément BlockGroup ou SimpleBlock auquel le point de montage se réfère commence.
Note
Dans un fichier Matroska 1CueRelativePosition1 est relatif
au décalage du début des données de la
grappe. Toutefois, la valeur fournie par le mode
d'extraction de données de montage de
mkvextract(1) est relative à l'ID de la
grappe. La position absolue dans le fichier peut être
calculée en ajoutant cluster_position et
relative_position.
Exemple :
$ mkvextract input.mkv cues 1:cues-track1.txt 2:cues-track2.txt
EXEMPLES
Extraction de chapitres et balises dans leur formats XML respectifs en même temps :
$ mkvextract movie.mkv chapters movie-chapters.xml tags movie-tags.xml
Extraction de quelques piste et leurs horodatages respectifs en même temps :
$ mkvextract "Un autre film.mkv" tracks 0:video.h265 "1:piste audio principale.aac" "2:commentaires du réalisateur.aac" timestamps_v2 "0:horodatages vidéo.txt" "1:horodatages piste audio principale.txt" "2:horodatages des commentaires du réalisateur.txt"
Extraction de chapitres dans le format Ogg/OGM et réencodage d'unepiste de sous-titre texte dans un autre jeu de caractère :
$ mkvextract "Mon film.mkv" chapters --simple "Mes chapitres.txt" tracks -c MS-ANSI "2:Mes sous-titres.srt"
FICHIERS TEXTE ET CONVERSIONS DE JEUX DE CARACTÈRES
Pour une discussion approfondie sur la gestion des conversions de jeux de caractères des outils de la suite MKVToolNix, de l'encodage source/cible, de l'encodage de la ligne de commande, de l'encodage de la console, merci de voir les sections respectives nommées pareillement des pages man de mkvmerge(1).
FORMATS DE FICHIER CIBLE
La décision sur le format de sortie est basée sur le type de piste et non sur l'extension utilisée pour le nom de fichier cible. Les types de pistes suivantes sont prises en charge pour le moment :
A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC
Tous les fichiers AAC seront écrits dans un fichier AAC avec des entêtes ADTS avant chaque paquet. Les entêtes ADTS ne contiendront pas le champ d'accentuation obsolète.
A_AC3, A_EAC3
Celles-ci seront extraites en fichiers bruts AC-3.
A_ALAC
Les pistes ALAC sont écrites en fichiers CAF.
A_DTS
Celles-ci seront extraites en fichiers bruts DTS.
A_FLAC
Les pistes FLAC sont écrits en fichiers RAW FLAC.
A_MPEG/L2
Les flux MPEG-1 Audio Layer II seront extraits vers des fichiers raw MP2.
A_MPEG/L3
Celles-ci seront extraites en fichiers bruts MP3.
A_OPUS
Les pistes Opus sont écrites en fichiers OggOpus.
A_PCM/INT/LIT, A_PCM/INT/BIG
Les données brutes PCM seront écrites en fichier WAV. Le données Big-endian entier seront converties en données little-endian ce faisant.
A_REAL/*
Les pistes RealAudio sont écrites en fichiers RealMedia.
A_TRUEHD, A_MLP
Celles-ci seront extraites en fichiers bruts TrueHD/MLP.
A_TTA1
Les pistes TrueAudio sont écrites en fichiers TTA. Merci de noter que du fait de la précision limitée de l'horodatage Matroska, l'entête extraite du fichier sera différente pour ces deux champs : data_length (le nombre total d'échantillons du fichier) et CRC.
A_VORBIS
Vorbis audio va être écrit dans un fichier OggVorbis .
A_WAVPACK4
Les pistes WavPack sont écrites en fichiers WV.
S_HDMV/PGS
Les sous-titres PGS seront écrits en fichiers SUP.
S_HDMV/TEXTST
Les sous-titres TextST seront écrits en format de fichier spécial inventé pour mkvmerge(1) et mkvextract(1).
S_KATE
Les flux Kate seront écrits en conteneur Ogg.
S_TEXT/SSA, S_TEXT/ASS, S_SSA, S_ASS
Les sous-titres texte SSA et ASS seront respectivement écrits comme fichiers SSA/ASS.
S_TEXT/UTF8, S_TEXT/ASCII
Les sous-titres texte simple seront écrits comme fichiers SRT.
S_VOBSUB
Les sous-titres texte VobSub seront écrits comme fichiers SUB avec les fichiers d'index respectifs, comme fichiers IDX.
S_TEXT/USF
Les sous-titres texte USF seront écrits comme fichiers USF.
S_TEXT/WEBVTT
Les sous-titres texte WebVTT seront écrits comme fichiers WebVTT.
V_MPEG1, V_MPEG2
Les pistes vidéo MPEG-1 and MPEG-2 seront écrites comme flux élémentaires MPEG.
V_MPEG4/ISO/AVC
Les pistes vidéoH.264 / AVC sont écrites comme flux élémentaires H.264 qui peuvent être post-traités avec par ex. MP4Box du paquet GPAC.
V_MPEG4/ISO/HEVC
Les pistes vidéoH.265 / HEVC sont écrites comme flux élémentaires H.265 qui peuvent être post-traités avec par ex. MP4Box du paquet GPAC.
V_MS/VFW/FOURCC
Les pistes vidéo à FPS constant avec ce CodecID sont écrites en fichiers AVI.
V_REAL/*
Les pistes RealVideo sont écrites en fichiers RealMedia.
V_THEORA
Les flux Theora seront écrites en conteneur Ogg
V_VP8, V_VP9
VP8 / VP9 pistes sont écrites pour IVF fichiers.
Balises
Les balises sont converties en format XML. Ce format est le même que mkvmerge(1) gère en lecture.
Pièces jointes
Les pièces jointes sont écrites dans le fichier de sortie telles quelles. Aucune conversion n'est effectuée.
Chapitres
Les chapitres sont convertis en format XML. Ce format est le même que mkvmerge(1) gère pour lire les chapitres. Autrement une version dépouillée peut être produite dans le format simple OGM.
Horodatages
Les codes temporels sont d'abord triés puis produits en fichier conforme avec le format de code temporel v2 prêt à être envoyé à mkvmerge(1). L'extraction vers d'autres formats (v1, v3 et v4) n'est pas prise en charge.
CODES DE FERMETURE
mkvextract(1) ferme avec l'un de ces 3 codes de fermeture :
• 0 -- Ce code de sortie signifie que l'extraction s'est correctement terminée.
• 1 -- Dans ce cas mkvpropedit(1) a émis au moins un avertissement, mais la modification a continué. Un avertissement est préfixé avec le texte 'Avertissement :'. Selon le problème, les fichiers résultants pourront être OK ou pas. L'utilisateur est vivement conseillé de vérifier et l'avertissement et les fichiers résultants.
• 2 -- Ce code de fermeture est utilisé lorsqu'une erreur survient. mkvpropedit(1) abandonne juste après le message d'erreur. Les messages d'erreurs vont des arguments erronés en ligne de commande aux fichiers corrompus en passant par les erreurs en lecture/écriture.
VARIABLES DENVIRONMENT
mkvmerge(1) utilise les variables par défaut qui déterminent la « locale » du système (par ex. LANG et la famille LC_*). Variables additionnelles :
MKVEXTRACT_DEBUG, MKVTOOLNIX_DEBUG et sa forme courte MTX_DEBUG
Le contenu est traité comme s'il a été passé via l'option --debug.
MKVEXTRACT_ENGAGE, MKVTOOLNIX_ENGAGE et sa forme courte MTX_ENGAGE
Le contenu est traité comme s'il a été passé via l'option--engage.
VOIR AUSSI
mkvmerge(1), mkvinfo(1), mkvpropedit(1), mkvtoolnix-gui(1)
WWW
La dernière version peut toujours être trouvée à la page d'accueil de MKVToolNix [1] .
AUTEUR
Moritz Bunkus <moritz [AT] bunkus.org>
Développeur
NOTES
1. |
la page d’accueil de MKVToolNix |