Vue d'ensemble : API de lecture

L'API de lecture est utilisée pour récupérer les données de vidéo et de liste de lecture à partir de Video Cloud. Il est généralement utilisé pour transmettre des données vidéo à un lecteur sur une page Web ou dans une application mobile.

Introduction

L'API de lecture est une API à faible latence destinée à être utilisée côté client pour récupérer des données de vidéo ou de liste de lecture à partir de pages Web ou d'applications mobiles. Il ne s'agit pas d'une API de gestion multimédia générale à utiliser pour intégrer Video Cloud à votre CMS ou à d'autres systèmes. Pour cela, vous devez utiliser l'API CMS.

Les résultats de l'API de lecture sont filtrés pour ne renvoyer que les vidéos jouables (état = ACTIVE, indicateur d'ingestion terminée = vrai, et dans des données/heures correctes si planifié). Cela signifie que le lecteur pourra lire la vidéo dès qu'un rendu existe, même si d'autres sont encore en cours de traitement. Si vous devez récupérer des vidéos qui ne sont pas actuellement lisibles, vous devez à nouveau utiliser le API CMS au lieu.

Sachez également que pour maximiser les performances, les données vidéo auxquelles accède l'API de lecture sont mises en cache pendant une courte période. La durée de mise en cache d'un identifiant d'ensemble de données particulier varie, mais peut aller jusqu'à 20 minutes.

Voir aussi le Référence API.

Cas d'utilisation

Les Lecteur Brightcove et le Lecteurs SDK Brightcove inclure des méthodes de catalogue identiques aux méthodes de l'API de lecture, et pour la plupart, vous pouvez simplement les utiliser si vous ne faites que récupérer des vidéos ou des listes de lecture au moment de l'exécution pour les lire.

Cependant, vous souhaiterez peut-être fournir une vue de la vidéo ou des listes de lecture dans un écran d'application mobile où aucun lecteur n'est présent.

De plus, il peut arriver que vous souhaitiez récupérer des vidéos ou des listes de lecture pour afficher des informations les concernant, sans avoir de lecteur à l'écran, comme la page de destination d'un portail vidéo, par exemple.

L'API de lecture est utile dans ces cas.

Informations générales

URL de base

L'URL de base de l'API Playback est :

https://edge.api.brightcove.com/playback/v1

Chemin du compte

Dans tous les cas, des demandes seront faites pour un Nuage vidéo Compte. Par conséquent, vous allez toujours ajouter le terme accounts suivi de votre identifiant de compte à l'URL de base :

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}

Authentification

Les demandes sont authentifiées par une clé de stratégie, qui peut être transmise de l'une des trois manières suivantes :

  1. Dans un argument à un Accept en-tête :
    Accept: application/json;pk={policy_key}

    Il s'agit de la méthode recommandée pour un client basé sur un navigateur, car elle permet à la demande d'aller de l'avant sans demande supplémentaire d'abord dans le cadre de la vérification "pré-vol" CORS du navigateur. Cela permet d'économiser la latence lors de la première demande de navigateur.

  2. Dans un Authorization en-tête utilisant le mot clé realm BCOV-Policy:
    Authorization: BCOV-Policy {policy_key}
  3. Dans un BCOV-Policy en-tête :
    BCOV-Policy: {policy_key}

Obtention d'une clé de stratégie

Vous pouvez obtenir une clé de stratégie de trois manières :

  1. Chaque lecteur Brightcove en reçoit un automatiquement. Vous pouvez trouver des instructions pour obtenir la clé de politique d'un joueur dans ce document. Étant donné que les clés de stratégie sont valables à l'échelle du compte, vous pouvez l'utiliser que ce lecteur soit incorporé ou non sur la page.
  2. Vous pouvez générer une clé de stratégie de base en utilisant le Démarrage rapide des clés de stratégie
  3. Vous pouvez faire une demande au API de règles

Authentification par jeton

L'authentification par jeton pour le contenu HLS et DASH est prise en charge. Si vous avez besoin d'une authentification par jeton, contactez votre Customer Success Manager pour qu'il l'active pour votre compte.

Évitez les URL codées en dur

Les URL des vignettes, affiches, fichiers vidéo et autres médias ne doivent jamais être codées en dur dans vos pages ou applications. Le Playback API renvoie la dernière version mise en cache des URL pour les fichiers multimédias, mais les URL elles-mêmes sont sujettes à changement. Vous devez utiliser les requêtes CMS API(ou Playback API) pour récupérer ces URL chaque fois que la page se charge, ou les mettre en cache pendant six heures maximum.

Mettre en cache les URL des vidéos et des images

Vous pouvez mettre en cache les URL des vidéos et des images pour améliorer les performances des pages, mais le cache doit être actualisé régulièrement. Si vous mettez en cache les URL que vous récupérez pour améliorer les performances de vos pages, veillez à actualiser le cache en répétant les appels d'API au moins une fois toutes les six heures.

Méthodes

L'API prend uniquement en charge les requêtes GET suivantes, des types suivants :

Demandes de vidéos

