Provided by: mkvtoolnix_45.0.0-2_amd64
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 » 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 du drapeau --fullraw, ce drapeau 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 https://mkvtoolnix.download/