DRM-X 6.0 logo de la colombe et de la branche d'oliveDRM-X 6.0Documentation
◎ Français

CLI Packager : commandes et reprise

Préparez une vidéo source, automatisez avec des identifiants protégés, suivez la progression et reprenez un envoi interrompu sans réencodage.

Voir le MarkdownExemples en ligneMis à jour le 2026-10-21

Utilisez CLI dans Packager Suite 1.0.0-beta.1 complet pour automatiser le même flux que Desktop. Commencez par une courte source et testez le résultat publié avant un gros lot.

Ouvrir la CLI fournie#

Télécharger et extraire la suite complète Windows de Package Content. Ouvrez PowerShell dans le dossier extrait. Les commandes ci-dessous supposent que les binaires FFmpeg, FFprobe et Shaka fournis sont à côté de drmx-packager-cli.exe.

.\drmx-packager-cli.exe version
.\drmx-packager-cli.exe help
.\drmx-packager-cli.exe credentials list
.\drmx-packager-cli.exe credentials test --profile "Production"

Créez d’abord le profil Production dans Desktop Packager, ou remplacez ce nom par votre profil enregistré. Utilisez CLI 1.0.0-beta.1 avec le Suite correspondant. La reprise par profil enregistré peut renouveler l’autorisation temporaire d’envoi.

Préparer un fichier maître 1080p#

Remplacer le chemin source, Content ID et le chemin de sortie ci-dessous. Le dossier de sortie doit être nouveau ou vide. PowerShell utilise un backtick à la fin d'une ligne continue; n'ajoutez pas d'espaces après.