Un seul objet vidéo peut être récupéré à l'aide de l'identifiant vidéo ou de l'identifiant de référence.

Obtenir la vidéo par identifiant

Point de terminaison

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}

Exemple

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/38467382999

Exemple de réponse

{
  "account_id": "107767373999",
  "ad_keys": null,
  "created_at": "2010-07-12T22:37:34.760Z",
  "description": "Avatar_MakingAScene_Featurette",
  "duration": 595560,
  "id": "38467382999",
  "long_description": null,
  "name": "Avatar_MakingAScene_Featurette",
  "published_at": "2010-07-12T22:37:34.760Z",
  "reference_id": "AvatarMakingShort",
  "text_tracks": [],
  "updated_at": "2010-07-12T22:54:29.666Z",
  "cue_points": [
    {
      "id": "111637107001",
      "name": "Pre-roll",
      "type": "AD",
      "time": 0,
      "metadata": null,
      "force_stop": false
    }
  ],
  "custom_fields": {
    "moretext": "this is the first video uploaded",
    "mylist": "abc"
  },
  "link": {
    "text": "Full Dvd at Amazon",
    "url": "https://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
  },
  "tags": [
    "copied"
  ],
  "poster_sources": [
    {
      "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
    }
  ],
  "thumbnail_sources": [
    {
      "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
    }
  ],
  "poster": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
  "thumbnail": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
  "sources": [
    {
      "avg_bitrate": 379000,
      "width": 320,
      "duration": 595560,
      "size": 28196307,
      "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
      "codec": "H264",
      "asset_id": "111728840001",
      "container": "MP4",
      "height": 180,
      "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
    },
    {
      "avg_bitrate": 379000,
      "width": 320,
      "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
      "size": 28196307,
      "height": 180,
      "duration": 595560,
      "container": "MP4",
      "codec": "H264",
      "asset_id": "111728840001"
    }, ... 6 more sources ...

  ]
}

Obtenir la vidéo par identifiant de référence

Point de terminaison

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/ref:{reference_id}

Exemple

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/ref:nature_2010-07-12

Exemple de réponse

{
  "account_id": "107767373999",
  "ad_keys": null,
  "created_at": "2010-07-12T22:37:34.760Z",
  "description": "Avatar_MakingAScene_Featurette",
  "duration": 595560,
  "id": "38467382999",
  "long_description": null,
  "name": "Avatar_MakingAScene_Featurette",
  "published_at": "2010-07-12T22:37:34.760Z",
  "reference_id": "nature_2010-07-12",
  "text_tracks": [],
  "updated_at": "2010-07-12T22:54:29.666Z",
  "cue_points": [
    {
      "id": "111637107001",
      "name": "Pre-roll",
      "type": "AD",
      "time": 0,
      "metadata": null,
      "force_stop": false
    }
  ],
  "custom_fields": {
    "moretext": "this is the first video uploaded",
    "mylist": "abc"
  },
  "link": {
    "text": "Full Dvd at Amazon",
    "url": "https://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
  },
  "tags": [
    "copied"
  ],
  "poster_sources": [
    {
      "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
    }
  ],
  "thumbnail_sources": [
    {
      "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
    }
  ],
  "poster": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
  "thumbnail": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
  "sources": [
    {
      "avg_bitrate": 379000,
      "width": 320,
      "duration": 595560,
      "size": 28196307,
      "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
      "codec": "H264",
      "asset_id": "111728840001",
      "container": "MP4",
      "height": 180,
      "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
    },
    {
      "avg_bitrate": 379000,
      "width": 320,
      "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
      "size": 28196307,
      "height": 180,
      "duration": 595560,
      "container": "MP4",
      "codec": "H264",
      "asset_id": "111728840001"
    }, ... 6 more sources ...

  ]
}

Rechercher des vidéos

Vous devez utiliser un clé de stratégie activée pour la recherche , lors de la recherche de vidéos à l'aide de l'API de lecture. Pour plus de détails, consultez le Référence de l'API de lecture document.

Paramètres

Notez que tous les paramètres sont optionnel. Ils s'appliquent à GET Videos demandes seulement.

