MKVEXTRACT(1) Commandes utilisateur MKVEXTRACT(1) NOM mkvextract - extrait les pistes d'un fichier Matroska(TM) vers d'autres fichiers RESUME mkvextract {source-filename} {mode1} [options] [extraction-spec1] [mode2] [options] [extraction-spec2] [...] DESCRIPTION Ce logiciel extrait des parties specifiques d'un fichier Matroska(TM) vers d'autres formats utiles. Le premier argument est le nom du fichier source qui doit etre un fichier Matroska(TM). Tous les autres arguments soit basculent vers un mode d'extraction particulier, soit modifient des options pour le mode en cours, soit specifient quoi extraire vers quel fichier. Plusieurs modes peuvent etre utilises en meme temps en invoquant mkvextract, ce qui permet d'extraire plusieurs choses en une seule passe. La plupart des options peuvent seulement etre utilisees dans certains modes, avec quelques options qui s'appliquent a tous les modes. Est actuellement prise en charge l'extraction des pistes, balises, pieces 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 decrites une seule fois dans cette section. -f, --parse-fully Definit le mode d'analyse a << complet >>. Le mode par defaut n'analyse pas entierement le fichier nais utilise les meta-elements de recherche pour localiser les elements requis d'un fichier source. Dans la grand majorite des cas, cela est suffisant. Mais pour les fichiers qui ne contiennent pas ces meta-elements ou qui sont endommages, l'utilisateur pourrait utiliser ce mode. L'analyse complete d'un fichier peut prendre plusieurs minutes tandis qu'une analyse rapide ne prend que quelques secondes. --command-line-charset character-set Definit le jeu de caracteres utilise pour la conversion des chaines fournies en ligne de commande. Par defaut, celui-ci correspond a celui donne par la << locale >> du systeme. --output-charset character-set Definit le jeu de caracteres dans lequel les chaines en sortie sont converties. Par defaut, celui-ci correspond a celui donne par la << locale >> du systeme. -r, --redirect-output file-name Ecrit tous les messages dans le fichier file-name plutot que vers la console. Alors que cela peut etre facilement fait avec la redirection de la sortie, il y a des cas pour lesquels cette option est necessaire : quand le terminal reinterprete la sortie avant de l'ecrire dans un fichier. Le jeu de caracteres defini avec --output-charset est honore. --flush-on-close Indique au programme d'envoyer toutes les donnees cachees en memoire vers le support de stockage lors de la fermeture de fichiers ouverts en ecriture. Ceci peut etre utilise pour eviter la perte de donnees lors de coupures de courant ou pour contourner certains problemes du systeme d'exploitation ou de pilotes. L'inconvenient est que le multiplexage sera plus long du fait que mkvmerge devra attendre que toutes les donnees soient ecrites sur le support de stockage avant de quitter. Voir les problemes #2469 et #2480 sur le suivi des bogues de MKVToolNix pour des discussions approfondies sur les avantages et inconvenients. --ui-language code Force les traductions pour la langue code a utiliser (par ex. 'fr_FR' pour les traductions francaises). Saisir 'list' comme code obligera le logiciel a generer la liste des traductions disponibles. --abort-on-warnings Demande au programme d'abandonner apres le premier avertissement. Le code de fermeture sera egal a 1. --debug topic Activer le debogage pour une fonctionnalite specifique. Cette option est utile uniquement pour les developpeurs. --engage feature Active les fonctionnalites experimentales. Une liste des fonctions disponibles peut etre demandee avec mkvextract --engage list. Ces fonctionnalites ne devraient pas etre utilisees en situations normales. --gui-mode Active l'interface graphique utilisateur. Dans ce mode, des lignes specialement formatees peuvent etre generees et informer une GUI de la situation. Ces messages suivent le format '#GUI#message'. Le message peut etre suivi d'une paire cle/valeur comme '#GUI#message#key1=value1#key2=value2...'. Ni les messages ni les cles ne sont traduits, et sont toujours generes en anglais. -v, --verbose Mode verbeux qui affiche tous les elements Matroska(TM) importants a 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 supplementaires en ligne de commande depuis le fichier options-file. Pour une explication complete sur les formats pris en charge pour de tels fichiers, voir la section nommee << 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 apparaitre avant les specifications de piste (voir ci-dessous) auxquelles elles devraient s'appliquer. -c character-set Definit le jeu caractere 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 defaut UTF-8. --blockadd niveau Conserve seulement les BlockAdditions jusqu'a ce niveau. Par defaut, tous les niveaux. Cette option affecte seulement certains types de codecs comme WAVPACK4. --cuesheet Oblige mkvextract(1) a extraire une feuille de montage CUE a partir des donnees de balises et des informations de chapitres pour la piste suivante dans le fichier dont le nom est le nom de piste cible termine par << .cue >>. --raw Extrait les donnees brutes dans un fichier sans conteneur de donnees. A la difference de l'indicateur --fullraw, cet indicateur n'oblige pas les contenus de l'element CodecPrivate a etre ecrits vers le fichier. Ce mode fonctionne avec tous les CodecIDs, meme ceux que mkvextract(1) ne prend pas en charge, mais les fichiers resultants pourraient ne pas etre utilisables. --fullraw Extrait les donnees brutes dans un fichier sans conteneur de donnees. Les contenus de l'element CodecPrivate seront ecrits vers le fichier en premier si la piste contient un tel element d'entete. Ce mode fonctionne avec tous les CodecIDs, meme ceux que mkvextract(1) ne prend pas en charge, mais les fichiers resultants pourraient ne pas etre 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 etre donnee plusieurs fois. Les ID de pistes sont les memes que celles donnees par l'option --identify de mkvmerge(1). Chaque nom cible devrait n'etre utilise qu'une seule fois, a l'exception des pistes RealAudio et RealVideo. Si le meme nom est utilise pour differentes pistes, alors ces pistes seront enregistrees dans le meme 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 pieces jointes Syntaxe : mkvextract source-filename attachments [options] AID1:outname1 [AID2:outname2 ...] AID:outname Oblige l'extraction de la piece jointe avec l'ID AID dans le fichier outname si une telle piece jointe existe dans le fichier source. Si outname est laisse vide, alors le nom de la piece jointe du fichier source Matroska(TM) est utilise. Cette option peut etre donnee plusieurs fois. Les ID de pistes sont les memes que celles donnees 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 utilise dans l'outil OGM (CHAPTER01=..., CHAPTER01NAME=...). Dans ce mode quelques information doivent etre mises de cote. Par defaut, les chapitres sont generes en format XML. --simple-language langue Si le format simple est active, alors mkvextract(1) sortira seulement une entree unique pour chaque atome de chapitre rencontre meme si un atome de chapitre contient plus d'un nom de chapitre. Par defaut mkvextract(1) utilisera le premier nom de chapitre trouve pour chaque atome quelque soit sa langue. Utiliser cette option permet a l'utilisateur de determiner quels noms de chapitres sont sortis si les atomes contiennent plus d'un nom de chapitre. Le parametre language doit etre un code ISO 639-1 ou ISO 639-2. Les chapitres sont ecrits vers le fichier specifie. Par defaut le format XML compris par mkvmerge(1) est utilise. Si aucun chapitre n'est trouve dans le fichier, le fichier source n'est pas cree. Mode d'extraction des balises Syntaxe : mkvextract source-filename tags [options] output-filename.xml Les balises sont ecrites vers le fichier specifie dans le format XML compris par mkvmerge(1). Si aucune balise n'est trouvee dans le fichier, le fichier source n'est pas cree. Mode d'extraction de feuille de montage CUE Syntaxe : mkvextract source-filename cuesheet [options] output-filename.cue La feuille de montage est ecrite vers le fichier specifie. Si aucun chapitre ou balise n'est trouve dans le fichier, le fichier source n'est pas cree. 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 etre donnee plusieurs fois. Les ID de pistes sont les memes que celles donnees 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 donnees 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 etre donnee plusieurs fois. Les ID de pistes sont les memes que celles donnees par l'option --identify de mkvmerge(1) et ne sont pas les numeros contenus dans l'element CueTrack. Le format de sortie est un simple format texte : une ligne par element CuePoint avec des pairs key=value. Si un element optionnel n'est pas present 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 cles possibles sont : horodatage L'horodatage du point de montage en precision nanoseconde. Le format est HH:MM:SS.nnnnnnnnn. Cet element est toujours defini. duree La duree du point de montage en precision nanoseconde. Le format est HH:MM:SS.nnnnnnnnn. cluster_position La position absolue en octets dans le fichier Matroska(TM) ou la grappe contenant l'element reference commence. Note Dans un fichier Matroska(TM) CueClusterPosition est relatif au decalage du debut des donnees de l'element. Toutefois, la valeur fournie par le mode d'extraction de donnees de montage de mkvextract(1) contient deja ce decalage et est un decalage absolu depuis le debut du fichier. relative_position La position relative en octets dans la grappe ou l'element BlockGroup ou SimpleBlock auquel le point de montage se refere commence. Note Dans un fichier Matroska(TM) 1CueRelativePosition1 est relatif au decalage du debut des donnees de la grappe. Toutefois, la valeur fournie par le mode d'extraction de donnees de montage de mkvextract(1) est relative a l'ID de la grappe. La position absolue dans le fichier peut etre calculee 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 meme temps : $ mkvextract movie.mkv chapters movie-chapters.xml tags movie-tags.xml Extraction de quelques piste et leurs horodatages respectifs en meme temps : $ mkvextract "Un autre film.mkv" tracks 0:video.h265 "1:piste audio principale.aac" "2:commentaires du realisateur.aac" timestamps_v2 "0:horodatages video.txt" "1:horodatages piste audio principale.txt" "2:horodatages des commentaires du realisateur.txt" Extraction de chapitres dans le format Ogg/OGM et reencodage d'unepiste de sous-titre texte dans un autre jeu de caractere : $ 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 CARACTERES Pour une discussion approfondie sur la gestion des conversions de jeux de caracteres 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 nommees pareillement des pages man de mkvmerge(1). FORMATS DE FICHIER CIBLE La decision sur le format de sortie est basee sur le type de piste et non sur l'extension utilisee 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 ecrits dans un fichier AAC avec des entetes ADTS avant chaque paquet. Les entetes ADTS ne contiendront pas le champ emphase obsolete. A_AC3, A_EAC3 Celles-ci seront extraites en fichiers bruts AC-3. A_ALAC Les pistes ALAC sont ecrites en fichiers CAF. A_DTS Celles-ci seront extraites en fichiers bruts DTS. A_FLAC Les pistes FLAC sont ecrits 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(TM) sont ecrites en fichiers OggOpus(TM). A_PCM/INT/LIT, A_PCM/INT/BIG Les donnees brutes PCM seront ecrites en fichier WAV. Le donnees Big-endian entier seront converties en donnees little-endian ce faisant. A_REAL/* Les pistes RealAudio(TM) sont ecrites en fichiers RealMedia(TM). A_TRUEHD, A_MLP Celles-ci seront extraites en fichiers bruts TrueHD/MLP. A_TTA1 Les pistes TrueAudio(TM) sont ecrites en fichiers TTA. Merci de noter que du fait de la precision limitee de l'horodatage Matroska(TM), l'entete extraite du fichier sera differente pour ces deux champs : data_length (le nombre total d'echantillons du fichier) et CRC. A_VORBIS Vorbis audio va etre ecrit dans un fichier OggVorbis(TM) . A_WAVPACK4 Les pistes WavPack(TM) sont ecrites en fichiers WV. S_HDMV/PGS Les sous-titres PGS seront ecrits en fichiers SUP. S_HDMV/TEXTST Les sous-titres TextST seront ecrits en format de fichier special invente pour mkvmerge(1) et mkvextract(1). S_KATE Les flux Kate(TM) seront ecrits en conteneur Ogg(TM). S_TEXT/SSA, S_TEXT/ASS, S_SSA, S_ASS Les sous-titres texte SSA et ASS seront respectivement ecrits comme fichiers SSA/ASS. S_TEXT/UTF8, S_TEXT/ASCII Les sous-titres texte simple seront ecrits comme fichiers SRT. S_VOBSUB Les sous-titres texte VobSub(TM) seront ecrits comme fichiers SUB avec les fichiers d'index respectifs, comme fichiers IDX. S_TEXT/USF Les sous-titres texte USF seront ecrits comme fichiers USF. S_TEXT/WEBVTT Les sous-titres texte WebVTT seront ecrits comme fichiers WebVTT. V_MPEG1, V_MPEG2 Les pistes video MPEG-1 and MPEG-2 seront ecrites comme flux elementaires MPEG. V_MPEG4/ISO/AVC Les pistes videoH.264 / AVC sont ecrites comme flux elementaires H.264 qui peuvent etre post-traites avec par ex. MP4Box(TM) du paquet GPAC(TM). V_MPEG4/ISO/HEVC Les pistes videoH.265 / HEVC sont ecrites comme flux elementaires H.265 qui peuvent etre post-traites avec par ex. MP4Box(TM) du paquet GPAC(TM). V_MS/VFW/FOURCC Les pistes video a FPS constant avec ce CodecID sont ecrites en fichiers AVI. V_REAL/* Les pistes RealVideo(TM) sont ecrites en fichiers RealMedia(TM). V_THEORA Les flux Theora(TM) seront ecrites en conteneur Ogg(TM) V_VP8, V_VP9 VP8 / VP9 pistes sont ecrites pour IVF fichiers. Balises Les balises sont converties en format XML. Ce format est le meme que mkvmerge(1) gere en lecture. Pieces jointes Les pieces jointes sont ecrites dans le fichier de sortie telles quelles. Aucune conversion n'est effectuee. Chapitres Les chapitres sont convertis en format XML. Ce format est le meme que mkvmerge(1) gere pour lire les chapitres. Autrement une version depouillee peut etre produite dans le format simple OGM. Horodatages Les codes temporels sont d'abord tries puis produits en fichier conforme avec le format de code temporel v2 pret a etre envoye a 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 : o 0 -- Ce code de sortie signifie que l'extraction s'est correctement terminee. o 1 -- Dans ce cas mkvpropedit(1) a emis au moins un avertissement, mais la modification a continue. Un avertissement est prefixe avec le texte 'Avertissement :'. Selon le probleme, les fichiers resultants pourront etre OK ou pas. L'utilisateur est vivement conseille de verifier et l'avertissement et les fichiers resultants. o 2 -- Ce code de fermeture est utilise lorsqu'une erreur survient. mkvpropedit(1) abandonne juste apres le message d'erreur. Les messages d'erreurs vont des arguments errones en ligne de commande aux fichiers corrompus en passant par les erreurs en lecture/ecriture. VARIABLES DENVIRONMENT mkvmerge(1) utilise les variables par defaut qui determinent la << locale >> du systeme (par ex. LANG et la famille LC_*). Variables additionnelles : MKVEXTRACT_DEBUG, MKVTOOLNIX_DEBUG et sa forme courte MTX_DEBUG Le contenu est traite comme s'il a ete passe via l'option --debug. MKVEXTRACT_ENGAGE, MKVTOOLNIX_ENGAGE et sa forme courte MTX_ENGAGE Le contenu est traite comme s'il a ete passe via l'option--engage. VOIR AUSSI mkvmerge(1), mkvinfo(1), mkvpropedit(1), mkvtoolnix-gui(1) WWW La derniere version peut toujours etre trouvee a la page d'accueil de MKVToolNix[1]. AUTEUR Moritz Bunkus Developpeur NOTES 1. la page d'accueil de MKVToolNix https://mkvtoolnix.download/ MKVToolNix 83.0 2024-03-10 MKVEXTRACT(1)