Cette page explique comment convertir la vidéo d'entrée d'une tâche de transcodage en format HDR (High Dynamic Range) ou SDR (Standard Dynamic Range) compatible. L'API Transcoder utilise le codage vidéo haute efficacité (HEVC) comme codec principal pour la conversion des couleurs. Le passthrough est activé par défaut si vous ne spécifiez pas de format de conversion des couleurs.
Formats de conversion de couleur
HEVC est le codec principal utilisé pour les formats de conversion des couleurs compatibles, qui incluent les suivants :
- Hybrid Log-Gamma (HLG)
- SDR
- HDR10
Pour les flux H.264 et VP9, seuls les formats HLG et SDR sont acceptés. Toutes les conversions entre le codec compatible et les formats de couleur précédents sont acceptées.
Passthrough
Le contournement est activé par défaut si vous ne spécifiez pas de conversion de couleur .
Pour le passthrough, l'API Transcoder respecte les couleurs primaires d'entrée, la fonction de transfert, la plage, l'emplacement de la chrominance et l'espace colorimétrique. Aucune conversion de couleur n'est effectuée au cours du processus. Si l'entrée est HDR10 (ou HDR10+) et HEVC, l'API Transcoder transmet également les métadonnées à la vidéo de sortie.
Si vous spécifiez un codec de sortie qui n'est pas compatible avec le format de couleur de l'entrée, le passthrough est effectué dans la mesure du possible. Par exemple, une vidéo HDR10 d'entrée propose des options 10 bits pour profile
et pixelFormat
. Si vous
spécifier la sortie au format H.265 avec une option 8 bits pour profile
;
la sortie n'est pas une vidéo HDR10 valide, car ce format n'est pas compatible avec
pour profile
.
Exemples de conversions
Pour spécifier le format de conversion des couleurs, utilisez un objet hlg
, hdr10
ou sdr
vide. Les sections suivantes montrent l'objet JSON à ajouter à un VideoStream
pour effectuer une conversion donnée.
Convertir au format HLG
Utilisez l'objet hlg
pour convertir une vidéo d'entrée au format HLG.
"elementaryStreams": [
{
"key": "video_hlg",
"videoStream": {
"h264": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5000000,
"frameRate": 25,
"hlg":{}
}
}
]
Convertir au format HDR10
Utilisez l'objet hdr10
pour convertir une vidéo d'entrée au format HDR10.
"elementaryStreams": [
{
"key": "video_hdr10",
"videoStream": {
"h265": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5000000,
"frameRate": 25,
"pixelFormat":"yuv420p10",
"profile":"main10",
"hdr10":{}
}
}
]
Convertir au format SDR
Utilisez l'objet sdr
pour convertir une vidéo d'entrée au format SDR.
"elementaryStreams": [
{
"key": "video_sdr",
"videoStream": {
"h264": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5000000,
"frameRate": 25,
"sdr":{}
}
}
]
Erreurs possibles
Si l'API Transcoder ne peut pas effectuer la conversion, la tâche de transcodage est défaillant. Les erreurs possibles sont les suivantes:
- Conversion au format HDR10 avec des formats ou profils de pixels 8 bits
- Entrées SDR non conformes à la norme BT.709