MKVPROPEDIT(1) | Commandes utilisateur | MKVPROPEDIT(1) |
mkvpropedit - Modifier les propriétés des fichiers Matroska existants sans un remixage complet
mkvpropedit [options] {source-filename} {actions}
Ce logiciel analyse un fichier Matroska existant et modifie quelques unes de ses propriétés. Ensuite, il écrit ces modifications dans le fichier existant. Parmi les propriétés qui peuvent être modifiées figurent les éléments d'informations de segment (par ex. le titre) et les entêtes de piste (par ex. le code langue, l'indicateur « Piste par défaut » ou le nom).
Options :
-l, --list-property-names
-p, --parse-mode mode
Actions relatives aux pistes et propriétés d'informations de segment :
-e, --edit selecteur
Par défaut mkvpropedit(1) éditera la section d'informations de segment.
Voir la section sélecteurs d'édition pour une description complète de la syntaxe.
-a, --add name=value
-s, --set name=value
-d, --delete name
Actions relatives aux balises et chapitres :
-t, --tags selector:filename
Le sélecteur doit être l'un de ces mots all, global ou track. pour all mkvpropedit(1) remplacera ou retirera toutes les balises d'un fichier. Avec global seules les balises globales seront remplacées ou retirées.
Avec track mkvpropedit(1) remplacera les balises pour une piste spécifique. De plus les balises lues depuis filename seront assignées à la même piste. La piste est spécifiée comme les sélecteurs d'édition sont spécifiés (voir ci-dessous), par ex. --tags track:a1:new-audio-tags.xml.
--add-track-statistics-tags
--delete-track-statistics-tags
-c, --chapters filename
Actions sur les pièces jointes :
--add-attachment filename
Si l'option --attachment-name a été utilisée avant cette option, alors sa valeur est utilisée comme nouveau nom de pièce jointe. Sinon il est dérivé de filename.
Si l'option --attachment-mime-type a été utilisée avant cette option, alors sa valeur est utilisée comme nouveau type MIME de pièce jointe. Sinon il est auto-détecté depuis le contenu de filename.
Si l'option --attachment-description a été utilisée avant cette option, alors sa valeur est utilisée comme nouvelle description de pièce jointe. Sinon aucune description ne sera définie.
Si l'option --attachment-uid a été utilisée avant cette option, alors sa valeur est utilisée comme nouvel UID de pièce jointe. Sinon un UID aléatoire sera généré automatiquement.
--replace-attachment selector:filename
Le sélecteur peut avoir une de 4 formes possibles qui sont expliquées ci-dessous dans la section sélecteurs de pièce jointe.
Si l'option --attachment-name a été utilisée avant cette option, alors sa valeur est définie comme nouveau nom pour chaque pièce jointe modifiée. Sinon les noms ne sont pas modifiés.
Si l'option --attachment-mime-type a été utilisée avant cette option, alors sa valeur est définie comme nouveau type MIME pour chaque pièce jointe modifiée. Sinon les types MIME ne sont pas modifiés.
Si l'option --attachment-description a été utilisée avant cette option, alors sa valeur est définie comme nouvelle description pour chaque pièce jointe modifiée. Sinon les descriptions ne sont pas modifiées.
Si l'option --attachment-uid a été utilisée avant cette option, alors sa valeur est définie comme nouvel UID pour chaque pièce jointe modifiée. Sinon les UID ne sont pas modifiés.
--update-attachment selector
Le sélecteur peut avoir une de 4 formes possibles qui sont expliquées ci-dessous dans la section sélecteurs de pièce jointe.
Si l'option --attachment-name a été utilisée avant cette option, alors sa valeur est définie comme nouveau nom pour chaque pièce jointe modifiée. Sinon les noms ne sont pas modifiés.
Si l'option --attachment-mime-type a été utilisée avant cette option, alors sa valeur est définie comme nouveau type MIME pour chaque pièce jointe modifiée. Sinon les types MIME ne sont pas modifiés.
Si l'option --attachment-description a été utilisée avant cette option, alors sa valeur est définie comme nouvelle description pour chaque pièce jointe modifiée. Sinon les descriptions ne sont pas modifiées.
Si l'option --attachment-uid a été utilisée avant cette option, alors sa valeur est définie comme nouvel UID pour chaque pièce jointe modifiée. Sinon les UID ne sont pas modifiés.
--delete-attachment selector
Le sélecteur peut avoir une de 4 formes possibles qui sont expliquées ci-dessous dans la section sélecteurs de pièce jointe.
Options pour les actions sur les pièces jointes :
--attachment-name name
--attachment-mime-type mime-type
--attachment-description description
--enable-legacy-font-mime-types
Ceci affecte l'ajout de nouvelles pièces jointes et le remplacement de celles existantes, mais seulement si le nouveau type MIME n'est pas spécifié. Les autres pièces jointes ne sont pas modifiées.
Les types MIME affectés sont « font/sfnt », « font/ttf » et « font/collection ». Ils sont tous remplacés par « application/x-truetype-fonts ». « font/otf » est remplacé par « application/vnd.ms-opentype ».
Autres options :
--disable-language-ietf
Cette option n'affecte pas les modifications demandées via la propriété d'entête de piste « language-ietf ».
--normalize-language-ietf mode
Dans la forme canonique, toutes les sous-étiquettes avec des valeurs préférées existantes sont remplacées par ces dernières. Ceci convertit par ex. 'zh-yue-jyutping' en 'yue-jyutping' ou 'fr-FX' en 'fr-FR'.
Pour la forme des sous-étiquettes de langue étendue, la forme canonique est d'abord construite. Ensuite toutes les langues primaires pour lesquelles des étiquettes de langue étendue existent sont remplacées par cette sous-étiquettes de langue étendue et son préfixe. Ceci reconvertit par ex. 'yue-jyutping' en 'zh-yue-jyutping' mais n'a pas d'effet sur 'fr-FR' car 'fr' n'est pas une sous-étiquette de langue étendue.
Cette normalisation est seulement appliquée aux éléments réellement modifiés :
La meilleure solution pour normaliser toutes les étiquettes existantes d'un fichier est de le remixer avec mkvmerge(1) en définissant son option « --normalize-language-ietf » selon le mode souhaité.
--command-line-charset character-set
--output-charset character-set
-r, --redirect-output file-name
--ui-language code
--abort-on-warnings
--debug topic
--engage feature
--gui-mode
-v, --verbose
-h, --help
-V, --version
@options-file.json
L'option --edit définit la section de fichier Matroska (informations de segment ou certaines entêtes de pistes) sur lesquelles opèrent toutes les actions add, set et delete. Ceci reste valide jusqu'à temps que l'option suivante --edit soit trouvée. L'argument de cette option est appelé le sélecteur d'édition.
Par défaut mkvpropedit(1) éditera la section d'informations de segment.
L' information de segment peut être sélectionnée avec de ces trois mots : 'info', 'segment_info' ou 'segmentinfo'. Il contient des propriétés comme le titre de segment ou l'UID de segment.
Les entêtes de pistes peuvent être sélectionnées avec un sélecteur un peu plus complexe. Toutes les variations débutent avec 'track:'. Les propriétés d'entête de piste comprennent des éléments comme le code langue, l'indicateur « Piste par défaut » ou le nom de piste.
track:n
La numérotation démarre à 1.
track:tn
La numérotation démarre à 1.
track:=uid
track:@number
Du fait de la nature des sélecteurs d'édition de piste, il est possible que plusieurs sélecteurs correspondent réellement aux mêmes entêtes de piste. Dans ces cas-là, toutes les actions pour ces sélecteurs d'édition seront combinées et exécutées dans l'ordre dans lequel ils sont fournis en ligne de commande.
Un sélecteur de pièce jointe est utilisé avec ces deux actions --replace-attachment et --delete-attachment. Il peut avoir une des quatre formes suivantes :
L'exemple suivant édite un fichier nommé 'movie.mkv'. Il définit le titre du segment et modifie le code de langue d'une piste audio et d'une piste de sous-titres. Noter que cet exemple peut être simplifié en omettant la 1ère option --edit parce que l'édition de l'élément d'information du segment est dans tous les cas l'action par défaut pour toutes les options trouvées avant la 1ère option --edit.
$ mkvpropedit movie.mkv --edit info --set "title=The movie" --edit track:a1 --set language=fre --edit track:a2 --set language=ita
Le deuxième exemple retire l'indicateur « Piste par défaut » de la 1ère piste de sous-titres et le définit pour la 2nde. Noter que mkvpropedit(1), à la différence de mkvmerge(1), ne définit pas l'indicateur « Piste par défaut » des autres pistes à « 0 » s'il est définit automatiquement à « 1 » pour une autres piste.
$ mkvpropedit movie.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1
Remplacer les balises pour la 2nde piste de sous-titres dans un fichier ressemble à ceci :
$ mkvpropedit movie.mkv --tags track:s2:new-subtitle-tags.xml
Supprimer toutes les balises nécessite d'omettre le nom de fichier :
$ mkvpropedit movie.mkv --tags all:
Remplacer les chapitres dans un fichier ressemble à ceci :
$ mkvpropedit movie.mkv --chapters new-chapters.xml
Suppression de tous les chapitres nécessite d'omettre le nom de fichier :
$ mkvpropedit movie.mkv --chapters ''
Ajout d'un fichier de police (Arial.ttf) en pièce jointe :
$ mkvpropedit movie.mkv --add-attachment Arial.ttf
Ajout d'un fichier de police (89719823.ttf) en pièce jointe et de quelques informations comme quoi ce n'est juste qu'Arial :
$ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'La police Arial comme police TrueType' --attachment-mime-type application/x-truetype-font --add-attachment 89719823.ttf
Remplacement d'un fichier de police (Comic.ttf) en pièce jointe avec un autre (Arial.ttf) :
$ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'La police Arial comme police TrueType' --replace-attachment name:Comic.ttf:Arial.ttf
Suppression du second fichier en pièce jointe, quel qu'il soit :
$ mkvpropedit movie.mkv --delete-attachment 2
Suppression de toutes les polices en pièces jointes de type MIME :
$ mkvpropedit movie.mkv --delete-attachment mime-type:application/x-truetype-font
mkvpropedit(1) ferme avec l'un de ces 3 codes de fermeture :
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).
mkvpropedit(1) utilise les variables par défaut qui déterminent la « locale » du système (par ex. LANG et la famille LC_*). Variables additionnelles :
MKVPROPEDIT_DEBUG, MKVTOOLNIX_DEBUG and its short form MTX_DEBUG
MKVPROPEDIT_ENGAGE, MKVTOOLNIX_ENGAGE and its short form MTX_ENGAGE
La dernière version peut toujours être trouvée à la page d'accueil de MKVToolNix[1].
Moritz Bunkus <moritz@bunkus.org>
2023-02-12 | MKVToolNix 74.0.0 |