Activer/désactiver ou programmer des vidéos

Cette rubrique explique comment activer, désactiver ou planifier une vidéo à l'aide du CMS API.

Introduction

Il y a plusieurs raisons pour lesquelles vous voudrez peut-être rendre une vidéo illisible jusqu'à un certain temps plus tard. Par exemple :

  • Il est encore en cours de révision
  • C'est une bande annonce pour un film qui n'est pas encore sorti
  • Cela fait partie d'une campagne de marketing qui n'a pas commencé ou qui est terminée
  • Cela fait partie d'un reportage pas encore publié

Si vous n'avez pas encore mis le code d'intégration de la vidéo dans une page ou une application publique, il ne peut pas être visualisé, bien sûr, mais il existe des moyens de publier accidentellement une vidéo, le plus évident étant que ses balises ou autres propriétés correspondent à un smart liste de lecture qui est publiée.

Il existe deux manières de s'assurer qu'une vidéo Video Cloud ne peut pas être visionnée :

  • Désactivez-le
  • Planifiez-le pour qu'il soit jouable à un moment donné dans le futur

Ces deux modifications peuvent être mises en œuvre via le module Media de Studio, mais nous verrons ici comment les implémenter à l'aide du CMS API. Ces deux actions sont effectuées à l'aide d'un demande de mise à jour vidéo.

Authentification

Les demandes à l' CMS API exigent un en-tête d'autorisation qui contient vos jetons d'accès. Pour plus de détails sur la façon d'obtenir les informations d'identification client et de les utiliser pour récupérer des jetons d'accès, consultez le Présentation de Brightcove OAuth.

Vous pouvez créer des informations d'identification client en utilisant le Pages d'administration de Studio ou la API OAuth

Vous pouvez également utiliser le API OAuth directement pour récupérer les jetons d'accès, ou si vous utilisez le Facteur ou Insomnie app ou faites vos demandes, consultez nos tutoriels pour savoir comment les configurer pour récupérer des jetons d'accès :

La demande de mise à jour vidéo

Pour mettre à jour une vidéo, envoyez une PATCH demande à

https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id

En général, le corps de la requête ne doit contenir que les champs que vous souhaitez mettre à jour, bien que vous puissiez également en inclure d'autres avec les valeurs actuelles. Nous examinerons les corps de demande d'activation/désactivation et de planification dans les sections qui suivent.

Activer/Désactiver une vidéo

Une vidéo est rendue active (visible) ou inactive (non visible) en la réglant state. Par défaut, les vidéos sont affichées ACTIVE une fois qu'elles ont été ingérées (sauf si des champs obligatoires ont été omis lors de la création de la vidéo ou lors du chargement à l'aide du module de téléchargement).

Pour désactiver une vidéo, il vous suffit alors d'envoyer le corps de requête suivant avec la demande de mise à jour de la vidéo :

{
  "state": "INACTIVE"
}

Vous pouvez vérifier que la vidéo est désormais inactive en vérifiant le state champ dans la réponse de l'API

Exemple de réponse
{
  "id": "1698990613556232930",
  "account_id": "57838016001",
  "ad_keys": null,
  "clip_source_video_id": null,
  "complete": true,
  "created_at": "2021-05-06T06:48:31.963Z",
  "created_by": {
    "type": "unknown"
  },
  "cue_points": [
  ],
  "custom_fields": {
  },
  "delivery_type": "dynamic_origin",
  "description": "Updated at: 2021-05-07T22:37:46.492Z",
  "digital_master_id": null,
  "duration": 41259,
  "economics": "AD_SUPPORTED",
  "folder_id": null,
  "geo": null,
  "has_digital_master": true,
  "images": {
    "poster": {
      "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/1494916a-e8a7-45ac-882f-6e0aa3489846/main/1280x720/20s629ms/match/image.jpg",
      "sources": [
        {
          "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/1494916a-e8a7-45ac-882f-6e0aa3489846/main/1280x720/20s629ms/match/image.jpg",
          "height": 720,
          "width": 1280
        }
      ]
    },
    "thumbnail": {
      "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/1494916a-e8a7-45ac-882f-6e0aa3489846/main/160x90/20s629ms/match/image.jpg",
      "sources": [
        {
          "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/1494916a-e8a7-45ac-882f-6e0aa3489846/main/160x90/20s629ms/match/image.jpg",
          "height": 90,
          "width": 160
        }
      ]
    }
  },
  "link": null,
  "long_description": null,
  "name": "Great Horned Owl",
  "original_filename": "greathornedowl.mp4",
  "projection": null,
  "published_at": "2021-05-06T06:48:31.963Z",
  "reference_id": "greathornedowl.mp4_1620283704192",
  "schedule": null,
  "sharing": null,
  "state": "INACTIVE",
  "tags": [
    "bird",
    "air",
    "nature"
  ],
  "text_tracks": [
  ],
  "updated_at": "2021-05-16T22:54:09.168Z",
  "updated_by": {
    "type": "api_key",
    "email": "rcrooks@brightcove.com"
  },
  "offline_enabled": false,
  "playback_rights_id": "primary"
}