GET Videos Request Parameters
Paramètre Description
q Chaîne de requête pour les recherches : pour plus de détails, consultez le guide de recherche
limit Nombre de vidéos à renvoyer : doit être un entier compris entre 1 et 1 000. Par défaut : 20
offset Nombre de vidéos à ignorer (pour les résultats de pagination). Doit être un entier positif. Par défaut : 0
sort Une chaîne qui spécifie le champ à trier.
- Commencez par trier décroissant.
Si une valeur pour q est fournie, alors le tri par défaut est par « score » (pertinence des résultats de recherche par rapport à la requête d'origine).
Si aucune valeur pour n' q est fournie, le tri par défaut est updated_at décroissant.
Les champs suivants sont valides pour le tri : name , reference_id , created_at , published_at , updated_at , schedule_starts_at , schedule_ends_at , state , plays_total , et plays_trailing_week
Pour plus de détails, consultez le Obtenir des vidéos section de la référence de l'API Playback
config_id Voir Règles de livraison
ad_config_id Voir les demandes de vidéo avec le SSAI

Brightcove's Playback API fournit un moyen programmatique de rechercher des vidéos dans votre Video Cloud bibliothèque.

Pour effectuer des recherches simples et complexes sur vos données vidéo, vous utiliserez le q paramètre suivant :

https://edge.api.brightcove.com/playback/v1/accounts/1752604051111/videos?q={search terms}

Pour plus d'informations sur la recherche de vidéos, reportez-vous à la Rechercher des vidéos document.

Résultats de la pagination

Utilisez le limit paramètre pour spécifier le nombre d'articles que vous souhaitez renvoyer suite à une demande, jusqu'à 1 000. Vous pouvez alors utiliser le offset paramètre pour parcourir les ensembles de résultats qui sont plus grands que le limit. Les offset est le nombre d'éléments à ignorer.

Par exemple, la recherche suivante renvoie les vidéos 51-75 de l'ensemble de résultats total, en supposant que l'ensemble de résultats total comporte au moins 75 vidéos :

/videos?q=updated_at:2014-01-01..2014-06-30&limit=25&offset=50

Les limit et offset les paramètres ne peuvent être utilisés que pour les vidéos.

Meilleures pratiques de pagination

Lorsque vous parcourez votre ensemble de résultats à partir de l'API Playback, il est recommandé de suivre ces étapes :

  1. Utilisez le limit et offset paramètres pour renvoyer des groupes de données de votre jeu de résultats.
    /accounts/578380111111/videos?q=tags:nature&limit=20&offset=50
  2. A chaque réponse, vous verrez que le count champ affiche toujours le nombre maximum de vidéos dans votre ensemble de résultats.
    {"count": 171,
      "videos": [ ... ]
    }
  3. Le total count de vidéos de votre première demande peuvent être utilisées pour déterminer le nombre de pages supplémentaires que vous devrez demander.

    Vous pouvez également interroger la count valeur avec chaque réponse et continuer jusqu'à ce que le count soit inférieur ou égal à la taille de page fois la valeur limit.
    count <= page-number * limit

Tri des résultats vidéo

Utiliser le paramètre sort=field_name pour spécifier comment les résultats doivent être triés. Vous pouvez trier les champs vidéo suivants :[1-1]

  • nom
  • identifiant_référence
  • created_at
  • published_at
  • updated_at
  • schedule_starts_at (remarque : c'est le champ de tri, le champ de recherche l'est schedule.starts_at)
  • schedule_ends_at (remarque : c'est le champ de tri, le champ de recherche l'est schedule.ends_at)
  • état
  • plays_total[1-2]
  • plays_trailing_week[1-2]

Remarques

  • [1-1] Si vous ne fournissez pas de valeur de tri pour un appel de recherche vidéo, les résultats seront triés par pertinence. Si vous ne fournissez pas de valeur de tri pour un GET appel vidéo, les résultats seront triés par updated_at descendant.
  • [1-2] Vous pouvez trier par plays_total ou plays_trailing_week, mais ces champs ne sont pas inclus dans les résultats

Toutes les vidéos et les grands ensembles de données

Si vous récupérez toutes les vidéos de votre compte, ou un grand nombre de vidéos, vous devez être conscient de certaines choses :

  1. Vous serez peut-être tenté d'utiliser le maximum autorisé limit(1 000), mais il est préférable de récupérer des vidéos par lots de 25 ou moins afin de minimiser les risques d'expiration des demandes d'API
  2. Lorsque vous parcourez de grands ensembles de données, il est possible que les données vidéo soient mises à jour pendant l'opération, ce qui peut entraîner un décalage des éléments dans les réponses :
    • Vous pouvez voir un élément répété sur des pages successives
    • Un élément peut être manqué, car il est passé à un ensemble de réponses précédent

    Pour tenir compte de la première possibilité, votre application doit dédupliquer la liste complète des éléments une fois que vous avez terminé de récupérer les vidéos. Pour gérer la deuxième possibilité, vous devez comparer le nombre total d'éléments récupérés (après déduplication) au nombre attendu, puis réexécuter les demandes en triant les résultats par last_modified_date (décroissant). Vous ne devriez pas avoir à récupérer plus d'un lot pour récupérer les éléments oubliés.

  3. Vous pouvez réduire la probabilité des scénarios de l'élément précédent en triant les résultats renvoyés de manière appropriée. Le tri par défaut par pertinence pour les recherches est basé sur un algorithme complexe qui recherche des combinaisons de mots-clés, de balises et de valeurs de champs personnalisés. Si vous recherchez des vidéos basées sur plusieurs mots-clés, balises et/ou champs personnalisés, trier par pertinence est exactement ce que vous voulez. Cependant, si vous essayez simplement de récupérer la totalité ou une grande partie de vos vidéos, définissez le paramètre sort Le paramètre explicitement vous donnera plus de contrôle sur l'ordre des éléments retournés.

Obtenir des vidéos

Point de terminaison

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos

Exemple

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos?q=tags:nature,name:nature

Exemple de réponse

{
  "count": 123,
  "videos":
    [
      {<video1 fields>},
      {<video2 fields>},
      ...
    ]
}

Réponse d'erreur

si vous essayez d'utiliser le point de terminaison Get Videos avec une clé de stratégie qui n'est PAS activée pour la recherche, vous recevrez le message d'erreur suivant de l'API de lecture :

[
  {
    "api_call": "search",
    "error_subcode": "API",
    "error_code": "ACCESS_DENIED",
    "message": "Access to this resource is forbidden by access policy."
  }
]

L'API de lecture vous permet de rechercher dans votre compte des vidéos liées à la vidéo spécifiée. Basé sur name et short description de la vidéo spécifiée, l'API recherchera toute correspondance partielle dans les champs suivants :

  • name
  • short description
  • long description
  • tags

Si la restriction géographique est en vigueur, il se peut que vous ne receviez pas une page complète de résultats.

Paramètres

Les paramètres d'URL suivants peuvent être utilisés pour les demandes de vidéos liées à GET :

OBTENIR des vidéos connexes Demander des paramètres
Paramètre Description
limit Le nombre de vidéos à renvoyer (par défaut = 20 ; maximum = 1000)
ad_config_id Ajoutez votre ad_config_id pour retourner vidéos avec SSAI

Par défaut, la réponse contiendra jusqu'à 20 vidéos. Vous pouvez utiliser limit ce paramètre pour renvoyer un maximum de 1 000 vidéos, ce qui entraîne une latence accrue.

Notez qu'il n'y a pas offset lors de la recherche de vidéos similaires, vous ne pourrez donc pas parcourir les résultats de vos vidéos.

Obtenez des vidéos similaires à l'aide de l'identifiant vidéo

Point de terminaison

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}/related

