Objets vidéo et liste de lecture de JSON

Dans cette rubrique, vous allez apprendre à créer des objets vidéo et playlist jouables en appelant des méthodes d'assistance dans le SDK natif Brightcove pour Android avec les données au format JSON requises.

Aperçu

À partir de la version 6.2.0+, le SDK natif Brightcove pour Android prend en charge les méthodes de création d'objets vidéo et de playlist à partir d'un objet JSON.

Ceci est utile si vous souhaitez utiliser un proxy côté serveur pour récupérer les données de vidéo et de liste de lecture de votre compte Brightcove. Avec cette approche, vous n'exposerez pas vos clés de stratégie du côté client de vos applications.

Pour créer un objet vidéo et playlist lisible, procédez comme suit :

  1. Facultatif : Faites un appel côté serveur à l'API de lecture pour renvoyer vos données de vidéo ou de liste de lecture.
  2. Créez un objet au format JSON en fonction des champs obligatoires ci-dessous.
  3. Transmettez l'objet au format JSON et appelez la méthode appropriée pour créer ce qui suit :
  4. Chargez la vidéo ou la liste de lecture renvoyée dans votre lecteur.

Objets vidéo

Pour créer un objet vidéo, transmettez les informations suivantes à la buildVideoFromJSON() méthode :

Champ Description
account_id L'identifiant du compte associé à la vidéo
id L'identifiant de la vidéo
sources Un tableau JSON de sources vidéo. Chaque source du tableau doit avoir :
  • Un champ src avec une URL valide vers le contenu
  • Pour le contenu HLS ou DASH, un champ type avec le type mime du contenu
  • Pour le contenu MP4, une rubrique Conteneur avec la valeur MP4
duration La durée de la vidéo en millisecondes

Lorsque votre proxy côté serveur renvoie des données vidéo, créez une chaîne d'objet JSON avec les valeurs spécifiées dans le tableau ci-dessus.

{
  "account_id": "3636334163001",
  "sources": [
  {
    "src": "http://f1.media.brightcove.com/4/36356334163001/3636334163001_3637454559001_Cascada-Teaser.mp4",
    "container": "MP4"
  }, {
    "type": "application/x-mpegURL",
    "src": "http://c.brightcove.com/services/mobile/streaming/index/master.m3u8"
  }],
  "id": "3637780364001",
  "duration": 74700
}

Convertissez la chaîne JSON en objet JSON et transmettez-la à la buildVideoFromJSON() méthode :

try {
   JSONObject jsonObject = new JSONObject(response);
   Video video = VideoParser.buildVideoFromJSON(jsonObject, eventEmitter);
  } catch (JSONException e) {
    e.printStackTrace();
  } catch (VideoParseException e) {
    e.printStackTrace();
  }

Objets de liste de lecture

Pour créer un objet de playlist, transmettez les informations suivantes à la buildPlaylistFromJSON() méthode :

Champ Description
account_id L'identifiant du compte associé à la vidéo
id L'identifiant de la vidéo
videos Un tableau JSON d'objets vidéo. Cela inclut les champs obligatoires tels que décrits dans le Objets vidéo section.
duration La durée de la vidéo en millisecondes

Lorsque votre proxy côté serveur renvoie des données de liste de lecture, créez une chaîne d'objet JSON avec les valeurs spécifiées dans le tableau ci-dessus.

{
  "id": "4970066630001",
  "account_id": "3636335163001",
  "name": "token auth playlist",
  "videos": [{
    "account_id": "3636335763001",
    "id": "4973773347001",
    "sources": [{
      "type": "application/dash+xml",
      "src": "https://brightcove.hs.llnwd.net/v2/unsecured/media/3636334163001/201606/1923/3636334163001_4973820156001_4973773237001.mpd"
    }],
    "duration": 29000
    },
    {
    "account_id": "3636334463001",
    "id": "4973766826001",
    "sources": [{
      "type": "application/dash+xml",
      "src": "http://brightcove.vo.llnwd.net/v1/unsecured/media/3636334163001/201606/2933/3636334163001_4973816542001_4973737826001.mpd"
    }],
    "duration": 29000
    }
  ]
}

Convertissez la chaîne JSON en objet JSON et transmettez-la à la buildPlaylistFromJSON() méthode :

try {
   JSONObject jsonObject = new JSONObject(response);
   Playlist playlist = VideoParser.buildPlaylistFromJSON(jsonObject, eventEmitter);
  } catch (JSONException e) {
    e.printStackTrace();
  } catch (VideoParseException e) {
    e.printStackTrace();
  }

Remarques

Si votre contenu est régi par le TTL (Time to live) et que vous souhaitez créer un objet vidéo de longue durée, vous devrez vous assurer qu'il reste lisible. Ceci est configuré sur le CDN que vous utilisez.