Compartilhar via


Configurações do registro de estabilização de vídeo

O valor MaxPixelsPerSecond definido pelo OEM na chave do Registro VideoStabilization permite que os OEMs definam as configurações de estabilização de vídeo em um dispositivo e a apliquem a um vídeo no momento da captura. A configuração leva em consideração a resolução de gravação do dispositivo, juntamente com seus recursos de hardware e software.

Visão geral

O valor MaxPixelsPerSecond da chave de Registro VideoStabilization é usado para especificar os recursos máximos de estabilização de vídeo em um dispositivo, em circunstâncias ideais. Todos os aplicativos podem ler a chave do Registro e evitar tentativas de uso injustificado da estabilização de vídeo.

O valor inserido em MaxPixelsPerSecond define o limite além do qual o MFT não tentará ativar a estabilização de vídeo, mesmo que um aplicativo a habilite. A chave do Registro precisa indicar a maior resolução e taxa de quadros em que um dispositivo pode executar a estabilização de vídeo. Se o valor MaxPixelsPerSecond não estiver definido, o MFT de estabilização de vídeo usará um valor de fallback. Por fim, se isso também falhar, a estabilização de vídeo usará sua lógica interna para desligar, a fim de evitar uma experiência inadequada ao usuário.

Requisitos de estabilização de vídeo

Um dispositivo é considerado capaz de executar a estabilização de vídeo quando há possibilidade de que todos os itens a seguir ocorram:

  • A estabilização de vídeo está ativada e não está no modo de passagem

  • A gravação está ativada

  • A visualização está ativa

  • Nenhum ruído ou quadros perdidos são encontrados na visualização

  • Nenhum ruído ou quadros perdidos são encontrados no vídeo gravado

Definir a chave do Registro de estabilização de vídeo

Formato da chave do Registro VideoEstabilization:

  • Os OEMs devem definir um valor QWORD MaxPixelsPerSecond que estabeleça o valor de corte para o número de pixels por segundo, além do qual a estabilização de vídeo será forçada a executar no modo de passagem, mesmo que seja habilitada por um aplicativo.

  • MaxPixelsPerSecond é definido da seguinte maneira:

    MaxPixelsPerSecond = width * height * frame-rate

    Por exemplo, para resolução de 1080p a 30 fps, MaxPixelsPerSecond seria definido como 1920 * 1080 * 30 = 62208000.

Local da chave do Registro VideoStabilization:

  • Os OEMs devem criar e definir a chave do Registro VideoStabilization para estabilização de vídeo no seguinte local:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation\Platform\VideoStabilization

    Para definir o valor MaxPixelsPerSecond da chave do Registro VideoStabilization em um computador de 32 bits, use o seguinte comando em um prompt de comando com privilégios elevados:

    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation\Platform\VideoStabilization" /v "MaxPixelsPerSecond" /t REG_QWORD /d 62208000 /f 
    
  • Em computadores de 64 bits, os OEMs também devem criar e definir a mesma chave no caminho Wow6432Node:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows Media Foundation\Platform\VideoStabilization

    Para definir o valor MaxPixelsPerSecond da chave do Registro VideoStabilization em um computador de 64 bits, use o seguinte comando em um prompt de comando com privilégios elevados:

    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Windows Media Foundation\Platform\VideoStabilization" /v "MaxPixelsPerSecond" /t REG_QWORD /d 62208000 /f 
    

Quando definida, a chave do Registro VideoStabilization ficará visível para o MFT de estabilização de vídeo e aplicativos próprios e de terceiros.

Se o valor MaxPixelsPerSecond estiver definido, o MFT de estabilização de vídeo nunca tentará estabilizar taxas de quadros ou resoluções acima do limite. Em vez disso, ele entrará no modo de passagem, mesmo que o aplicativo solicite estabilização de vídeo. O MFT de estabilização de vídeo tem um mecanismo para recomendar taxa de quadros e resolução para o aplicativo de determinado dispositivo. Os aplicativos podem escolher a recomendação para evitar essa passagem nos dispositivos que têm a chave do Registro preenchida.

Se o valor MaxPixelsPerSecond não estiver definido, o MFT de estabilização de vídeo tentará estabilizar até o valor padrão, não acima dele.

O valor padrão é 62208000 pixels por segundo, que é 1920 pixels x 1080 pixels x 30 fps. Quando a estabilização de vídeo tenta estabilizar, mas não consegue manter a estabilização em tempo real dos quadros de vídeo, a lógica interna muda a estabilização de vídeo para o modo de passagem (desativando a estabilização de vídeo) sem descartar nenhum quadro.

Se a estabilização de vídeo foi desativada na sessão anterior, o MFT tentará iniciar a estabilização de vídeo no modo normal para cada nova sessão, antes de decidir mudar para o modo de passagem. Isso ocorre porque ele não pode contar com o modo anterior para tomar decisões futuras, pois o dispositivo pode ficar sob estresse depois de operado pela última vez.

Requisitos de teste de estabilização de vídeo

Os OEMs precisam verificar os recursos de ponta a ponta de seus dispositivos com a estabilização de vídeo em funcionamento. Eles precisam verificar uma experiência aceitável na maior resolução de pixels por segundo.

Os OEMs devem verificar o seguinte:

  • A lógica interna de estabilização de vídeo está desabilitada no local da chave do Registro fornecido pela Microsoft. Desabilitar a lógica interna garante que a estabilização de vídeo não entre no modo de passagem durante o teste se encontrar uma situação de estresse.

  • A estabilização de vídeo pode ser executada sozinha, sem tarefas em segundo plano ou outros recursos

  • Renderização de visualização suave com estabilização de vídeo habilitada e lógica interna desabilitada

  • Gravação de vídeo suave com estabilização de vídeo habilitada e lógica interna desabilitada

  • Contagem de pixels por segundo desejada obtida na gravação estabilizada

  • Sem superaquecimento

Observação Os sistemas de varejo não devem descrever a chave do Registro para desabilitar a lógica interna de estabilização de vídeo nesta seção. No entanto, devem determinar a chave do Registro VideoStabilization com um valor MaxPixelsPerSecond por meio desse processo de teste.

Observação O valor VideoStabilization da chave do Registro MaxPixelsPerSecond funciona somente quando o atributo MF_LOW_LATENCY é definido no efeito. Quando o efeito de estabilização de vídeo fornecido é adicionado ao pipeline MediaCapture, o atributo é definido automaticamente. No entanto, se o efeito de estabilização de vídeo for inserido em um pipeline personalizado ou em um pipeline que não defina o atributo MF_LOW_LATENCY, a chave do Registro não terá efeito.