Exemple

https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/5565662146001/related

Obtenez des vidéos similaires à l'aide de l'identifiant de référence

Point de terminaison

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/ref:{reference_id}/related

Exemple

https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/ref:nature/related

Exemple de réponse

Dans la réponse ci-dessous, notez qu'il n'y a pas count terrain, contrairement au rechercher des vidéos réponse.

{
  "videos":
    [
      {<video1 fields>},
      {<video2 fields>},
      ...
    ]
}

Réponse d'erreur

Si vous essayez d'utiliser le point de terminaison associé à la recherche avec une clé de stratégie qui n'est PAS activée pour la recherche, vous recevrez le message d'erreur suivant de l'API de lecture :

[
  {
    "api_call": "search",
    "error_subcode": "API",
    "error_code": "ACCESS_DENIED",
    "message": "Access to this resource is forbidden by access policy."
  }
]

Règles de livraison

Pour appliquer des règles de remise aux réponses aux demandes de l'API Playback, config_id={DELIVERY_RULES_ID} ajoutez-y le.

Exemple

https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/6026822730001?config_id=9869b9f8-59a1-4490-a092-c28b6cf79764

Demande de vidéo avec SSAI

Même si vous n'utilisez PAS de lecteur Web Brightcove ou les kits SDK natifs Brightcove dans votre application, vous pouvez toujours utiliser l'insertion d'annonces côté serveur (SSAI) avec votre propre lecteur.

Obtenez une vidéo avec SSAI

