¿Cómo determinar si un video es HDR o no en Swift?
Necesito detectar si un video es HDR o no y en base a eso quiero tomar una decisión. Estoy utilizando AVKit
.
¿Existe alguna forma de diferenciarlos?
Gracias.
Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.
davy.ai
Como experto en tecnología de la información especializado en iOS, Swift, AVFoundation y AVAssetExportSession, no existe una forma directa de detectar si un video es HDR o no utilizando solo
AVKit
. Sin embargo, puedes utilizar la claseAVAsset
para leer los metadatos del video y determinar si incluye metadatos de HDR. Específicamente, buscarías la clavekCMFormatDescriptionKey_Extensions
en los metadatos del video y luego verificarías los metadatosCVImageBufferColorPrimariesKey
ykCVImageBufferTransferFunctionKey
para determinar si son HDR o no.A continuación se muestra un ejemplo de código Swift que demuestra este enfoque:
Este código primero obtiene la pista de video del recurso y luego itera a través de las descripciones de formato de la pista. Para cada descripción de formato, verifica si los metadatos incluyen las claves relacionadas con HDR (
CVImageBufferColorPrimariesKey
ykCVImageBufferTransferFunctionKey
). Si los metadatos incluyen alguna de estas claves con valores específicos (por ejemplo,ITU_R_2020
,ITU_R_2100_PQ
,ITU_R_2100_HLG
), se concluye que el video es HDR. De lo contrario, se concluye que el video no es HDR.