Pour réactiver la vidéo, envoyez simplement une autre demande de mise à jour vidéo avec le corps de la demande :

{
  "state": "ACTIVE"
}

Programmer une vidéo

La deuxième méthode pour rendre une vidéo lisible ou non lisible consiste à utiliser l' schedule objet dans la demande de mise à jour vidéo. Le schedule object has two properties:

  • starts_at la date et l'heure ISO-8601 à laquelle la vidéo devient lisible (obligatoire)
  • ends_at la date et l'heure ISO-8601 à laquelle la vidéo n'est plus lisible (facultatif)

Voici un exemple de corps de requête qui rend une vidéo jouable à 6h00 (UTC) le 16 mai 2021 et la rend à nouveau injouable exactement un an plus tard :

{
  "schedule": {
		"starts_at": "2021-05-16T06:00:00.000Z",
		"ends_at": "2022-05-16T06:00:00.000Z"
	}
}
Exemple de réponse
{
  "id": "1698990613556232930",
  "account_id": "57838016001",
  "ad_keys": null,
  "clip_source_video_id": null,
  "complete": true,
  "created_at": "2021-05-06T06:48:31.963Z",
  "created_by": {
    "type": "unknown"
  },
  "cue_points": [
  ],
  "custom_fields": {
  },
  "delivery_type": "dynamic_origin",
  "description": "Updated at: 2021-05-07T22:37:46.492Z",
  "digital_master_id": null,
  "duration": 41259,
  "economics": "AD_SUPPORTED",
  "folder_id": null,
  "geo": null,
  "has_digital_master": true,
  "images": {
    "poster": {
      "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/1494916a-e8a7-45ac-882f-6e0aa3489846/main/1280x720/20s629ms/match/image.jpg",
      "sources": [
        {
          "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/1494916a-e8a7-45ac-882f-6e0aa3489846/main/1280x720/20s629ms/match/image.jpg",
          "height": 720,
          "width": 1280
        }
      ]
    },
    "thumbnail": {
      "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/1494916a-e8a7-45ac-882f-6e0aa3489846/main/160x90/20s629ms/match/image.jpg",
      "sources": [
        {
          "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/1494916a-e8a7-45ac-882f-6e0aa3489846/main/160x90/20s629ms/match/image.jpg",
          "height": 90,
          "width": 160
        }
      ]
    }
  },
  "link": null,
  "long_description": null,
  "name": "Great Horned Owl",
  "original_filename": "greathornedowl.mp4",
  "projection": null,
  "published_at": "2021-05-06T06:48:31.963Z",
  "reference_id": "greathornedowl.mp4_1620283704192",
  "schedule": {
    "ends_at": "2022-05-16T06:00:00.000Z",
    "starts_at": "2021-05-16T06:00:00.000Z"
  },
  "sharing": null,
  "state": "ACTIVE",
  "tags": [
    "bird",
    "air",
    "nature"
  ],
  "text_tracks": [
  ],
  "updated_at": "2021-05-17T00:42:45.172Z",
  "updated_by": {
    "type": "api_key",
    "email": "rcrooks@brightcove.com"
  },
  "offline_enabled": false,
  "playback_rights_id": "primary"
}