Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O codificador de vídeo do Media Foundation H.265 é uma Media Foundation Transform que dá suporte à codificação de conteúdo no formato H.265/HEVC. O codificador dá suporte aos seguintes perfis:
- Perfil Principal
O codificador de vídeo H.265 expõe as seguintes interfaces:
Tipos de entrada
O tipo de mídia de entrada deve ter um dos seguintes subtipos:
- MFVideoFormat_IYUV
- MFVideoFormat_NV12
- MFVideoFormat_YUY2
- MFVideoFormat_YV12
Para obter mais informações sobre esses subtipos, consulte GUIDs de subtipo de vídeo.
O tipo de saída deve ser definido antes do tipo de entrada. Até que o tipo de saída seja definido, o método IMFTransform::SetInputType do codificador retornará MF_E_TRANSFORM_TYPE_NOT_SET.
Tipos de saída
O codificador dá suporte a um único subtipo de saída:
- MFVideoFormat_H265
Defina os atributos a seguir no tipo de mídia de saída.
Atributo | Descrição |
---|---|
MF_MT_MAJOR_TYPE | Tipo principal. Deve ser MFMediaType_Video. |
MF_MT_SUBTYPE | Subtipo de vídeo. Deve ser MFVideoFormat_HEVC. |
MF_MT_AVG_BITRATE | Taxa média de bits codificados, em bits por segundo. Deve ser maior que zero. |
MF_MT_FRAME_RATE | Taxa de quadros. |
MF_MT_FRAME_SIZE | Tamanho do quadro. |
MF_MT_INTERLACE_MODE | Modo de entrelaçamento. |
MF_MT_VIDEO_PROFILE | Perfil de codificação H.265. Os valores com suporte são:
|
MF_MT_MPEG2_LEVEL | Especifica o nível do vídeo codificado. Para obter mais informações sobre restrições de perfil e nível, consulte Anexo A de ITU-T H.265. |
MF_MT_PIXEL_ASPECT_RATIO | Opcional. Especifica a taxa de proporção de pixel. O valor padrão é 1:1. |
Depois que o tipo de saída é definido, o codificador de vídeo atualiza o tipo adicionando o atributo MF_MT_MPEG_SEQUENCE_HEADER . Esse atributo contém o cabeçalho de sequência.
Métodos IMFTransform com suporte
Os seguintes métodos da interface IMFTransform têm suporte para o codificador H.265/HEVC:
- GetAttributes
- GetInputAvailableType
- GetInputCurrentType
- GetInputStatus
- GetInputStreamInfo
- GetOutputAvailableType
- GetOutputCurrentType
- GetOutputStatus
- GetOutputStreamInfo
- GetStreamCount
- GetStreamLimits
- Processevent
- Processmessage
- ProcessInput
- Processoutput
- Setinputtype
- Setoutputtype
- SetOutputBounds
Todos os outros métodos IMFTransform retornarão o erro E_NOTIMPL.
Métodos ICodecAPI com suporte
Os seguintes métodos da interface ICodecAPI têm suporte para o codificador H.265/HEVC:
Todos os outros métodos ICodecAPI retornarão o erro E_NOTIMPL.
Propriedades do Codec
O codificador H.265 implementa a interface ICodecAPI para definir parâmetros de codificação. Ele dá suporte às propriedades a seguir.
Para obter os requisitos de codec para certificação de codificador HCK, consulte a seção Certified Hardware Encoder abaixo.
Propriedade | Descrição |
---|---|
CODECAPI_AVEncCommonRateControlMode | Define o modo de controle de taxa. Os modos suportados são:
Esse é um valor VT_UI4. |
CODECAPI_AVEncCommonMeanBitRate | Define a taxa média de bits para o fluxo de bits codificado, em bits por segundo. O intervalo válido é [1 ... 2\²–1]. Esse é um valor VT_UI4. |
CODECAPI_AVEncCommonBufferSize | Define o tamanho do buffer, em bytes, para codificação cbr (taxa de bits constante). O intervalo válido é [1 ... 23²–1]. Esse é um valor VT_UI4. |
CODECAPI_AVEncCommonMaxBitRate | Define a taxa de bits máxima para modos de controle de taxa que permitem uma taxa de bits de pico. O intervalo válido é [1 ... 23²–1]. Esse é um valor VT_UI4. |
CODECAPI_AVEncMPVGOPSize | Define o número de imagens de um cabeçalho GOP para o próximo, incluindo a âncora à esquerda, mas não a seguinte. O intervalo válido é [0 ... 23²–1]. Se zero, o codificador selecionará o tamanho do GOP. O valor padrão é zero. Esse é um valor VT_UI4. |
CODECAPI_AVLowLatencyMode | Habilita ou desabilita o modo de baixa latência. Esse é um valor VT_BOOL. |
CODECAPI_AVEncCommonQualityVsSpeed | Define a compensação de qualidade/velocidade. Esse valor afeta como o codificador executa várias operações de codificação, como compensação de movimento. Em níveis de complexidade mais altos, o codificador é executado mais lentamente, mas produz melhor qualidade na mesma taxa de bits. O intervalo válido é 0 a 100. Internamente, esse valor é mapeado para um conjunto menor de níveis de qualidade/velocidade com suporte do codificador. Esse é um valor VT_UI4. |
CODECAPI_AVEncVideoForceKeyFrame | Força o codificador a codificar o próximo quadro como um quadro-chave. Esse é um valor VT_UI4. |
CODECAPI_AVEncVideoEncodeQP | Quando essa propriedade for definida, ela fará com que o codificador use o QP especificado para codificar o próximo quadro e todos os quadros subsequentes até que um novo QP seja especificado. Intervalo válido: 0 a 51, inclusive |
CODECAPI_AVEncVideoMinQP | Essa propriedade definirá um limite no QP mínimo que o codificador pode usar durante o controle de taxa CBR. Esse é um valor VT_UI4. |
CODECAPI_AVEncVideoMaxQP | Essa propriedade definirá um limite no QP máximo que o codificador pode usar durante o controle de taxa CBR. Esse é um valor VT_UI4. |
CODECAPI_VideoEncoderDisplayContentType | Define se o conteúdo é vídeo em tela inteira, em vez de conteúdo de tela que pode ter uma janela de vídeo menor ou não ter nenhum vídeo. Esse é um valor VT_UI4. |
CODECAPI_AVEncNumWorkerThreads | Define o número de threads usados para executar a operação de compactação. O codificador dividirá o quadro em blocos de modo que o número de threads seja igual ao número de blocos.
|
Codificador de hardware certificado
Se um codificador de hardware certificado estiver presente, ele geralmente será usado em vez do codificador do sistema de caixa de entrada para cenários relacionados ao Media Foundation. Codificadores certificados são necessários para dar suporte a um determinado conjunto de propriedades ICodecAPI e, opcionalmente, podem dar suporte a outro conjunto de propriedades. O processo de certificação deve garantir que as propriedades necessárias têm suporte adequado e, se houver suporte para uma propriedade opcional, também terá suporte adequado.
Veja a seguir o conjunto de propriedades ICodecAPI necessárias e opcionais para codificadores passarem pela certificação do codificador HCK.
- CODECAPI_AVEncCommonRateControlMode
- CODECAPI_AVEncCommonQuality
- CODECAPI_AVEncCommonMeanBitRate
- CODECAPI_AVEncCommonBufferSize
- CODECAPI_AVEncMPVGOPSize
- CODECAPI_AVEncVideoEncodeQP
- CODECAPI_AVEncVideoForceKeyFrame
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 10 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Nenhum compatível |
DLL |
|
Confira também