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 recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
Quando a VMR mistura vários fluxos de entrada, ela posiciona cada fluxo dentro de um retângulo normalizado, chamado "espaço de composição". No espaço de composição, as coordenadas (0.0, 0.0) a (1.0, 1.0) formam o retângulo de vídeo visível. Todas as coordenadas que ficam fora desse retângulo são recortadas.
Um aplicativo pode executar efeitos especiais com a movimentação, alongamento e redução do vídeo de um fluxo de entrada, alterando o retângulo de destino no espaço de composição para esse fluxo. Se o retângulo especificado for um tamanho diferente do retângulo de vídeo nativo, o vídeo nativo será reduzido ou estendido para caber. O retângulo de destino é especificado chamando o métodoIVMRMixerControl::SetOutputRect.
Por exemplo, suponha que o fluxo 0 (que corresponde ao pino 0) contenha o fluxo de vídeo principal e o fluxo 1 (que corresponde ao pino 1) contém um vídeo secundário. O fluxo 1 pode ser posicionado completamente fora da tela especificando um retângulo normalizado de { -1.0f, 0.0f, 0.0f, 1.0f }. Em seguida, o Fluxo 1 pode ser movido para a área visível modificando os lados esquerdo e direito do retângulo em chamadas sucessivas para SetOutputRect:
Etiqueta | Valor |
---|---|
Hora | Retângulo |
t + 0 | { -1.0f, 0.0f, 0.0f, 1.0f } |
t + 1 | { -0.9f, 0.0f, 0.1f, 1.0f } |
t + 2 | { -0.8f, 0.0f, 0.2f, 1.0f } |
... | ... |
t + 10 | { 0.0f, 0.0f, 1.0f, 1.0f } |
No momento t+10, o vídeo do fluxo 1 está completamente visível. Neste exemplo, o tamanho nativo do fluxo 1 foi mantido durante a movimentação. Você também pode esticar ou reduzir o retângulo para produzir efeitos interessantes. Você também pode inverter o vídeo verticalmente, especificando um valor maior para a parte superior do que a parte inferior ou espelhar o vídeo horizontalmente, especificando um valor maior para a esquerda do que para a direita.
Tópicos relacionados