.\drmx-packager-cli.exe package `
  --profile "Production" `
  --content_id "training-2026-001" `
  --content_title "Training session" `
  --input_source "D:\Sources\training.mp4" `
  --encoding_ladder "sd,hd,full-hd" `
  --video_codec h264 --encoding_preset fast `
  --rate_control smart-quality-vbr --max_frame_rate 24 `
  --audio_bitrate_kbps 128 --segment_duration 6 `
  --packaging_profile maximum-compatibility `
  --key_protection shaka-standard --encrypt_audio `
  --drm_systems "widevine,fairplay,playready,wiseplay" `
  --ffmpeg ".\ffmpeg.exe" --ffprobe ".\ffprobe.exe" `
  --shaka ".\packager-win-x64.exe" `
  --upload-concurrency 8 `
  -o "D:\Protected\training-2026-001"

La commande analyse la source, encode une fois les niveaux choisis, chiffre les sorties, vérifie les manifestes, supprime les variantes temporaires non chiffrées et envoie le package protégé. Une source trop petite n’est pas agrandie pour atteindre un niveau demandé. Pour l’UHD, consultez 4K, 8K et vidéos longues.

Ajoutez --no-upload pour garder la sortie locale protégée. Ajoutez --storage_connection_id "YOUR-STORAGE-CONNECTION-ID" pour un stockage client vérifié. Sans cette option, la destination configurée par défaut s’applique.

Vérifier la progression et la fin du traitement#

Analyser
Lire les pistes source
Encoder
Crée l'échelle
Chiffrer
Protéger chaque sortie
Vérifier
Vérifier les manifestes
Envoi
Transfert et publication

Un envoi réussi indique le nombre d’objets vérifiés, le total d’octets, le SHA-256 de l’inventaire et les URL de manifestes enregistrées. À la fin, le serveur vérifie tailles, chemins de manifestes et KIDs du paquet. Conservez Packaging Session ID pour identifier ce paquet lors d’une reprise.

Desktop lit la progression CLI structurée. Ajoutez --progress-format ndjson et analysez un objet JSON par ligne ; percent peut être null. Un code de sortie non nul signifie échec ou annulation même après des phases réussies.

Reprendre l’envoi sans réencodage#

Utilisez upload après le cryptage local terminé, y compris après le redémarrage de l'ordinateur ou après l'expiration du jeton d'accès d'emballage original. Votre profil sauvegardé doit appartenir au même Site ID que le paquet complété. Remplacez la session d'exemple UUID et le dossier par les valeurs de votre journal.

.\drmx-packager-cli.exe upload `
  --profile "Production" `
  --session "11111111-2222-4333-8444-555555555555" `
  --input "D:\Protected\training-2026-001" `
  --upload-concurrency 4

Conservez toute la racine de sortie, dont les deux dossiers si Maximum Compatibility crée deux formats. Pour 1AICLOUD, CLI compare taille distante et SHA-256, ignore les objets identiques et poursuit les autres. Un objet multipartie incomplet recommence seul ; les objets terminés restent réutilisables. Un stockage client présigné peut retransmettre lors d’une reprise manuelle.

Après limitation de débit ou erreur temporaire, l’outil attend puis réessaie et renouvelle les identifiants 1AICLOUD sans changer destination ni préfixe. Les parties en échec sont réessayées séparément. Commencez avec 4–8 objets parallèles ; davantage n’est pas toujours plus rapide. Arrêtez les autres envois du même dossier avant reprise.

.\drmx-packager-cli.exe upload `
  --session "11111111-2222-4333-8444-555555555555" `
  --input "D:\Protected\training-2026-001" --dry-run

Cet essai lit uniquement le nombre et la taille des fichiers locaux. Il ne contacte pas le stockage et ne vérifie ni autorisation serveur ni chiffrement. L’UUID doit rester valide. Les anciens flux peuvent utiliser DRMX_PACKAGING_TOKEN valide ; après expiration, la reprise par profil enregistré est plus simple.

Automatiser avec des identifiants d’environnement protégés#

Les tâches sans surveillance peuvent recevoir DRMX_PACKAGER_SITE_ID, DRMX_PACKAGER_ACCESS_KEY et DRMX_PACKAGER_KMS_TOKEN du stockage de secrets et définir DRMX_PACKAGER_SERVER si nécessaire. Omettez --profile dans ce mode. Ne mettez jamais les identifiants réels dans scripts, dépôt, arguments ou journaux.

Une commande par source, avec Content ID unique et destination vide. Vérifiez le code de sortie avant de continuer. Si seul l’envoi échoue, utilisez upload plutôt que répéter package. Windows utilise les exécutables fournis ; une installation Linux CLI approuvée utilise ./drmx-packager, ./ffmpeg, ./ffprobe, ./packager-linux-x64 et les continuations du shell.

Dépannage#

Message ou symptômeAction suivante
Charger temporairement occupé ou interrompuLaissez finir le délai entre les tentatives. Si elles sont épuisées, conservez la sortie et reprenez avec 4 ou 2 envois simultanés.
401 / la validation des titres de compétence a échouéTestez le profil et le Site ID. Remplacez et enregistrez les identifiants révoqués. Un DRM License Token de spectateur ne peut pas autoriser le packaging.
La sortie doit être videUtilisez un nouveau dossier pour l'encodage; utilisez le téléchargement pour récupérer un paquet protégé déjà terminé.
Un autre téléchargement peut être en utilisant ce dossier protégéFermez l'autre processus de téléchargement. Le fichier de verrouillage adjacent peut rester après la sortie; seul un fichier de verrouillage actif bloque la récupération.
Durée, somme de contrôle ou vérification manifeste échouéeConservez le journal et la sortie. Ne modifiez pas les manifestes et ne publiez pas manuellement. Reprenez avec les fichiers inchangés ou contactez le support avec l’ID de session et l’erreur expurgée des données sensibles.
UHD rang suppriméLes dimensions de la source sont trop petites pour cet échelon. Utilisez une source UHD réelle pour produire la sortie UHD.

Tester le résultat publié, puis intégrer#

Ouvrez DRM-X Web Player, connectez-vous, choisissez le même environnement et Published Content ID, puis Play. Vérifiez déplacements, qualité, son et langues. Utilisez ensuite le guide Web SDK et le kit backend pour intégrer la lecture au site. Séparez les identifiants de préparation et d’API de lecture.