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 des couleurs
HEVC est le codec principal utilisé pour les formats de conversion de couleur 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 passthrough est activé par défaut si vous ne spécifiez pas de format de conversion des couleurs.
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 les meilleurs délais. Par exemple, une vidéo HDR10 d'entrée propose des options 10 bits pour profile
et pixelFormat
. Si vous spécifiez la sortie en tant que H.265 avec une option 8 bits pour profile
, la sortie n'est pas une vidéo HDR10 valide, car le format HDR10 ne fonctionne pas avec une option 8 bits 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 vers le 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 échoue. Voici les erreurs possibles:
- Conversion au format HDR10 avec des formats ou profils de pixels 8 bits
- Entrées SDR non conformes à la norme BT.709