# CLI Packager : commandes et reprise

Paqueter une vidéo maître, automatiser avec le identifiants protégé, interpréter la progression et reprendre un téléchargement interrompu sans réencodage.

La vidéo chiffrée et les licences DRM suivent des chemins distincts

Le CDN distribue la vidéo chiffrée. Votre backend vérifie l’accès, et le service de licences DRM autorise le déchiffrement sur un appareil compatible.

- 01**Stockage / CDN**

Distribue les médias chiffrés au lecteur.

- 02**Votre backend**

Vérifie le droit de visionnage et demande l’autorisation de lecture à DRM-X.

- 03**DRM-X**

Valide l’autorisation de lecture et traite la demande de licence DRM.

- 04**Lecteur + appareil**

Utilise le système DRM de l’appareil pour obtenir une licence et lire les médias chiffrés.

Votre moteur décide de l'accès; DRM-X applique la politique signée. Les licences de médias chiffrés et DRM suivent des chemins de livraison séparés.

## Ouvrir le CLI [#](#open-the-included-cli) inclus

Télécharger et extraire la suite complète Windows de [Package Content](https://6.drm-x.com/console/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.exe`.

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

Créez d'abord le profil **Production** dans [Desktop Packager](https://docs.drm-x.com/fr/packaging/desktop), ou remplacez ce nom par votre propre profil enregistré. Utilisez prévisualiser.6 ou plus récent pour une autorisation de chargement longue durée renouvelable.



## Emballage d'un maître 1080p [# ](#package-a-1080p-master)

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.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"
```

Ceci analyse la source, encode une fois l'échelle sélectionnée, chiffre les sorties configurées, vérifie les manifestes, supprime les rendus transparents temporaires et charge le paquet protégé. Une source plus petite qu'un échelon demandé n'est pas mise à l'échelle. Pour UHD, voir [4K, 8K et vidéos longues](https://docs.drm-x.com/fr/packaging/large-videos).

Pour garder la sortie protégée localement, ajoutez `--no-upload`. Pour utiliser une destination vérifiée appartenant au client, ajoutez `--storage_connection_id "YOUR-STORAGE-CONNECTION-ID"`. Votre valeur par défaut configurée est utilisée lorsque cette option est omise.



## Comprendre le progrès et l'achèvement [#](#understand-progress-and-completion)

Analyser
Lire les pistes sourceEncoder
Crée l'échelleChiffrer
Protéger chaque sortieVérifier
Vérifier les manifestesEnvoi
Transfert et publication

A successful upload reports the verified object count, total bytes, inventory SHA-256 and registered manifest URLs. The last stage includes server verification of object sizes, manifest paths and package KIDs. Keep the Packaging Session ID from the output: it identifies the same package during recovery.

Bureau consomme la progression structurée CLI. Pour votre propre intégration, ajoutez `--progress-format ndjson` et analysez un objet JSON par ligne; les champs optionnels tels que `percent` peuvent être nuls. Traitez un code de sortie de processus non nul comme une défaillance ou une annulation, même si les phases antérieures sont terminées.



## Reprendre sans réencodage[#](#resume-without-re-encoding)

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.exe upload `
  --profile "Production" `
  --session "11111111-2222-4333-8444-555555555555" `
  --input "D:\Protected\training-2026-001" `
  --upload-concurrency 4
```

**Garder la racine de sortie entière**, y compris les deux dossiers format de chiffrement lorsque la compatibilité maximale a créé deux sorties. 1AICLOUD, les CLI compare les longueurs d'octets à distance et SHA-256 Un objet multiparties incomplet redémarre cet objet; les objets déjà complétés restent réutilisables. Le stockage présigné appartenant au client peut retransmettre des objets sur un CV manuel.

Le téléchargeur recule après des erreurs réseau temporaires ou des erreurs réseau et renouvelle temporairement 1AICLOUD identifiants tout en gardant la même destination et le même préfixe de paquet. Les pièces gros objets échouées sont retriées indépendamment. Commencez par des objets parallèles de 4 à 8; une plus grande concordance n'est pas toujours plus rapide.

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

Cet essai à sec ne lit que le nombre et la taille des fichiers locaux; il ne contacte pas le stockage, ne prouve pas l'autorisation du serveur ou ne valide pas le chiffrement. UUID Les workflows basés sur les sessions peuvent utiliser un `DRMX_PACKAGING_TOKEN`; la récupération du profil sauvé est plus simple lorsque ce jeton a expiré.



## Automatiser avec un environnement protégé identifiants[#](#automate-with-protected-environment-credentials)

Les tâches non surveillées peuvent fournir `DRMX_PACKAGER_SITE_ID`, `DRMX_PACKAGER_ACCESS_KEY` et `DRMX_PACKAGER_KMS_TOKEN` par l'intermédiaire de leur magasin secret. Définit optionnellement `DRMX_PACKAGER_SERVER`. Omit `--profile` dans ce mode. Ne pas écrire de vrai identifiants dans les scripts, le contrôle de source, les arguments de commande ou les journaux.

Exécutez une commande de paquet par source et assignez une destination unique Content ID et vide chaque fois. Vérifiez le code de sortie avant de continuer. Utilisez `upload` pour un paquet terminé qui a échoué pendant le téléchargement, au lieu de répéter automatiquement `package`. Windows utilise les exécutables groupés indiqués ci-dessus. Sur une installation Linux CLI approuvée, utilisez `./drmx-packager`, `./ffmpeg`, `./ffprobe` et `./packager-linux-x64`, avec des continuations de ligne appropriées au shell.



## Dépannage [#](#troubleshooting)

| Message ou symptôme | Action suivante | 
| --- | --- |

| Charger temporairement occupé ou interrompu | Si le budget de réessayer est épuisé, garder la sortie et reprendre avec la concordance 4 ou 2. | 

| 401 / la validation des titres de compétence a échoué | Testez le profil sauvegardé, vérifiez le Site ID et faites pivoter/réenregistrer révoqué identifiants. Un visualisateur DRM License Token ne peut pas autoriser l'emballage. | 

| La sortie doit être vide | Utilisez 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ée | Préservez le journal et la sortie. Ne modifiez pas les manifestes ou ne publiez pas manuellement. Reprenez les fichiers inchangés ou contactez la prise en charge avec la session ID et l'erreur expurgée. | 

| 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. |

<!-- Canonical: https://docs.drm-x.com/fr/packaging/cli -->
<!-- Language: fr -->