Pour renvoyer une vidéo avec SSAI, ajoutez votre identifiant de configuration d'annonce en tant que paramètre d'URL à votre demande d'API de lecture. Avec cette demande, vous pouvez utiliser soit un identifiant vidéo, soit un identifiant de référence vidéo.

  1. Ajoutez votre ad_config_id à la fin de la requête de l'API Playback :

    Point final avec paramètre URL

    https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}?ad_config_id={ad_config_id}

    Exemple

    https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/5565662146001?ad_config_id=1234abcd
  2. Dans l'exemple de réponse ci-dessous, vous remarquerez les éléments suivants :

    • La réponse est similaire à celle si vous n'avez pas inclus d'ID de configuration d'annonce.
    • Les éléments de la sources le tableau contiendra une nouvelle propriété appelée vmap.
    • Si vous voulez savoir où se trouvent les publicités dans le contenu, vous pouvez lire le fichier VMAP lié dans le vmap biens.

    Exemple de réponse de l'API Playback

        {
          "description": "The story of a giant rabbit with a heart bigger than himself. ",
          "poster_sources": [
            {
              "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/3723496277001/dd5bd69c-e962-4a43-9dbd-94faaaba1785/main/1280x720/5m17s130ms/match/image.jpg"
            }
          ],
          "tags": [],
          "cue_points": [],
          "custom_fields": {},
          "account_id": "3723496277001",
          "sources": [
            {
              "ext_x_version": "4",
              "vmap": "https://ssaiplayback.prod.boltdns.net/playback/once/v1/vmap/hls/v4/clear/3723496277001/7a3316d9-1b06-4d62-bec8-3919b43fffbb/dd5bd69c-e962-4a43-9dbd-94faaaba1785/content.vmap?bc_token=NTllMTMxYjNfMTdkOTY2YThhNjU5MDk5ZTQ3NDBkNmUxOTYyOGRkNzM0ZjBiM2RjMGEwOThjOGFkYjk1MWQxMzFmNGYzMjA5YQ%3D%3D",
              "type": "application/x-mpegURL",
              "src": "https://ssaiplayback.prod.boltdns.net/playback/once/v1/hls/v4/clear/3723496277001/7a3316d9-1b06-4d62-bec8-3919b43fffbb/dd5bd69c-e962-4a43-9dbd-94faaaba1785/master.m3u8?bc_token=NTllMTMxYjNfZGM5ZDg0NGM2ZGJjZDcxZTFjOGYyODBlMzM2NmNmMmJkMWNhZDczNWViNzRiMjIwNjg5MjkzZGM0ZmJlMTc1Yw%3D%3D"
            },
            ...
          ],
          "created_at": "2017-05-15T17:09:11.171Z"
        }
  3. Copiez l'une des vmap URL et collez-la dans la barre de recherche du navigateur pour voir la réponse VMAP.
  4. La réponse VMAP contient une <bc:Brightcove balise avec un contenturi attribut. Il s'agit de l'URL à utiliser pour charger votre lecteur.

    Exemple de réponse VMAP

    Voici un exemple de réponse vmap :

    <vmap:VMAP xmlns:bc="bc" xmlns:vmap="https://www.iab.net/vmap-1.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" version="1.0">
            <vmap:Extensions>
              <bc:Brightcove ttl="3600" contenturi="https://ssaimanifest.prod.boltdns.net/us-east-1/playback/once/v1/hls/v4/clear/1752604059001/d6190656-2095-4ff3-8afe-1a0b60d67ed2/dca41ae8-d8f5-48a6-9853-564764d60b84/6830b2e4-3298-439d-beef-e04abef9f23c/content.m3u8?bc_token=NWZkMTE5NTlfZWQxNDAzNDRkNTAxNDRlMWEwODU3MTI1MzY2YjAyZWQ5YzlmZTkzY2UwMjM5NTM1MmI2NGRjZDNhNjE2ZDhlOA%3D%3D"
              contentlength="24.0574" payloadlength="50.1835" contenttype="application/x-mpegURL" />
              <bc:thumbnailURL type="thumbnail" width="480" height="270" bandwidth="0">https://ssai.playback.us-east-1.prod.deploys.brightcove.com/v1/thumbnail/1752604059001/dca41ae8-d8f5-48a6-9853-564764d60b84/low-res/6830b2e4-3298-439d-beef-e04abef9f23c/thumbnail.vtt?bc_token=NWZkMTE5NTlfMmVmODIzZDJjMGZkMDBjZjY1YWIxNDQ4Y2YyZmUxYTExNzg5YmIxZDI5ZTdkMjgyODBmMDBmYTViMTE2Yzc0MQ%3D%3D</bc:thumbnailURL>
            </vmap:Extensions>
            <vmap:AdBreak breakType="linear" breakId="PreRoll_0_0" timeOffset="start">
              <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="0">
                <vmap:VASTData>
                  <VAST xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
                    <Ad id="1">
                      <InLine>
                        <AdSystem>Test Ad Server</AdSystem>
                        <AdTitle>Portals</AdTitle>
                        <Description>Demo ad number 6</Description>
                        <Error></Error>
                        <Creatives>
                          <Creative>
                            <Linear>
                              <CreativeExtensions>
                                <CreativeExtension>
                                  <BrightcoveForeignKey>1</BrightcoveForeignKey>
                                </CreativeExtension>
                              </CreativeExtensions>
                              <Duration>00:00:05.9392</Duration>
                              <AdParameters>
                                <xml></xml>
                              </AdParameters>
                              <VideoClicks/>
                            </Linear>
                          </Creative>
                        </Creatives>
                        <Extensions>
                          <Extension>
                            <xml>data</xml>
                          </Extension>
                        </Extensions>
                      </InLine>
                    </Ad>
                  </VAST>
                </vmap:VASTData>
              </vmap:AdSource>
            </vmap:AdBreak>
            <vmap:AdBreak breakType="linear" breakId="MidRoll_5_0" timeOffset="00:00:04.8381">
              <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="1">
                <vmap:VASTData>
                  <VAST xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
                    <Ad id="2">
                      <InLine>
                        <AdSystem>Test Ad Server</AdSystem>
                        <AdTitle>Marketing</AdTitle>
                        <Description>Demo ad number 4</Description>
                        <Error></Error>
                        <Creatives>
                          <Creative>
                            <Linear skipoffset="00:00:05">
                              <CreativeExtensions>
                                <CreativeExtension>
                                  <BrightcoveForeignKey>2</BrightcoveForeignKey>
                                </CreativeExtension>
                              </CreativeExtensions>
                              <Duration>00:00:12.1788</Duration>
                              <AdParameters>
                                <xml></xml>
                              </AdParameters>
                              <VideoClicks/>
                            </Linear>
                          </Creative>
                        </Creatives>
                        <Extensions>
                          <Extension>
                            <xml>data</xml>
                          </Extension>
                        </Extensions>
                      </InLine>
                    </Ad>
                  </VAST>
                </vmap:VASTData>
              </vmap:AdSource>
            </vmap:AdBreak>
            <vmap:AdBreak breakType="linear" breakId="PostRoll_24_0" timeOffset="end">
              <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="2">
                <vmap:VASTData>
                  <VAST xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
                    <Ad id="3">
                      <InLine>
                        <AdSystem>Test Ad Server</AdSystem>
                        <AdTitle>Brand</AdTitle>
                        <Description>Demo ad number 1</Description>
                        <Error></Error>
                        <Creatives>
                          <Creative>
                            <Linear>
                              <CreativeExtensions>
                                <CreativeExtension>
                                  <BrightcoveForeignKey>3</BrightcoveForeignKey>
                                </CreativeExtension>
                              </CreativeExtensions>
                              <Duration>00:00:08.0080</Duration>
                              <AdParameters>
                                <xml></xml>
                              </AdParameters>
                              <VideoClicks/>
                            </Linear>
                          </Creative>
                        </Creatives>
                        <Extensions>
                          <Extension>
                            <xml>data</xml>
                          </Extension>
                        </Extensions>
                      </InLine>
                    </Ad>
                  </VAST>
                </vmap:VASTData>
              </vmap:AdSource>
            </vmap:AdBreak>
          </vmap:VMAP>

    Pour plus de détails, consultez le Implémentation de SSAI avec des lecteurs et SDK non-Brightcove document.

