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).
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
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).
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éé.
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éé.
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éé.
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
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).
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
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.
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