Introduction
Vous pouvez ingérer deux catégories d'images :
- Affiches et vignettes principales/par défaut, qui sont définies dans le corps de la demande en tant qu'
poster
thumbnail
objets (les détails des champs et de la syntaxe se trouvent ci-dessous) - Images variantes multilingues, définies dans un
images
tableau d'objets (les détails des champs et de la syntaxe se trouvent ci-dessous)
Les images variantes multilingues peuvent être de six types :
- affiche
- L'image de l'affiche s'affiche dans Brightcove Player avant que l'utilisateur ne lise la vidéo. Il s'agit généralement d'une image capturée à partir de la vidéo, mais ce n'est pas obligatoire.
- la vignette
- L'image miniature s'affiche dans les listes de lecture, les écrans de fin, etc. Il s'agit généralement d'une image capturée à partir de la vidéo, mais ce n'est pas obligatoire.
- portrait
- Une image généralement utilisée comme affiche en mode portrait sur les téléphones et autres appareils. Requis pour Balise de Brightcove. Les détails de la spécification sont dans le table au dessous de.
- carré
- Une image utilisée généralement comme logo de chaîne ou dans les affichages de grille. Requis pour Balise de Brightcove. Les détails de la spécification sont dans le table au dessous de.
- large
- Une image généralement utilisée comme affiche en mode paysage sur les téléphones et autres appareils. Requis pour Balise de Brightcove. Les détails de la spécification sont dans le table au dessous de.
- ultra-large
- Une image généralement utilisée comme affiche sur des écrans ultra-larges tels que des téléviseurs. Requis pour Balise de Brightcove. Les détails de la spécification sont dans le table au dessous de.
Caractéristiques
Les tableaux ci-dessous fournissent des spécifications pour les images.
Type | Format | Rapport d'aspect (L/H) | Largeur minimale (pixels) |
---|---|---|---|
Affiche | png ou jpg | 16:9 ou 4:3 | 640 |
La vignette | png ou jpg | 16:9 ou 4:3 | 160 |
Type | Format | Rapport d'aspect (L/H) | Largeur minimale (pixels) |
---|---|---|---|
affiche | jpg ou png | match vidéo | aucun |
la vignette | jpg ou png | match vidéo | aucun |
portrait | jpg ou png | 0,6667 (2x3) | 500 |
carré | jpg ou png | 1,0 (1x1) | 500 |
large | jpg ou png | 1.7778 (16x9) | 2000 |
ultra-large | jpg ou png | 2.3333 21x9 | 2000 |
Il existe deux manières différentes d'ajouter des affiches principales et des vignettes à vos vidéos à l'aide de l'API Dynamic Ingest :
- Capturer des images au milieu de la vidéo pendant le transcodage (actuellement cela s'applique à
poster
etthumbnail
images. D'autres types doivent être ingérés). La capture d'images pour l'affiche principale et la vignette peut être utilisée avec les images ingérées pour les variantes multilingues. - Ingérez vos propres images, soit en même temps que vous ingérez la vidéo, soit séparément. Notez que si vous ingérez des images après avoir ingéré la vidéo, vous devez attendre la fin du traitement vidéo avant d'ingérer les images.
Configuration
La configuration des requêtes d'ingestion dynamique est la même, que vous ingérez une vidéo, des images, un fichier WebVTT ou tous :
- URL de demande
-
https://ingest.api.brightcove.com/v1/accounts/{account_id}/videos/{video_id}/ingest-requests
- Authentification
- L'authentification nécessite un jeton d'accès transmis en tant que
Bearer
jeton dans unAuthorization
entête:Authorization: Bearer {access_token}
Remarque sur S3
Si vos images seront extraites d'un compartiment S3 protégé, vous devrez définir une stratégie de compartiment pour permettre à Video Cloud d'accéder aux fichiers. Voir Utilisation de l'ingestion dynamique avec S3 pour les détails.
Variantes multilingues
Vous pouvez fournir différentes versions d'images à utiliser pour différentes langues. Ceci est géré par Balise de Brightcove pour les applications Brightcove Beacon. La mise en œuvre générale dans Brightcove Player nécessite actuellement un développement personnalisé.
La langue d'une image est spécifiée dans le language
propriété détaillée dans la section suivante.
Ingérer des images
Voici les détails de l'ajout d'images personnalisées pour votre vidéo.
Champs d'image dans le corps de la requête
Comme indiqué ci-dessus, les affiches principales et les images miniatures sont spécifiées en tant qu'objets de niveau supérieur dans le corps de la demande. Les images variantes multilingues dans le corps de la demande d'ingestion sont spécifiées sous la forme d'un tableau d'objets. Les propriétés de l'objet sont détaillées dans les tableaux suivants.
Propriété | Description | Type | Obligatoire | Exemple |
---|---|---|---|---|
url |
URL publique où l'image peut être récupérée | Chaîne | https://some.site.com/images/celtic-lullaby-large.png |
|
width |
Largeur de l'image en pixels | Numéro | 1920 | |
Height |
Hauteur de l'image en pixels | Numéro | 1080 |
Propriété | Description | Type | Obligatoire | Exemple |
---|---|---|---|---|
url |
Une URL à partir de laquelle Video Cloud peut récupérer l'image | chaîne | https://mysite.com/videos/video123/images/poster.png |
|
language |
Code de langue de l'image à partir des balises secondaires dans https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry (la valeur par défaut peut être définie pour le compte en contactant le support Brightcove) ; si elle n'est pas incluse, la langue par défaut du compte sera utilisée. | chaîne |
|
|
variant |
Le type de cette image : poster | thumbnail | portrait | square | wide | ultra-wide |
chaîne | wide |
|
height |
numéro | 2160 |
||
width |
numéro | 3840 |
Exemple de corps de requête
L'exemple de corps de demande ci-dessous comprend uniquement les champs d'image. D'autres champs d'ingestion peuvent également être inclus.
{
"poster": {
"url": "https://some.site.com/images/celtic-lullaby-large.png",
"width": 1400,
"height": 1400
},
"thumbnail": {
"url": "https://some.site.com/images/celtic-lullaby-large.png",
"width": 160,
"height": 90
},
"images":[
{
"url":"https://apis.support.brightcove.com/assets/images/dynamic-ingest/test-images/poster.jpg",
"variant": "poster",
"height": 1080,
"width": 1920
},
{
"url":"https://apis.support.brightcove.com/assets/images/dynamic-ingest/test-images/thumbnail.jpg",
"variant": "thumbnail",
"height": 108,
"width": 292
},
{
"url":"https://apis.support.brightcove.com/assets/images/dynamic-ingest/test-images/square.jpg",
"language": "de",
"variant": "square",
"height": 570,
"width": 570
},
{
"url":"https://apis.support.brightcove.com/assets/images/dynamic-ingest/test-images/wide.jpg",
"language": "fr",
"variant": "wide",
"height": 1440,
"width": 2560
},
{
"url":"https://apis.support.brightcove.com/assets/images/dynamic-ingest/test-images/portrait.jpg",
"language": "es",
"variant": "portrait",
"height": 1200,
"width": 800
},
{
"url":"https://apis.support.brightcove.com/assets/images/dynamic-ingest/test-images/ultra-wide.jpg",
"language": "hi",
"variant": "ultra-wide",
"height": 1646,
"width": 3840
}
]
}
Exemple de réponse
Vous trouverez ci-dessous une réponse à un API CMS Demande d'obtention d'images vidéo. Voir Récupération des données d'image au dessous de.
{
"thumbnail.en": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/5b593403-01a7-4a18-978e-cad13647cf99/292x108/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/5b593403-01a7-4a18-978e-cad13647cf99/292x108/match/image.jpg",
"height": 108,
"width": 292
}
]
},
"ultra-wide.en": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/48900952-8e0e-4fc6-bd4f-116809195ab7/2000x857/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/48900952-8e0e-4fc6-bd4f-116809195ab7/2000x857/match/image.jpg",
"height": 857,
"width": 2000
}
]
},
"wide.en": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/111fafb1-d754-49a9-9fc7-04a5637bb3d0/2000x1125/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/111fafb1-d754-49a9-9fc7-04a5637bb3d0/2000x1125/match/image.jpg",
"height": 1125,
"width": 2000
}
]
},
"portrait.en": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/d6c605ed-11db-45a1-a7a9-beeb7b4ead1d/500x750/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/d6c605ed-11db-45a1-a7a9-beeb7b4ead1d/500x750/match/image.jpg",
"height": 750,
"width": 500
}
]
},
"poster.en": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/35d3f294-b62e-46e5-874e-c0c85846d80a/1920x1080/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/35d3f294-b62e-46e5-874e-c0c85846d80a/1920x1080/match/image.jpg",
"height": 1080,
"width": 1920
}
]
},
"square.en": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/1f719d8b-ebe9-4f6a-b5f1-8906b220554f/500x500/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/1f719d8b-ebe9-4f6a-b5f1-8906b220554f/500x500/match/image.jpg",
"height": 500,
"width": 500
}
]
},
"poster": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/6c9b5fc6-3368-47c5-98a5-a5878224fe5b/1400x1400/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/6c9b5fc6-3368-47c5-98a5-a5878224fe5b/1400x1400/match/image.jpg",
"height": 1400,
"width": 1400
}
]
},
"thumbnail": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/b56eee50-f593-4d0d-be15-42d5c5c147af/160x90/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/b56eee50-f593-4d0d-be15-42d5c5c147af/160x90/match/image.jpg",
"height": 90,
"width": 160
}
]
},
"ultra-wide.hi": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/48b1cfee-8579-4d48-9824-93ea2e1cce22/3840x1646/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/48b1cfee-8579-4d48-9824-93ea2e1cce22/3840x1646/match/image.jpg",
"height": 1646,
"width": 3840
}
]
},
"wide.fr": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/45bf1048-d3fa-4ad3-89f1-1df362b60264/2560x1440/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/45bf1048-d3fa-4ad3-89f1-1df362b60264/2560x1440/match/image.jpg",
"height": 1440,
"width": 2560
}
]
},
"portrait.es": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/89581e27-38b7-4b1b-85c6-fc624331a72b/800x1200/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/89581e27-38b7-4b1b-85c6-fc624331a72b/800x1200/match/image.jpg",
"height": 1200,
"width": 800
}
]
},
"square.de": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/12819ec8-4da6-42ae-a67f-aed0424b8d51/570x570/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/3676484086001/4fb9012e-7b20-4744-9fff-512634d7b2a5/12819ec8-4da6-42ae-a67f-aed0424b8d51/570x570/match/image.jpg",
"height": 570,
"width": 570
}
]
}
}
Redimensionnement automatique
Lorsque vous ajoutez des affiches personnalisées et/ou des images miniatures via Studio ou l'API Dynamic Ingest, par défaut, Video Cloud les redimensionnera pour qu'elles correspondent aux tailles d'image définies dans le profil d'ingestion par défaut du compte.
Notez que le redimensionnement et le remplissage sont les seules modifications Video Cloud ou Balise de Brightcove. Les images ne sont jamais recadrées.
Capturer des images
Pendant le transcodage, Video Cloud peut capturer un instantané de la vidéo à mi-parcours et l'enregistrer sous forme d'affiches et de vignettes.
Pour les profils d'acquisition personnalisés, la capture d'images nécessite l'ajout de deux rendus spéciaux au profil d'acquisition que vous utilisez. Voir Images dans les profils d'ingestion au dessous de.
Vous devez également définir l' capture-images
indicateur dans les données de votre requête sur true
si vous souhaitez que l'affiche et la miniature soient capturés à partir de la vidéo pendant le transcodage, mais il s'agit de la valeur par défaut si le paramètre le profil sélectionné inclut les formats associés d'image. (S'il n'y a pas de rendus d'image dans le profil, la valeur par défaut pour capture-images
est false
.)
Exemple de données de demande :
{
"master": { "url": "https://some.site.com/videos/mp4/Bird_Titmouse.mp4" },
"profile": "multi-platform-standard-static",
"capture-images": true
}
Images dans les profils d'ingestion
Pour poster
et thumbnail
images uniquement, vous devez inclure des rendus d'images dans le profil d'acquisition. C'est pour la capture automatique, que vous l'utilisiez lorsque vous ingérez la vidéo ou que vous décidiez de le faire plus tard lors du transcodage. Les rendus d'images sont inclus dans tous les profils d'acquisition standard, cette section s'applique donc uniquement aux profils d'acquisition personnalisés.
Voici des détails sur la façon dont les rendus d'images sont spécifiés dans les profils d'acquisition.
Propriété | Montant |
---|---|
media_type |
"image" |
label |
"poster" ou "vignette" (vous avez besoin d'un rendu pour chacun) |
format |
"png" ou "jpg" |
width |
nombre (pixels) |
height |
nombre (pixels) |
Voici des exemples de données pour les rendus :
"images": [
{
"label": "square",
"height": 500,
"width": 500
},
{
"label": "ultra-wide",
"height": 1714,
"width": 4000
},
{
"label": "wide",
"height": 2250,
"width": 4000
},
{
"label": "portrait",
"height": 3000,
"width": 2000
},
{
"label": "thumbnail",
"height": 90,
"width": 160
},
{
"label": "poster",
"height": 1080,
"width": 1920
}
]
Récupération des données d'image
Vous pouvez récupérer des données d'image à l'aide du API CMS.
Le CMS API retournera les données d'image dans une GET
requête https://cms.api.brightcove.com/v1/accounts/{account_id}/videos/{video_id}
ou, si vous voulez uniquement les données d'image, à https://cms.api.brightcove.com/v1/accounts/{account_id}/videos/{video_id}/images
Dans les deux cas, les données d'image dans la réponse ressembleront à ceci :
{
"thumbnail": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/main/160x90/20s629ms/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/main/160x90/20s629ms/match/image.jpg",
"height": 90,
"width": 160
}
]
},
"poster": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/main/1280x720/20s629ms/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/main/1280x720/20s629ms/match/image.jpg",
"height": 720,
"width": 1280
}
]
},
"portrait.es": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/bac8717a-43db-4fa8-a6f0-189c80ee4c4e/800x1200/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/bac8717a-43db-4fa8-a6f0-189c80ee4c4e/800x1200/match/image.jpg",
"height": 1200,
"width": 800
}
]
},
"thumbnail.en": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/0ce2da4d-ca36-469b-9024-0273d79feeeb/292x108/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/0ce2da4d-ca36-469b-9024-0273d79feeeb/292x108/match/image.jpg",
"height": 108,
"width": 292
}
]
},
"poster.en": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/a7cb150d-c84a-48e0-9469-5b4ce80fba53/1920x1080/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/a7cb150d-c84a-48e0-9469-5b4ce80fba53/1920x1080/match/image.jpg",
"height": 1080,
"width": 1920
}
]
},
"square.de": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/22209955-e136-4f17-914c-e19ec4c58886/570x570/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/22209955-e136-4f17-914c-e19ec4c58886/570x570/match/image.jpg",
"height": 570,
"width": 570
}
]
},
"ultra-wide.hi": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/72fd489f-d978-44ba-8d04-1e33c7c36cef/3840x1646/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/72fd489f-d978-44ba-8d04-1e33c7c36cef/3840x1646/match/image.jpg",
"height": 1646,
"width": 3840
}
]
},
"wide.fr": {
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/4405a5d5-8b9e-4c2b-be71-cf4e2c153e87/2560x1440/match/image.jpg",
"sources": [
{
"src": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/4405a5d5-8b9e-4c2b-be71-cf4e2c153e87/2560x1440/match/image.jpg",
"height": 1440,
"width": 2560
}
]
}
}
Contraintes
- Le système d'ingestion n'autorise pas les tâches simultanées sur la même vidéo.
- Actuellement, les données d'image pour les variantes large, carrée, portrait et ultra-large sont renvoyées uniquement par l'API CMS, et non par les requêtes vidéo de l'API de lecture.