Configurez votre lecteur

Exiger ad_config_id

À l'aide de l'API Policy, vous pouvez créer une clé de stratégie qui vous oblige à inclure le ad_config_id Paramètre d'URL lors des requêtes à l'API Playback. Pour plus de détails sur la configuration de cette fonction, consultez le Référence de l'API de stratégie document.

Lorsque la clé de politique est définie pour nécessiter un ad_config_id et que vous ne l'ajoutez pas à une demande d'API Playback, vous obtenez l'erreur suivante :

[
  {
    "error_subcode": "AD_CONFIG",
    "error_code": "ACCESS_DENIED",
    "message": "Missing required ad_config_id parameter"
  }
]

Demandes de liste de lecture

Un objet vidéo de liste de lecture peut être récupéré à l'aide de l'identifiant de la liste de lecture ou de son identifiant de référence.

Les listes de lecture peuvent contenir jusqu'à 1 000 vidéos, mais par défaut, seules les 20 premières sont renvoyées. À l'aide des paramètres décrits ci-dessous, vous pouvez renvoyer jusqu'à 1 000 vidéos à la fois, ou utiliser une plus petite limit et utiliser le offset paramètre pour récupérer le groupe de vidéos que vous souhaitez, ou soumettre plusieurs demandes pour toutes les renvoyer.

Paramètres

Les paramètres d'URL suivants peuvent être utilisés pour les demandes de playlist

Paramètres de demande de liste de lecture
Paramètre Description
limite Le nombre de vidéos à renvoyer (par défaut = 20 ; maximum = 1000)
décalage nombre de vidéos à sauter (à partir du début de la playlist ; par défaut=0)

