Provided by: mkvtoolnix_86.0-1_amd64 

NOM
mkvpropedit - Modifier les propriétés des fichiers Matroska existants sans un remultiplexage complet
RÉSUMÉ
mkvpropedit [options] {source-filename} {actions}
DESCRIPTION
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
Liste tous les noms de propriété connus et éditables, leur type (chaîne, entier, booléen, etc.) et
une courte description. Après quoi le logiciel quitte. Par conséquent, le paramètre source-filename
n'a pas à être fourni.
-p, --parse-mode mode
Définit le mode d'analyse. Le paramètre 'mode' peut soit être 'fast' (aussi par défaut) ou 'full'. Le
mode 'fast' n'analyse pas le fichier entier mais utilise les éléments de positionnement méta pour
situer les éléments nécessaires d'un fichier source. Dans 99% des cas, cela est suffisant. Mais pour
les fichiers qui ne contiennent pas d'éléments de positionnement méta ou qui sont endommagés,
l'utilisateur devrait définir le mode d'analyse 'full'. L'analyse complète d'un fichier peut prendre
plusieurs minutes alors qu'une analyse rapide ne prend que quelques secondes.
Actions relatives aux pistes et propriétés d'informations de segment :
-e, --edit selecteur
Définit la section de fichier Matroska (informations de segment ou certaines entêtes de piste) sur
lesquelles opèrent toutes les actions add, set et delete. Celle option peut être utilisée de
multiples fois afin de modifier plus d'un élément.
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
Ajoute une propriété name avec la valeur value. La propriété sera ajoutée même si une telle propriété
existe déjà. Note : la plupart des propriétés sont uniques et ne peuvent survenir plus d'une fois.
-s, --set name=value
Définit toutes les occurrences de la proprété name à la valeur value. Si une telle propriété n'existe
pas, alors elle sera ajoutée.
-d, --delete name
Supprime toutes les occurrences de lapropriété name. Note : quelques propriétés sont requises et ne
peuvent être supprimées.
Actions relatives aux balises et chapitres :
-t, --tags selector:filename
Ajoute ou remplace des balises dans le fichier avec ceux de filename ou les retire si filename est
vide. mkvpropedit(1) lit les mêmes formats de balises XML que mkvmerge(1).
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
Calcule les statistiques pour toutes les pistes dans un fichier et ajoute des balises de statistiques
pour elles. Si le fichier contient déjà de telles balises, alors elles seront mises à jour.
--delete-track-statistics-tags
Supprime toutes les balises de statistiques de pistes du fichier. Si le fichier n'en contient pas,
alors il ne sera pas modifié.
-c, --chapters filename
Ajoute ou remplace des chapitres dans le fichier avec ceux de filename ou les retire si filename est
vide. mkvpropedit(1) lit les mêmes formats de chapitres XML et simples que mkvmerge(1).
Actions sur les pièces jointes :
--add-attachment filename
Ajoute une nouvelle pièce jointe depuis 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
Remplace une ou plusieurs pièces jointes qui correspondent au selector avec le fichier filename. S'il
existe plus d'une correspondance avec selector, alors tous leurs contenus seront remplacés par le
contenu de 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
Définit les propriétés d'une pièce jointe ou plus qui correspond à selector. Si plus d'une pièce
jointe existante correspond à selector alors toutes leurs propriétés seront mises à jour.
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
Supprime une pièce jointe ou plus qui correspond à 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
Définit le nom à utiliser pour l'opération suivante --add-attachment ou --replace-attachment.
--attachment-mime-type mime-type
Définit le type MIME à utiliser pour l'opération suivante --add-attachment ou --replace-attachment.
--attachment-description description
Définit la description à utiliser pour l'opération suivante --add-attachment ou --replace-attachment.
--enable-legacy-font-mime-types
Active l'utilisation des anciens types MIME pour certains types de pièces jointes de polices de
caractères. Par ex., « application/x-truetype-font » sera utilisé pour les polices TrueType au lieu
de « fonts/ttf ».
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
Normalement quand l'utilisateur demande des modifications à la propriété d'entête de piste
« language », mkvpropedit(1) applique les mêmes modifications au nouvel élément d'entête de piste
LanguageIETF en plus de l'élément traditionnel Language. Si cette option est utilisée, la
modification s'applique seulement à l'élément traditionnel Language.
Cette option n'affecte pas les modifications demandées via la propriété d'entête de piste
« language-ietf ».
--normalize-language-ietf mode
Active la normalisation de toutes les balises de langue IETF BCP 47 soit en leur forme canonique avec
le mode 'canonique', soit en leur forme de sous-balises de langue étendue avec le mode 'extlang' soit
en le désactivant avec le mode 'off'. Par défaut la normalisation en forme canonique est appliquée.
Dans la forme canonique, toutes les sous-balises 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-balises de langue étendue, la forme canonique est d'abord construite. Ensuite
toutes les langues primaires pour lesquelles des balises de langue étendue existent sont remplacées
par cette sous-balises 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-balise de langue
étendue.
Cette normalisation est seulement appliquée aux éléments réellement modifiés :
• En édition des entêtes de pistes, seuls les éléments de langues de pistes définis par d'édition
des spécifications sont affectés. Les langues de pistes qui ne sont pas éditées ne sont pas
modifiées. Éditer une piste en définissant seulement des propriétés autres que la langue
n'affectera pas cette langue non plus.
• En édition de chapitres, tous les éléments de langues de tous les éléments de chapitres sont
affectés parce que tous les chapitres existants sont toujours entièrement remplacés.
• En édition de balises, seuls les éléments de langues des balises réellement remplacés sont
affectés. Par exemple, en remplaçant les balises globales les balises de pistes existantes ne
sont pas affectées.
La meilleure solution pour normaliser toutes les balises existantes d'un fichier est de le
remultiplexer avec mkvmerge(1) en définissant son option « --normalize-language-ietf » selon le mode
souhaité.
--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 vers le fichier file-name plutôt que vers la console. Bien que ceci puisse
être réalisé facilement en redirection de sortie, il y a des cas dans lesquels cette option est
requise : quand le terminal réinterprète la sortie avant de l'écrire vers un fichier. Le jeu de
caractères défini avec --output-charset est honoré.
--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 fonctionnalités disponibles peut être
demandées avec mkvpropedit --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).
SÉLECTEURS DÉDITION
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.
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.
Entêtes de piste
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
Si le paramètre n est un chiffre, alors la nième piste sera sélectionnée. L'ordre des pistes est le
même que l'option --identify de mkvmerge(1).
La numérotation démarre à 1.
track:tn
Si le paramètre débute avec un unique caractère t suivi par un n alors la nième piste d'un type de
piste spécifique sera sélectionnée. Le paramètre de type de piste t doit être un de ces quatre
caractères : 'a' pour une piste audio, 'b' pour une piste bouton, 's' pour une piste de sous-titre et
'v' pour une piste vidéo. L'ordre des pistes est le même que celui de l'option --identify de
mkvmerge(1).
La numérotation démarre à 1.
track:=uid
Si le paramètre débute avec un signe « = » suivi par un chiffre uid, la piste dont l'élément UID est
égal à l'uid donné sera sélectionnée. Les UIDs de pistes peuvent être obtenus avec mkvinfo(1).
track:@number
Si le paramètre débute avec un signe « @ » suivi par un chiffre chiffre, la piste dont le numéro est
égal à ce chiffre sera sélectionnée. Les numéros de pistes peuvent être obtenus avec mkvinfo(1).
Notes
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.
SÉLECTEURS DE PIÈCE JOINTE
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 :
1. Sélection par l'ID de pièce jointe. Dans cette forme, le sélecteur est simplement un chiffre, l'ID de
pièce jointe tel que donné par la commande d'identification de mkvmerge(1).
2. Sélection par l'UID (ID unique) de pièce jointe. Dans cette forme, le sélecteur est le signe égal =
suivi par un chiffre, l'UID de pièce jointe tel que donné par la commande d'identification verbeuse
de mkvmerge(1).
3. Sélection par le nom de pièce jointe. Dans cette forme, le sélecteur est le mot littéral name: suivi
par le nom de la pièce jointe existante. Si ce sélecteur est utilisé avec --replace-attachment alors
les deux-points dans le nom à correspondre devront être échappées avec \c.
4. Sélection par le type MIME. Dans cette forme, le sélecteur est le mot littéral mime-type: suivi par
le type MIME de la pièce jointe existante. Si ce sélecteur est utilisé avec --replace-attachment
alors les deux-points dans le type MIME à correspondre devront être échappées avec \c.
GESTION DES LANGUES
Globalement, mkvpropedit(1) essaie de faire les choses correctement par défaut : lors de modifications de
la propriété de langue, mkvpropedit(1) applique les mêmes modifications à l'élément « LanguageIETF » qu'à
l'ancien élément « Language », de la même façon que mkvmerge(1) applique la langue à ces deux éléments.
Par exemple, avec mkvpropedit movie.mkv --edit track:2 --set language=zh-TW l'élément « LanguageIETF »
sera défini en zh-TW et l'ancien élément « Language » en chi.
De plus il existe une nouvelle propriété d'entête de piste nommée language-ietf qui peut être définie ou
retirée. Les modifications de cette propriété s'appliquent seulement au nouvel élément d'entête de piste
« LanguageIETF ». Il faut noter ici que l'ancien élément d'entête de piste « Language » est un élément
requis pour Matroska — ce qui signifie que même absent du fichier, il a une valeur implicite. Quand
l'utilisateur définit seulement la propriété language-ietf mais pas la propriété language, mkvpropedit(1)
ajoute l'ancien élément « Language » dans certains cas, et la définit à und (« undetermined »,
c'est-à-dire indéterminé) si l'utilisateur n'en a pas spécifié une valeur.
Lors de la lecture de fichiers XML de balises ou de chapitres, mkvpropedit(1) fonctionne comme
mkvmerge(1).
La création des nouveaux éléments peut être complètement désactivée avec l'option en ligne de commande
« --disable-language-ietf ». Elle prend effet sur les trois nouveaux éléments.
Il est possible de choisir la méthode de normalisation appliquée aux sous-balises de langue étendue avec
le paramètre --normalize-language-ietf.
EXEMPLES
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
CODES DE FERMETURE
mkvpropedit(1) ferme avec l'un de ces 3 codes de fermeture :
• 0 -- Ce code de sortie signifie que la modification 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.
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).
VARIABLES DENVIRONMENT
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
Le contenu est traité comme s'il a été passé par l'option --debug.
MKVPROPEDIT_ENGAGE, MKVTOOLNIX_ENGAGE and its short form MTX_ENGAGE
Le contenu est traité comme s'il a été passé par l'option --engage.
VOIR AUSSI
mkvmerge(1), mkvinfo(1), mkvextract(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/
MKVToolNix 86.0 2024-07-13 MKVPROPEDIT(1)