Scroll to navigation

MKVEXTRACT(1) Commandes utilisateur MKVEXTRACT(1)

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 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 s'appliquant à 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 99% 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 emphase 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@bunkus.org>

Développeur

NOTES

1.
la page d'accueil de MKVToolNix
2022-08-14 MKVToolNix 70.0.0