Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El codificador de vídeo de Media Foundation H.265 es una transformación de Media Foundation que admite la codificación de contenido en el formato H.265/HEVC. El codificador admite los siguientes perfiles:
- Perfil Main
El codificador de vídeo H.265 expone las siguientes interfaces:
Tipos de entrada
El tipo de medio de entrada debe tener uno de los subtipos siguientes:
- MFVideoFormat_IYUV
- MFVideoFormat_NV12
- MFVideoFormat_YUY2
- MFVideoFormat_YV12
Para obtener más información sobre estos subtipos, vea GUID de subtipo de vídeo.
El tipo de salida debe establecerse antes del tipo de entrada. Hasta que se establece el tipo de salida, el método IMFTransform::SetInputType del codificador devuelve MF_E_TRANSFORM_TYPE_NOT_SET.
Tipos de salida
El codificador admite un único subtipo de salida:
- MFVideoFormat_H265
Establezca los atributos siguientes en el tipo de medio de salida.
Atributo | Descripción |
---|---|
MF_MT_MAJOR_TYPE | Tipo principal. Debe ser MFMediaType_Video. |
MF_MT_SUBTYPE | Subtipo de vídeo. Debe ser MFVideoFormat_HEVC. |
MF_MT_AVG_BITRATE | Velocidad media de bits codificada, en bits por segundo. Debe ser mayor que cero. |
MF_MT_FRAME_RATE | Velocidad de fotogramas. |
MF_MT_FRAME_SIZE | Tamaño del marco. |
MF_MT_INTERLACE_MODE | Modo de intercalación. |
MF_MT_VIDEO_PROFILE | Perfil de codificación H.265. Los valores admitidos son:
|
MF_MT_MPEG2_LEVEL | Especifica el nivel del vídeo codificado. Para obtener más información sobre las restricciones de perfil y nivel, consulte el Anexo A del UIT-T H.265. |
MF_MT_PIXEL_ASPECT_RATIO | Opcional. Especifica la relación de aspecto de píxeles. El valor predeterminado es 1:1. |
Una vez establecido el tipo de salida, el codificador de vídeo actualiza el tipo agregando el atributo MF_MT_MPEG_SEQUENCE_HEADER . Este atributo contiene el encabezado de secuencia.
Métodos IMFTransform admitidos
Los métodos siguientes de la interfaz IMFTransform son compatibles con el codificador H.265/HEVC:
- GetAttributes
- GetInputAvailableType
- GetInputCurrentType
- GetInputStatus
- GetInputStreamInfo
- GetOutputAvailableType
- GetOutputCurrentType
- GetOutputStatus
- GetOutputStreamInfo
- GetStreamCount
- GetStreamLimits
- ProcessEvent
- ProcessMessage
- ProcessInput
- ProcessOutput
- SetInputType
- SetOutputType
- SetOutputBounds
Todos los demás métodos IMFTransform devolverán el error E_NOTIMPL.
Métodos ICodecAPI admitidos
Los métodos siguientes de la interfaz ICodecAPI son compatibles con el codificador H.265/HEVC:
Todos los demás métodos ICodecAPI devolverán el error E_NOTIMPL.
Propiedades de códec
El codificador H.265 implementa la interfaz ICodecAPI para establecer parámetros de codificación. Admite las siguientes propiedades.
Para conocer los requisitos de códec para la certificación del codificador HCK, consulte la sección Certified Hardware Encoder (Codificador de hardware certificado ) a continuación.
Propiedad | Descripción |
---|---|
CODECAPI_AVEncCommonRateControlMode | Establece el modo de control de velocidad. Los modos admitidos son:
Se trata de un valor de VT_UI4. |
CODECAPI_AVEncCommonMeanBitRate | Establece la velocidad media de bits para la secuencia de bits codificada, en bits por segundo. El intervalo válido es [1 ... 2³²–1]. Se trata de un valor de VT_UI4. |
CODECAPI_AVEncCommonBufferSize | Establece el tamaño del búfer, en bytes, para la codificación de velocidad de bits constante (CBR). El intervalo válido es [1 ... 2³²–1]. Se trata de un valor de VT_UI4. |
CODECAPI_AVEncCommonMaxBitRate | Establece la velocidad de bits máxima para los modos de control de velocidad que permiten una velocidad de bits máxima. El intervalo válido es [1 ... 2³²–1]. Se trata de un valor de VT_UI4. |
CODECAPI_AVEncMPVGOPSize | Establece el número de imágenes de un encabezado GOP al siguiente, incluido el delimitador inicial, pero no el siguiente. El intervalo válido es [0 ... 2³²–1]. Si es cero, el codificador selecciona el tamaño de GOP. El valor predeterminado es cero. Se trata de un valor de VT_UI4. |
CODECAPI_AVLowLatencyMode | Habilita o deshabilita el modo de baja latencia. Se trata de un valor de VT_BOOL. |
CODECAPI_AVEncCommonQualityVsSpeed | Establece el equilibrio de calidad/velocidad. Este valor afecta a la forma en que el codificador realiza varias operaciones de codificación, como la compensación de movimiento. En niveles de complejidad más altos, el codificador se ejecuta más lentamente, pero genera una mejor calidad a la misma velocidad de bits. El intervalo válido es de 0 a 100. Internamente, este valor se asigna a un conjunto más pequeño de niveles de calidad/velocidad admitidos por el codificador. Se trata de un valor de VT_UI4. |
CODECAPI_AVEncVideoForceKeyFrame | Obliga al codificador a codificar el siguiente fotograma como fotograma clave. Se trata de un valor de VT_UI4. |
CODECAPI_AVEncVideoEncodeQP | Cuando se establece esta propiedad, hará que el codificador use el QP especificado para codificar el siguiente fotograma y todos los fotogramas subsiguientes hasta que se especifique un nuevo QP. Intervalo válido: 0–51, ambos incluidos |
CODECAPI_AVEncVideoMinQP | Esta propiedad establecerá un límite en el QP mínimo que el codificador puede usar durante el control de velocidad CBR. Se trata de un valor de VT_UI4. |
CODECAPI_AVEncVideoMaxQP | Esta propiedad establecerá un límite en el QP máximo que el codificador puede usar durante el control de velocidad CBR. Se trata de un valor de VT_UI4. |
CODECAPI_VideoEncoderDisplayContentType | Establece si el contenido es vídeo de pantalla completa, en lugar de contenido de pantalla que podría tener una ventana más pequeña de vídeo o no tener ningún vídeo. Se trata de un valor de VT_UI4. |
CODECAPI_AVEncNumWorkerThreads | Establece el número de subprocesos usados para realizar la operación de compresión. El codificador dividirá el marco en iconos de forma que el número de subprocesos sea igual al número de iconos.
|
Codificador de hardware certificado
Si existe un codificador de hardware certificado, se usará generalmente en lugar del codificador del sistema de bandeja de entrada para escenarios relacionados con Media Foundation. Los codificadores certificados son necesarios para admitir un determinado conjunto de propiedades de ICodecAPI y, opcionalmente, pueden admitir otro conjunto de propiedades. El proceso de certificación debe garantizar que las propiedades necesarias se admiten correctamente y, si se admite una propiedad opcional, también se admite correctamente.
A continuación se muestra el conjunto de propiedades obligatorias y opcionales de ICodecAPI para que los codificadores pasen la certificación del codificador HCK.
- CODECAPI_AVEncCommonRateControlMode
- CODECAPI_AVEncCommonQuality
- CODECAPI_AVEncCommonMeanBitRate
- CODECAPI_AVEncCommonBufferSize
- CODECAPI_AVEncMPVGOPSize
- CODECAPI_AVEncVideoEncodeQP
- CODECAPI_AVEncVideoForceKeyFrame
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows 10 [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
No se admite ninguno |
Archivo DLL |
|
Consulte también