Repository navigation
Profils cli json
Les profils décisionnels peuvent être validés, prévisualisés et appliqués sans ouvrir l'interface graphique.
Depuis les sources :
python3 main.py --cli --help
python3 main.py --cli inspect source.mkvDans un build packagé :
muxiveo --cli --help
muxiveo --cli inspect source.mkvmain.py --cli route directement vers le mode headless avant toute
initialisation Qt.
muxiveo --cli validate --profile profil.json
muxiveo --cli preview --profile profil.json -i source.mkv --json
muxiveo --cli run --profile profil.json -i source.mkv -o sortie.mkvEn batch dossier :
muxiveo --cli batch \
--profile profil.json \
--input-dir "Serie" \
--recursive \
--output-dir "out" \
--auto-tmdb \
--dry-run--profile accepte un chemin complet ou le nom d'un profil enregistré dans :
<dossier de config Muxiveo>/profiles/decision/
L'extension .json est optionnelle.
{
"version": 1,
"kind": "decision-profile",
"name": "VF + VO",
"output_template": "{title:release}.{season_episode}.{year}.{video-resolution:first}.{audio-multi}.{audio-codec-release:best}-{group}",
"variables": {
"aliases": {
"*": {
"EAC3": "DDP",
"AC3": "Dolby Digital"
},
"lang_name": {
"French": "Français"
}
}
},
"groups": [
{"id": "audio", "label": "Audio", "enabled": true, "priority": 200}
],
"rules": [
{
"id": "rename_fr",
"label": "Renommer VF",
"group_id": "audio",
"priority": 100,
"write_mode": "priority",
"scope": "all",
"match": {
"all": [
{"field": "type", "op": "is", "value": "audio"},
{"field": "language", "op": "is", "value": "fr-FR"},
{"field": "source_title", "op": "contains", "expr": "VFQ | VFF", "required": false}
]
},
"actions": [
{"type": "set_enabled", "value": true},
{"type": "set_title", "pattern": "{lang_name} {codec} {channels} {audio_object}"}
]
}
]
}Dans rules[], group_id rattache la règle à un groupe pour l'affichage, l'activation et la priorité. Il ne remplace pas les critères de matching : une règle group_id: "subtitle" peut encore matcher une piste audio si match ne contient pas de critère type. Ajoutez donc explicitement {"field": "type", "op": "is", "value": "audio"} ou subtitle/video quand la règle doit viser un type précis.
Une condition peut utiliser value ou expr.
{"field": "source_title", "op": "contains", "expr": "(VFQ | VFF) & Forced"}expr accepte :
-
&pour AND ; -
|pour OR ; - les parenthèses ;
- les guillemets pour les littéraux ;
- l'échappement
\hors guillemets.
Pour chercher un opérateur comme texte :
{"field": "source_title", "op": "contains", "expr": "\"A | B\" | Dolby \\& DTS"}Une condition qui contient à la fois value et expr est invalide.
Le CLI lit variables.aliases comme l'éditeur :
{
"variables": {
"aliases": {
"*": {"EAC3": "DDP"},
"lang_name": {"French": "Français"}
}
}
}Les aliases s'appliquent :
- aux patterns de titres de pistes ;
- aux keywords de pistes rendus dans
--output-template.
Ils ne s'appliquent pas aux critères de matching.
variables.codec_names reste lu pour les anciens profils.
Les keywords de pistes sont disponibles avec des préfixes :
{audio-lang:all}
{sub-lang:all}
{audio-codec-release:best}
{video-resolution:best}
{video-hdr:best}
{video-dolby-vision}
{audio-immersive}
Exemple :
muxiveo --cli batch --profile profil.json --input-dir "Serie" --recursive \
--output-template "{title}.S{season}E{episode}.{audio-codec-release:best}" \
--output-allSans --output-all, les keywords de pistes utilisent les pistes finales
activées. Avec --output-all, ils listent toutes les valeurs trouvées. Les
tokens TMDB comme {title}, {year}, {season}, {episode} et
{episode_title} peuvent être mélangés avec les tokens de pistes. Les segments
vides sont compactés et .mkv est ajouté si le template ne fournit pas
d'extension vidéo connue.
-
Option explicite de fichier :
-o chemin/nom_voulu.mkv(priorité absolue). -
Option de gabarit en ligne de commande :
--output-template "{title}...". -
Modèle du profil décisionnel : champ
output_templatedu profil utilisé. -
Dossier de destination :
-o chemin/dossier/sert de dossier parent recevant le nom calculé par le template ;batch --profileplace les résultats dans--output-dir.
Exporter JSON CLI produit un exact-job, destiné aux traitements stricts.
muxiveo --cli validate --config exact-job.json
muxiveo --cli preview --config exact-job.json
muxiveo --cli run --config exact-job.json
muxiveo --cli batch --template exact-job.json --input-dir "Serie" --output-dir "out"Utilisez un exact job quand la structure des sources est stable. Utilisez un profil décisionnel quand les sources varient mais que vos décisions restent les mêmes.
Les documents sont lus en UTF-8, avec ou sans BOM. Les chemins relatifs d’un job sont résolus depuis son dossier, pas depuis le terminal. Les valeurs NaN et Infinity sont refusées. Les profils enregistrés sont retrouvés par leur nom exact ; une erreur de lecture est signalée. Validez le document avant de lancer un lot. Voir CLI headless.
Documentation utilisateur de Muxiveo · Choisir son workflow · HDR Studio · Plugins · Mises à jour · Licence
Communauté Discord Muxiveo · Code source · Soutenir Muxiveo via PayPal