Exigences
- Une application enregistrée avec des zones d'authentification de l'API Cloud Playout activées dans le cloud vidéo. (
Studio UI -> Admin -> API Authentication
)
Création d'un workflow CloudPlayoutChannelManager
Vous trouverez ci-dessous le workflow typique de gestion des canaux Cloud Playout :
- Créer une chaîne
- Ajouter des ressources et des événements en direct à la liste de lecture
- Activer la chaîne
- Démarrer la chaîne
- Arrêter la chaîne
- Supprimer la chaîne
En dehors de ceux-ci, Obtenir la chaîne est utile pour vérifier les informations et l'état de la chaîne.
Créer une chaîne
Pour créer un canal, nous avons besoin d'attributs obligatoires tels que le nom du canal, l'heure de début, le groupe d'entrée et de sortie, la région et live_profile. Les valeurs DateTime sont préférées au format de date ISO 8601 (UTC ou avec décalage horaire).
Demande d'échantillon
Requête
Faire un POST
demande à:
https://cm.cloudplayout.brightcove.com/accounts/{account_id}/cp_channels
Headers
Content-Type: application/json
Authorization: Bearer {token}
Corps de la demande - exemple général
{
"name": "channel name",
"start_time": "2021-06-29T08:30:50.344Z",
"input_group": [
{
"input_type": "playlist (or rtmp or slate)",
"input_id": "dummy",
"loop_on_completion": false
}
],
"live_profile": "your live profile",
"output_group": [
{
"type": "rtmp or rtp",
"ingest_locations": [
{
"pipeline_id": 1,
"location": "bc_live or any live channel from your account"
}
]
},
{
"type": "s3",
"ingest_locations": [
{
"pipeline_id": 1,
"location": "s3 credential id"
}
]
}
],
"region": "aws region"
}
Corps de la demande - exemple utilisant l'ardoise par défaut
{
"input_group": [
{
"input_type": "slate"
},
{
"input_type": "rtmp"
}
]
}
Corps de la demande - exemple d'utilisation d'une ardoise personnalisée
{
"input_group": [
{
"input_type": "slate",
"input_id": "slate_asset_id OR https_slate_mp4_url"
},
{
"input_type": "rtmp"
}
]
}
Exemple de réponse
{
"public_id": "79f0e7503fd64af3b7d2b0f825100f28",
"name": "channel name",
"description": "",
"account_id": "Your account id",
"state": "DRAFT",
"status": null,
"start_time": "2021-06-29 08:30:50 UTC",
"stop_time": null,
"input_groups": "playlist",
"output_groups": "rtmp:s3",
"loop_playlist": false,
"playlist_id": "1703814612527248093",
"channel_class": "single-pipeline",
"ssai_enabled": true,
"aws_region": "aws region",
"message": null,
"created_at": "2021-06-28 12:43:55 UTC",
"updated_at": "2021-06-28 12:43:55 UTC",
"image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
"output_destinations": [
"Brightcove Live"
],
"channel_created_at": "2021-06-28 12:43:55 UTC",
"channel_updated_at": "2021-06-28 12:43:55 UTC",
"channel_created_by": "username@brightcove.com",
"channel_updated_by": "username@brightcove.com"
}
En plus des champs obligatoires, il existe des champs qui peuvent être définis comme description
, stop_time
, ssai_enabled
, image_id
, mid_roll_import_enabled
, mid_roll_slot_time
, etc. Veuillez vous référer aux exemples de la Référence de l'API des canaux pour créer des canaux avec différentes configurations.
Canal avec redondance en direct
Création d'un groupe redondant Brightcove Live dans le module Live
Pour créer un groupe redondant en direct, voir Utilisation de la redondance en direct. Une fois les groupes redondants créés à l'aide du document ci-dessus, vous pouvez les utiliser dans Cloud Playout.
Critères d'éligibilité des groupes redondants
Pour pouvoir être utilisé comme destination de canal Cloud Playout, le groupe redondant doit répondre aux critères suivants :
- Le groupe redondant doit contenir exactement 2 emplois actifs.
- Les deux travaux en direct du groupe redondant doivent être de type point d'entrée statique .
- Le groupe redondant (et les travaux qu'il contient) doit être en état de veille .
- Si le canal Cloud Playout est compatible SSAI, le groupe redondant doit également être compatible SSAI avec le protocole RTP-FEC .
Obtention de groupes redondants Brightcove Live disponibles
Pour récupérer la liste des groupes redondants Brightcove Live disponibles sur votre compte, envoyez une GET
demande à :
https://cm.cloudplayout.brightcove.com/accounts/{account_id}/bc_channels?redundancy=true
Pour limiter les résultats aux groupes redondants activés pour SSAI, ajoutez le ssai=true
paramètre suivant :
https://cm.cloudplayout.brightcove.com/accounts/{account_id}/bc_channels?redundancy=true&ssai=true
Création d'un canal avec redondance en direct
Vous pouvez créer un canal compatible avec la redondance Brightcove Live à l'aide du output_group
champ du corps de la demande,
Exemple de corps de requête
{
"name": "channel name",
"start_time": "2021-06-29T08:30:50.344Z",
"input_group": [
{
"input_type": "playlist or rtmp or slate",
"input_id": "dummy",
"loop_on_completion": false
}
],
"live_profile": "your live profile",
"output_group": [
{
"type": "rtmp or rtp",
"ingest_locations": [
{
"pipeline_id": 1,
"redundancy": true,
"location": "bc_live/{EXISTING_BC_REDUNDANT_GROUP_ID}"
}
]
}
],
"region": "aws region"
}
Exemple de réponse
{
"public_id": "79f0e7503fd64af3b7d2b0f825100f28",
"name": "channel name",
"description": "",
"account_id": "Your account id",
"state": "DRAFT",
"status": null,
"start_time": "2021-06-29 08:30:50 UTC",
"stop_time": null,
"input_groups": "playlist",
"output_groups": "rtmp",
"loop_playlist": false,
"playlist_id": "1703814612527248093",
"channel_class": "single-pipeline",
"ssai_enabled": true,
"aws_region": "aws region",
"message": null,
"created_at": "2021-06-28 12:43:55 UTC",
"updated_at": "2021-06-28 12:43:55 UTC",
"image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
"output_destinations": [
"Brightcove Live with Redundancy"
],
"channel_created_at": "2021-06-28 12:43:55 UTC",
"channel_updated_at": "2021-06-28 12:43:55 UTC",
"channel_created_by": "username@brightcove.com",
"channel_updated_by": "username@brightcove.com"
}
Mise à jour d'un canal pour activer ou désactiver la redondance en direct
Vous pouvez également activer ou désactiver la redondance pour un canal existant. La clé est le redundancy
drapeau dans l' ingest_locations
objet. Pour activer la redondance, vous devez la définir sur true
, tandis que pour désactiver la redondance pour le canal, vous pouvez la définir false
ou l'omettre complètement, car il s' false
agit de la valeur par défaut.
Exemple de corps de requête
Activer la redondance
{
"output_group": [
{
"type": "rtmp or rtp",
"ingest_locations": [
{
"pipeline_id": 1,
"redundancy": true,
"location": "bc_live/{EXISTING_BC_REDUNDANT_GROUP_ID}"
}
]
}
]
}
Désactiver la redondance
{
"output_group": [
{
"type": "rtmp or rtp",
"ingest_locations": [
{
"pipeline_id": 1,
"location": "bc_live/{EXISTING_BC_REDUNDANT_GROUP_ID}"
}
]
}
]
}
Notez ce qui manque redundancy
ci-dessus. Ou bien :
{
"output_group": [
{
"type": "rtmp or rtp",
"ingest_locations": [
{
"pipeline_id": 1,
"redundancy": false,
"location": "bc_live/{EXISTING_BC_REDUNDANT_GROUP_ID}"
}
]
}
]
}
Obtenir des informations sur les chaînes
Pour obtenir les détails de la chaîne et vérifier qu'elle utilise la redondance, envoyez une GET
demande à :
https://cm.cloudplayout.brightcove.com/accounts/{account_id}/cp_channels/{channel_id}
Exemple de réponse (à l'état de projet)
{
"public_id": "a7a58da9794a484a90a60c6c9b3a04a2",
"name": "redundancy",
"description": "test_cloudplayout_roebuck",
"account_id": "70701684277202",
"state": "DRAFT",
"status": "",
"start_time": "2022-02-17 12:53:48 UTC",
"stop_time": null,
"input_groups": "playlist",
"output_groups": "rtmp",
"loop_playlist": false,
"playlist_id": "1725014456212124545",
"channel_class": "single-pipeline",
"ssai_enabled": null,
"aws_region": "us-east-1",
"message": "",
"created_at": "2022-02-17 12:46:22 UTC",
"updated_at": "2022-02-17 13:01:55 UTC",
"image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
"output_destinations": [
"Brightcove Live with Redundancy"
],
"channel_created_at": "2022-02-17 12:46:22 UTC",
"channel_updated_at": "2022-02-17 12:46:22 UTC",
"channel_created_by": "user@brightcove.com",
"channel_updated_by": "user@brightcove.com",
"import_captions_enabled": true,
"live_profile": {
"display_name": "Premium Live HD 1080p - Tier 2",
"name": "premium-live-hd-1080p-tier-2",
"date_created": "2018-06-04 18:16:44 UTC",
"date_modified": "2018-06-04 18:16:44 UTC"
},
"channel_data": {
"input_group": [
{
"input_type": "playlist",
"value": "redundancy_testing_local",
"description": "cloudplayout",
"public_id": "1725014456212124545"
}
],
"output_groups": [
{
"type": "rtmp",
"redundancy": true,
"location": "bc_live/${Existing redundant group id}",
"destination": "Brightcove Live with Redundancy"
}
]
}
}
Exemple de réponse (état programmé)
Notez les multiples destinations à la fois dans channel_data
et dans outputs
:
{
"public_id": "e2d38b8304c84601b27630ae05b764b8",
"name": "redundancy",
"description": "test_cloudplayout_roebuck",
"account_id": "70701684277202",
"state": "SCHEDULED",
"status": "Scheduled for start",
"start_time": "2022-02-10 05:57:10 UTC",
"stop_time": null,
"input_groups": "playlist",
"output_groups": "rtmp",
"loop_playlist": false,
"playlist_id": "1724281533777310596",
"channel_class": "single-pipeline",
"ssai_enabled": null,
"aws_region": "us-east-1",
"message": "",
"created_at": "2022-02-09 10:36:51 UTC",
"updated_at": "2022-02-09 10:49:03 UTC",
"image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
"output_destinations": [
"Brightcove Live with Redundancy"
],
"channel_created_at": "2022-02-09 10:36:51 UTC",
"channel_updated_at": "2022-02-09 10:36:51 UTC",
"channel_created_by": "Created by API",
"channel_updated_by": "Updated by API",
"import_captions_enabled": true,
"live_profile": {
"display_name": "Premium Live HD 1080p - Tier 2",
"name": "premium-live-hd-1080p-tier-2",
"date_created": "2018-06-04 18:16:44 UTC",
"date_modified": "2018-06-04 18:16:44 UTC"
},
"channel_data": {
"destinations": [
{
"id": "dest-rtmp-0",
"url": "rtmp://d42f9b597f9f4cff90f3d48ddc665a02.sep-qa.a-live.io:1935/d42f9b597f9f4cff90f3d48ddc665a02",
"stream_name": "alive"
},
{
"id": "dest-rtmp-1",
"url": "rtmp://2f84603cc5bf45babfc92e58f444eb0b.sep-qa.a-live.io:1935/2f84603cc5bf45babfc92e58f444eb0b",
"stream_name": "alive"
},
{
"id": "framecapture",
"url": "s3://cloudplayout-preview/framecapture/e2d38b8304c84601b27630ae05b764b8/image",
"stream_name": null
}
],
"input_specification": {
"codec": "AVC",
"maximum_bitrate": "MAX_20_MBPS",
"resolution": "HD"
},
"output_groups": [
{
"type": "preview",
"destination_url": "s3://cloudplayout-preview/framecapture/e2d38b8304c84601b27630ae05b764b8/image",
"encoder_settings": [
{
"width": 640,
"height": 360,
"capture_interval": 5,
"capture_interval_units": "SECONDS"
}
]
},
{
"type": "rtmp",
"location_id": "374d4846292042af82c4c573e58bba39",
"location": "redundancy_testing_local_group",
"destination": "Brightcove Live with Redundancy",
"playback_url": "https://playback-qa.a-live.io/r374d4846292042af82c4c573e58bba39/us-east-1/NA/playlist.m3u8",
"playback_url_dvr": "https://playback-qa.a-live.io/r374d4846292042af82c4c573e58bba39/us-east-1/NA/playlist_dvr.m3u8",
"outputs": [
{
"destination_url": "rtmp://d42f9b597f9f4cff90f3d48ddc665a02.sep-qa.a-live.io:1935/d42f9b597f9f4cff90f3d48ddc665a02/alive",
"location_id": "d42f9b597f9f4cff90f3d48ddc665a02",
"location": "redundancy_testing_local_2",
"encoder_settings": [
{
"width": 1920,
"height": 1080,
"bitrate": 4000000,
"gop_size": 60.0,
"gop_size_units": "FRAMES",
"profile": "HIGH",
"level": "H264_LEVEL_AUTO",
"scan_type": "PROGRESSIVE",
"framerate_control": "SPECIFIED"
}
],
"stream_url": "rtmp://d42f9b597f9f4cff90f3d48ddc665a02.sep-qa.a-live.io:1935/d42f9b597f9f4cff90f3d48ddc665a02/alive",
"static": true,
"playback_url": "https://playback-qa.a-live.io/d42f9b597f9f4cff90f3d48ddc665a02/us-west-2/NA/playlist.m3u8",
"playback_url_dvr": "https://playback-qa.a-live.io/d42f9b597f9f4cff90f3d48ddc665a02/us-west-2/NA/playlist_dvr.m3u8"
},
{
"destination_url": "rtmp://2f84603cc5bf45babfc92e58f444eb0b.sep-qa.a-live.io:1935/2f84603cc5bf45babfc92e58f444eb0b/alive",
"location_id": "2f84603cc5bf45babfc92e58f444eb0b",
"location": "redundancy_testing_local_1",
"encoder_settings": [
{
"width": 1920,
"height": 1080,
"bitrate": 4000000,
"gop_size": 60.0,
"gop_size_units": "FRAMES",
"profile": "HIGH",
"level": "H264_LEVEL_AUTO",
"scan_type": "PROGRESSIVE",
"framerate_control": "SPECIFIED"
}
],
"stream_url": "rtmp://2f84603cc5bf45babfc92e58f444eb0b.sep-qa.a-live.io:1935/2f84603cc5bf45babfc92e58f444eb0b/alive",
"static": true,
"playback_url": "https://playback-qa.a-live.io/2f84603cc5bf45babfc92e58f444eb0b/us-east-1/NA/playlist.m3u8",
"playback_url_dvr": "https://playback-qa.a-live.io/2f84603cc5bf45babfc92e58f444eb0b/us-east-1/NA/playlist_dvr.m3u8"
}
]
}
],
"input_group": [
{
"input_type": "playlist",
"value": "redundancy_testing_local_cc",
"description": "cloudplayout",
"public_id": "1724281533777310596"
}
]
}
}
Activation d'un canal pour le SSAI
Pour activer une chaîne pour le SSAI (insertion d'annonces côté serveur), incluez ssai_enabled: true
dans le corps de la demande lorsque vous avez créé la chaîne. Si le SSAI est activé pour votre compte, il peut être utilisé pour les chaînes qui incluent du contenu VOD et/ou Live streaming.
Ajouter du contenu à la liste de lecture
L'étape suivante consiste à ajouter du contenu au contenu de la chaîne. Pour cela, vous utiliserez le API CMS (notez qu'il s'agit d'une version abrégée de l'ensemble Référence de l'API CMS comprenant uniquement les opérations relatives à Cloud Playout et avec des descriptions plus appropriées à Cloud Playout).
Obtenez le playlist_id de la chaîne (à partir de la réponse à la demande de création de chaîne ou à partir d'une demande d'obtention de chaîne). Il s'agit de la playlist dans laquelle nous gérons nos actifs pour notre chaîne Cloud Playout.
Demande d'échantillon
Requête
Une demande de mise à jour vidéo est utilisée pour ajouter du contenu. Dans l'exemple ci-dessous, une collection d'identifiants vidéo est ajoutée pour créer une liste de lecture manuelle, mais notez que vous pouvez également créer des listes de lecture intelligentes basées sur des balises vidéo, etc.
Faire un PATCH
demande à:
https://cms.api.brightcove.com/v1/accounts/{account_id}/playlists/{playlist_id}
Headers
Content-Type: application/json
Authorization: Bearer {token}
Corps de la demande
{
"video_ids": [
"70702887566202",
"70702887586202",
"70702260704202",
"70702260706202"
]
}
Exemple de réponse
{
"id": "1701632459864392160",
"account_id": "Your account id",
"created_at": "2021-06-04T10:39:32.934Z",
"updated_at": "2021-06-04T12:29:06.793Z",
"description": "cloudplayout",
"favorite": false,
"name": "cloudplayout_dvfdb",
"reference_id": null,
"type": "EXPLICIT",
"video_ids": [
"70702887566202",
"70702887586202",
"70702260704202",
"70702260706202"
],
"state": "READY"
}
Ajouter un événement en direct
Pour ajouter un événement en direct à une chaîne, vous créer une vidéo demande à l'API CMS, en prenant soin d'inclure des balises spéciales qui l'identifieront comme un événement en direct Cloud Playout.
Demande d'échantillon
Requête
Faire un POST
demande à:
https://cms.api.brightcove.com/v1/accounts/{account_id}/videos
Headers
Content-Type: application/json
Authorization: Bearer {token}
Corps de la demande
{
"name": "Name of the event",
"tags": [
"cp-live-placeholder",
"duration-00:40:00"
]
,
"description": "Description of the event"
}
Exemple de réponse
{
"id": "70702834583294",
"account_id": "Your account id",
"ad_keys": null,
"clip_source_video_id": null,
"complete": false,
"created_at": "2021-06-04T11:00:48.551Z",
"created_by": {
"type": "user",
"id": "76072843583",
"email": "username@brightcove.com"
},
"cue_points": [
],
"custom_fields": {
},
"delivery_type": "unknown",
"description": "test description",
"digital_master_id": null,
"duration": null,
"economics": "AD_SUPPORTED",
"folder_id": null,
"geo": null,
"has_digital_master": false,
"images": {
},
"link": null,
"long_description": null,
"name": "test live event",
"original_filename": null,
"projection": null,
"published_at": "2021-06-04T11:00:48.565Z",
"reference_id": null,
"schedule": null,
"sharing": null,
"state": "ACTIVE",
"tags": [
"cp-live-placeholder",
"duration-00:05:00"
],
"text_tracks": [
],
"updated_at": "2021-06-04T11:00:48.572Z",
"updated_by": {
"type": "user",
"id": "76076294383",
"email": "username@brightcove.com"
},
"playback_rights_id": "primary"
}
Veuillez vous référer au Référence de l'API CMS pour Cloud Playout pour plus d'exemples liés à la gestion des ressources dans Cloud Playout.
Ajouter/gérer des superpositions
Cloud Playout prend en charge deux types de superpositions :
Pour chaque type, la procédure est la suivante :
-
Créer une ressource de superposition
Vous devrez fournir une URL publique pour l'image statique ou dynamique. Assurez-vous d'indiquer s'il
"type": "dynamic"
s'agit d'une superposition dynamique. - Associer la superposition à un canal. Notez qu'il existe des points d'extrémité distincts pour l'association des superpositions statiques et dynamiques :
Ajouter/gérer des ardoises personnalisées
Les slates sont utilisés pour combler les temps morts dans la lecture de la chaîne qui pourraient résulter d'un contenu publicitaire ne remplissant pas complètement la durée d'une coupure publicitaire ou pour combler le temps lorsqu'une heure de démarrage brutale est définie. Brightcove fournit une ardoise par défaut qui peut être utilisée pour n'importe quel canal, mais vous pouvez fournir une ardoise par défaut sous la forme d'une vidéo MP4 qui sera automatiquement mise en boucle si nécessaire.
Une ardoise personnalisée peut être ajoutée en tant qu'actif (ce qui la rend réutilisable pour n'importe quel canal) ou spécifiée en tant qu'URL lors de la création du canal (voir l' exemple de corps de requête ci-dessus).
Voir la référence API pour plus de détails sur l'ajout d'une ardoise personnalisée en tant qu'actif du compte.
Obtenir la chaîne
Nous pouvons utiliser ce point de terminaison pour vérifier les détails et l'état du canal.
Demande d'échantillon
Requête
Faire un GET
demande à:
https://cm.cloudplayout.brightcove.com/accounts/{account_id}/cp_channels/{channel_id}
Headers
Content-Type: application/json
Authorization: Bearer {token}
Exemple de réponse
{
"public_id": "channel id",
"name": "channel name",
"description": "Channel created for testing Cloud Playout",
"account_id": "Your account id",
"state": "DRAFT",
"status": null,
"start_time": "2020-12-17 06:00:00 UTC",
"stop_time": "2020-12-17 07:00:00 UTC",
"input_groups": "playlist",
"output_groups": "rtmp",
"loop_playlist": true,
"playlist_id": "1686204667297382886",
"channel_class": "single-pipeline",
"ssai_enabled": false,
"aws_region": "us-east-1",
"message": null,
"created_at": "2020-12-16 03:41:22 UTC",
"updated_at": "2020-12-17 04:53:30 UTC",
"image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
"output_destinations": [
"Brightcove Live"
],
"channel_created_at": "2020-12-16 03:41:22 UTC",
"channel_updated_at": "2020-12-17 04:53:30 UTC",
"channel_created_by": "username@brightcove.com",
"channel_updated_by": "username@brightcove.com",
"live_profile": {
"display_name": "Standard Live HD 720p - Tier 1",
"name": "standard-live-hd-720p-tier-1",
"date_created": "2018-06-04 18:16:44 UTC",
"date_modified": "2018-06-04 18:16:44 UTC"
},
"channel_data": {
"input_group": [
{
"input_type": "playlist",
"value": "cloudplayout_testChannel",
"description": "Playlist created for Cloud Playout",
"public_id": "1686204667297382886"
}
],
"output_groups": [
{
"type": "rtmp",
"location": "bc_live",
"destination": "Brightcove Live"
}
]
}
}
Activer une chaîne
Activez un canal en faisant la demande ci-dessous. Aucun corps de requête n'est requis.
Demande d'échantillon
Requête
Faire un POST
demande à:
https://cm.cloudplayout.brightcove.com/accounts/{account_id}/cp_channels/{channel_id}/create
Headers
Content-Type: application/json
Authorization: Bearer {token}
Exemple de réponse
{
"message":"Channel activation initiated"
}
Pour vérifier l'état du canal, voir Obtenir la section Chaîne dessus.
Démarrer une chaîne
Démarrez une chaîne en faisant la demande ci-dessous. Aucun corps de requête n'est requis.
Demande d'échantillon
Requête
Faire un POST
demande à:
https://cm.cloudplayout.brightcove.com/accounts/{account_id}/cp_channels/{channel_id}/start
Headers
Content-Type: application/json
Authorization: Bearer {token}
Exemple de réponse
{
"message":"Channel start initiated"
}
Pour vérifier l'état du canal, voir Obtenir la section Chaîne dessus.
Arrêter une chaîne
Arrêtez une chaîne en faisant la demande ci-dessous. Aucun corps de requête n'est requis.
Demande d'échantillon
Requête
Faire un POST
demande à:
https://cm.cloudplayout.brightcove.com/accounts/{account_id}/cp_channels/{channel_id}/stop
Headers
Content-Type: application/json
Authorization: Bearer {token}
Exemple de réponse
{
"message":"Channel stop initiated"
}
Pour vérifier l'état du canal, voir Obtenir la section Chaîne dessus. Une fois arrêté, le canal sera à l'état DRAFT.
Supprimer une chaîne
Supprimez une chaîne en faisant la demande ci-dessous. Aucun corps de requête n'est requis.
Demande d'échantillon
Requête
Faire un DELETE
demande à:
https://cm.cloudplayout.brightcove.com/accounts/{account_id}/cp_channels/{channel_id}
Headers
Content-Type: application/json
Authorization: Bearer {token}
Exemple de réponse
{
"message":"Delete initiated"
}
Pour vérifier l'état du canal, voir Obtenir la section Chaîne dessus. Une fois la chaîne supprimée, vous ne devriez plus voir les informations sur la chaîne de la demande d'obtention de chaîne par identifiant.
Obtenir un journal de bord
Un journal d'exécution fournit un enregistrement du contenu (y compris les publicités et les intercalaires) qui a été effectivement transmis par un canal de diffusion dans le nuage au cours de la journée précédente. Les journaux d'exécution sont utiles à des fins d'audit et d'archivage.
Vous pouvez récupérer le journal d'exécution d'une chaîne au format JSON, XML ou CSV en envoyant une GET
demande à :
https://cm.cloudplayout.brightcove.com/accounts/{account_id}/cp_channels/{channel_id}/as_run_logs?format={format}
La valeur de format
doit être json
(par défaut) xml
, ou csv
Remarques
- Le journal est construit indépendamment de l'état actuel du canal.
- Le journal fournit l'enregistrement du jour précédent (24 heures). Par exemple. Si la date actuelle est
2021-09-22 05:30:00 UTC
, la journalisation en cours fournit les données de lecture de la chaîne de2021-09-21 00:00:00 UTC
à2021-09-22 00:00:00 UTC
. -
Un actif dans lequel un mid-roll est joué est divisé et présenté dans les données comme suit :
- Actif VOD
- Actif en milieu de défilement (joué, par exemple, à la 45e seconde)
- Actif VOD avec
playhead_start_time = 00:00:45
, position à partir de laquelle il continue.
Exemple de protocole : JSON
{
"account_id": "Account ID",
"channel_id": "62713ed768434ffbac9ce2ff974c9cb9",
"channel_name": "TestChannelName",
"from": "Query start time (UTC)",
"to": "Query end time (UTC)",
"events": [
{
"name": "Video Cloud Asset name",
"id": "Video cloud video ID",
"type": "LIVE | AD | VIDEO | PRE_ROLL_BUMPER | POST_ROLL_BUMPER | MIDROLL",
"start_time": "2021-07-30 00:00:00.0 UTC",
"end_time": "2021-07-30 01:00:00.0 UTC"
},
{
"name": "AD Placeholder",
"id": "Video cloud video ID",
"type": "AD",
"start_time": "2021-07-30 01:00:00.0 UTC",
"end_time": "2021-07-30 01:05:00.0 UTC"
},
{
"name": "Asset with a Midroll AD",
"id": "6246656690001",
"type": "VIDEO",
"start_time": "2021-07-30 01:05:00.0 UTC",
"end_time": "2021-07-30 01:10:00.0 UTC"
},
{
"name": "Asset with a Midroll AD",
"id": "6246656690001",
"type": "MIDROLL",
"start_time": "2021-07-30 01:10:00.0 UTC",
"end_time": "2021-07-30 01:10:30.0 UTC"
},
{
"name": "Asset with a Midroll AD",
"id": "6246656690001",
"type": "VIDEO",
"start_time": "2021-07-30 01:10:30.0 UTC",
"end_time": "2021-07-30 01:20:00.0 UTC",
"playhead_start_time": "00:05:00"
}
]
}
Exemple de protocole : XML
Account ID
62713ed768434ffbac9ce2ff974c9cb9
TestChannelName
Query start time (UTC)
Query end time (UTC)
Video Cloud Asset name
Video cloud video ID
LIVE | AD | VIDEO | PRE_ROLL_BUMPER | POST_ROLL_BUMPER | MIDROLL
2021-07-30 00:00:00.0 UTC
2021-07-30 01:00:00.0 UTC
AD Placeholder
Video cloud video ID
AD
2021-07-30 01:00:00.0 UTC
2021-07-30 01:05:00.0 UTC
Asset with a Midroll AD
6246656690001
VIDEO
2021-07-30 01:05:00.0 UTC
2021-07-30 01:10:00.0 UTC
Asset with a Midroll AD
6246656690001
MIDROLL
2021-07-30 01:10:00.0 UTC
2021-07-30 01:10:30.0 UTC
Asset with a Midroll AD
6246656690001
VIDEO
2021-07-30 01:10:30.0 UTC
2021-07-30 01:20:00.0 UTC
00:05:00
Réponse de l'échantillon : CSV
account_id, channel_id, channel_name, from, to, event:name, event:id, event:type, event:start_time, event:end_time, event:playhead_start_time