Par exemple, ces paramètres ont été ajoutés à votre demande - ? limit=100&offset=200 - renverrait les vidéos 201 à 300 dans la playlist (en supposant qu'il y en ait autant).

Obtenir la liste de lecture par identifiant

Point de terminaison

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/playlists/{playlist_id}

Exemple

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/playlists/38467382999

Exemple de réponse

{
  "account_id": "107767373999",
  "created_at": "2010-07-12T22:43:30.290Z",
  "description": null,
  "id": "111592530001",
  "name": "Play One",
  "reference_id": null,
  "type": "EXPLICIT",
  "updated_at": "2010-07-12T22:51:25.055Z",

  "videos": [
    {
      "description": "Avatar_MakingAScene_Featurette",
      "poster_sources": [
        {
          "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
        }
      ],
      "tags": [
        "copied"
      ],
      "cue_points": [
        {
          "id": "111637107001",
          "name": "Pre-roll",
          "type": "AD",
          "time": 0,
          "metadata": null,
          "force_stop": false
        }
      ],
      "custom_fields": {
        "moretext": "this is the first video uploaded",
        "mylist": "abc"
      },
      "account_id": "107767373999",
      "sources": [
        {
          "avg_bitrate": 379000,
          "width": 320,
          "duration": 595560,
          "size": 28196307,
          "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728840001",
          "container": "MP4",
          "height": 180,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 379000,
          "width": 320,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 28196307,
          "height": 180,
          "duration": 595560,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728840001"
        },
        {
          "avg_bitrate": 267000,
          "width": 320,
          "duration": 595560,
          "size": 19894997,
          "stream_name": "mp4:107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728852001",
          "container": "MP4",
          "height": 180,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 267000,
          "width": 320,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 19894997,
          "height": 180,
          "duration": 595560,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728852001"
        },
        {
          "avg_bitrate": 549000,
          "width": 480,
          "duration": 595567,
          "size": 40889436,
          "stream_name": "mp4:107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728860001",
          "container": "MP4",
          "height": 268,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 549000,
          "width": 480,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 40889436,
          "height": 268,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728860001"
        },
        {
          "avg_bitrate": 835000,
          "width": 640,
          "duration": 595567,
          "size": 62142992,
          "stream_name": "mp4:107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728865001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 835000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 62142992,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728865001"
        },
        {
          "avg_bitrate": 1744000,
          "width": 640,
          "duration": 595567,
          "size": 129836869,
          "stream_name": "mp4:107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111735357001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 1744000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 129836869,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111735357001"
        },
        {
          "avg_bitrate": 1249000,
          "width": 640,
          "duration": 595567,
          "size": 92994065,
          "stream_name": "mp4:107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111735369001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 1249000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 92994065,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111735369001"
        }
      ],
      "name": "Avatar_MakingAScene_Featurette",
      "reference_id": "AvatarMakingShort",
      "long_description": null,
      "duration": 595560,
      "published_at": "2010-07-12T22:37:34.760Z",
      "text_tracks": [],
      "updated_at": "2010-07-12T22:54:29.666Z",
      "thumbnail": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
      "poster": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
      "link": {
        "text": "Full Dvd at Amazon",
        "url": "https://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
      },
      "id": "38467382999",
      "ad_keys": null,
      "thumbnail_sources": [
        {
          "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
        }
      ],
      "created_at": "2010-07-12T22:37:34.760Z"
    }
  ],
}

Obtenir la liste de lecture par identifiant de référence

Point de terminaison

https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/playlists/ref:{reference_id}

Exemple

https://edge.api.brightcove.com/playback/v1/accounts/57838016001/playlists/ref:nature_2010-07-12

Exemple de réponse

{
  "account_id": "107767373999",
  "created_at": "2010-07-12T22:43:30.290Z",
  "description": null,
  "id": "111592530001",
  "name": "Play One",
  "reference_id": nature_2010-07-12,
  "type": "EXPLICIT",
  "updated_at": "2010-07-12T22:51:25.055Z",

  "videos": [
    {
      "description": "Avatar_MakingAScene_Featurette",
      "poster_sources": [
        {
          "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
        }
      ],
      "tags": [
        "copied"
      ],
      "cue_points": [
        {
          "id": "111637107001",
          "name": "Pre-roll",
          "type": "AD",
          "time": 0,
          "metadata": null,
          "force_stop": false
        }
      ],
      "custom_fields": {
        "moretext": "this is the first video uploaded",
        "mylist": "abc"
      },
      "account_id": "107767373999",
      "sources": [
        {
          "avg_bitrate": 379000,
          "width": 320,
          "duration": 595560,
          "size": 28196307,
          "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728840001",
          "container": "MP4",
          "height": 180,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 379000,
          "width": 320,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 28196307,
          "height": 180,
          "duration": 595560,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728840001"
        },
        {
          "avg_bitrate": 267000,
          "width": 320,
          "duration": 595560,
          "size": 19894997,
          "stream_name": "mp4:107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728852001",
          "container": "MP4",
          "height": 180,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 267000,
          "width": 320,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 19894997,
          "height": 180,
          "duration": 595560,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728852001"
        },
        {
          "avg_bitrate": 549000,
          "width": 480,
          "duration": 595567,
          "size": 40889436,
          "stream_name": "mp4:107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728860001",
          "container": "MP4",
          "height": 268,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 549000,
          "width": 480,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 40889436,
          "height": 268,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728860001"
        },
        {
          "avg_bitrate": 835000,
          "width": 640,
          "duration": 595567,
          "size": 62142992,
          "stream_name": "mp4:107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111728865001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 835000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 62142992,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111728865001"
        },
        {
          "avg_bitrate": 1744000,
          "width": 640,
          "duration": 595567,
          "size": 129836869,
          "stream_name": "mp4:107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111735357001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 1744000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 129836869,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111735357001"
        },
        {
          "avg_bitrate": 1249000,
          "width": 640,
          "duration": 595567,
          "size": 92994065,
          "stream_name": "mp4:107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
          "codec": "H264",
          "asset_id": "111735369001",
          "container": "MP4",
          "height": 360,
          "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
        },
        {
          "avg_bitrate": 1249000,
          "width": 640,
          "src": "https://uds.ak.o.brightcove.com/107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
          "size": 92994065,
          "height": 360,
          "duration": 595567,
          "container": "MP4",
          "codec": "H264",
          "asset_id": "111735369001"
        }
      ],
      "name": "Avatar_MakingAScene_Featurette",
      "reference_id": "AvatarMakingShort",
      "long_description": null,
      "duration": 595560,
      "published_at": "2010-07-12T22:37:34.760Z",
      "text_tracks": [],
      "updated_at": "2010-07-12T22:54:29.666Z",
      "thumbnail": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
      "poster": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
      "link": {
        "text": "Full Dvd at Amazon",
        "url": "https://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
      },
      "id": "38467382999",
      "ad_keys": null,
      "thumbnail_sources": [
        {
          "src": "https://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
        }
      ],
      "created_at": "2010-07-12T22:37:34.760Z"
    }
  ],
}

Légendes

Les sous-titres codés fournissent des informations supplémentaires sur votre vidéo aux personnes qui souhaitent y accéder. Les sous-titres sont nécessaires pour que les sourds et malentendants accèdent à la partie audio de vos vidéos. Si vous êtes novice en matière de sous-titres, consultez la vue d'ensemble : Ajouter des sous-titres à une vidéo document.

WebVTT externe

Les sous-titres WebVTT externes sont des fichiers texte distincts de la vidéo. Vous pouvez associer des fichiers de sous-titres à une vidéo comme suit :

Exemple de réponse

Vous trouverez ci-dessous un exemple de réponse de l'API de lecture où un fichier de sous-titres WebVTT a été ajouté à une vidéo à l'aide du module Média. Notez que la piste de texte src les propriétés pointent vers un fichier de sous-titres externe.

{
"text_tracks": [
{
  "mime_type": null,
  "account_id": "20318290001",
  "default": true,
  "sources": [
    {
      "src": "https://static.3playmedia.com/p/files/2240988/threeplay_transcripts/6418302.vtt?project_id=10127&format_id=51&refresh=1515241856"
    }
  ],
  "src": "https://static.3playmedia.com/p/files/2240988/threeplay_transcripts/6418302.vtt?project_id=10127&format_id=51&refresh=1515241856",
  "asset_id": null,
  "label": "English",
  "id": "13d66def-d004-4e75-b160-4ac693eff7d7",
  "kind": "captions",
  "srclang": "en"
}
],
}

WebVTT dans le manifeste

Les sous-titres WebVTT dans le manifeste sont ingérés avec vos vidéos. Cela peut être fait lorsque vous ingérez votre vidéo pour la première fois ou après que votre vidéo a été ingérée. Vous pouvez créer des sous-titres dans le manifeste comme suit :

Exemple de réponse

Vous trouverez ci-dessous un exemple de réponse de l'API de lecture dans laquelle un fichier de sous-titres WebVTT a été ajouté à une vidéo à l'aide du Dynamic Ingérer l'API. Notez que la piste de texte src les propriétés pointent vers des fichiers Brightcove internes.

{
"text_tracks": [
{
  "mime_type": "text/webvtt",
  "account_id": "1752604059001",
  "default": false,
  "sources": [
    {
      "src": "https://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173"
    },
    {
      "src": "https://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173"
    }
    ],
  "src": "https://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173",
  "asset_id": null,
  "label": "EN",
  "id": "92cb36a7-c836-4506-a87f-f649316c0cdf",
  "kind": "captions",
  "in_band_metadata_track_dispatch_type": "",
  "srclang": "en"
}
],
}

Manifeste

Le manifeste des fichiers vidéo HLS ou DASH contient également les informations nécessaires pour inclure les sous-titres WebVTT.

HLS
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-0",NAME="en (Main)",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/8b12c808-c5ea-47f3-abfa-c23b023db297/10s/rendition.m3u8?fastly_token=NWE3YjU3ZThfNzAwNTczOWM4MWQ4Mzk2NjFkYjVjYmFhYjQwNzY2MWUzM2MyNDM5ZDA5ZGExYTFkMzRmYzA0MDdhOTlmZWJhMw%3D%3D"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles-0",NAME="EN",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/rendition.m3u8?fastly_token=NWE3YjU3ZThfNDYzOThkZGJiZTU1NTlhOTdkYzA5OTA3M2UzZGRlYTgzMmRkZmUxMGIxYTJkY2Y5ZDQ1ODFiNTEyMmNiZDVhMw%3D%3D"
#EXT-X-STREAM-INF:PROGRAM-ID=0,BANDWIDTH=519200,CODECS="mp4a.40.2,avc1.420015",RESOLUTION=480x270,AUDIO="audio-0",CLOSED-CAPTIONS=NONE,SUBTITLES="subtitles-0"
https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/5f7850d9-9a65-4eee-8810-86a1e18e05fb/10s/rendition.m3u8?fastly_token=NWE3YjU3ZThfY2Q5YmE2ODc2OWFiNTgyZjUxMjc1MzRhNmQxMzA0ZmJmY2RlMGU4ZjBiNDExZGRmNjc3YjQ0OGQ5N2RiOTVmMA%3D%3D
TIRET
<AdaptationSet mimeType="text/vtt" lang="en">
<Representation bandwidth="256" id="92cb36a7-c836-4506-a87f-f649316c0cdf">
  <BaseURL>https://bcboltbde696aa-a.akamaihd.net/media/v1/dash/live/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf.vtt?akamai_token=exp=1518032494~acl=/media/v1/dash/live/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a*~hmac=3e2edc412c273f1255f2c18bbbcee7afc6a2edb74573f9295b0f05feda69f0e2</BaseURL>
</Representation>
</AdaptationSet>