Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo 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.]
Descrição
Aplicação de captura de vídeo digital (DV).
Este exemplo demonstra como criar vários tipos de gráficos de filtro para controlar filmadoras DV. Ele também mostra como executar captura, visualização, transmissão e controle de dispositivo com uma filmadora DV.
Utilização
A aplicação DVApp suporta os seguintes modos:
- Pré-visualização: Renderiza o DV da câmara de vídeo para uma janela de vídeo.
- DV para ficheiro tipo-1: Captura dados DV da câmara de vídeo para um ficheiro DV tipo-1.
- Ficheiro Type-1 para DV: Transmite dados de um ficheiro DV tipo-1 para a câmara de vídeo.
- DV para ficheiro tipo-2: Captura dados DV da câmara de vídeo para um ficheiro DV tipo-2.
- Ficheiro Type-2 para DV: Transmite dados de um ficheiro DV tipo-2 para a câmara de vídeo.
Os modos de captura e transmissão permitem a pré-visualização. Cada um desses modos também tem uma opção No Preview, que desativa a visualização. A captura sem visualização é mais eficiente e pode reduzir o número de quadros descartados.
O aplicativo é iniciado no modo de visualização. Para selecionar outro modo, escolha um modo no menu Modo de gráfico. Para cada modo, o DVApp cria um gráfico de filtro que suporta a funcionalidade desse modo. Para guardar o gráfico como um ficheiro GraphEdit (.grf), selecione Guardar gráfico no ficheiro no menu Ficheiro. Feche DVApp antes de abrir o arquivo no GraphEdit.
Para capturar para um arquivo:
- No menu Arquivo, escolha Definir Arquivo de Saída e insira o nome do arquivo.
- No menu Modo Gráfico, selecione um modo DV para Ficheiro (tipo 1 ou tipo 2, com ou sem visualização).
- Clique Gravar.
- Se a câmara de vídeo estiver no modo VTR, clique em Reproduzir.
- Para parar de captar, clique em Parar.
Para transmitir de um ficheiro para a câmara de vídeo:
- No menu Arquivo, clique em Configurar Arquivo de Entrada e selecione um arquivo DV. O arquivo deve corresponder ao modo selecionado (tipo 1 ou tipo 2).
- No menu Modo de gráfico, selecione um arquivo de para o modo DV (tipo 1 ou tipo 2, com ou sem visualização).
- Clique Reproduzir.
- Para gravar os dados em fita, clique em Gravar.
- Para parar a transmissão, clique em Parar.
Se a câmara de vídeo estiver no modo VTR, o utilizador pode controlar o mecanismo de transporte através dos botões estilo videocassete da aplicação. Para procurar a fita, insira o código de tempo de destino e clique no botão de busca.
Para limitar a quantidade de dados capturados pelo aplicativo, escolha Tamanho da captura no menu Arquivo.
Para verificar o formato da fita (NTSC ou PAL), escolha Verificar Fita no menu Opções.
Para alterar o tamanho da janela de visualização, escolha Alterar Tamanho de Decodificação no menu Opções.
Notas de programação
O principal objetivo desta aplicação é mostrar como construir vários gráficos de captura e transmissão DV.
Chegada e remoção de dispositivos
O aplicativo lida com a chegada e remoção de dispositivos, usando duas técnicas diferentes. Para a chegada do dispositivo, o ciclo de mensagens da aplicação responde a mensagens WM_DEVICECHANGE. Para a remoção do dispositivo, o aplicativo responde aos eventos EC_DEVICE_LOST do gestor de gráficos de filtro. Qualquer abordagem funciona, embora o evento EC_DEVICE_LOST dependa da existência do dispositivo no gráfico de filtro.
O aplicativo lida apenas com um dispositivo de cada vez. Se o dispositivo atual for removido, o aplicativo procura outro dispositivo DV no sistema.
Em algumas filmadoras DV, o usuário deve desligar o dispositivo ao alterná-lo entre o modo de câmera e o modo VTR, que dispara uma mensagem de perda do dispositivo. O aplicativo responde ativando ou desativando os comandos de menu apropriados. No entanto, se o usuário alternar rapidamente entre os modos, a filmadora pode não gerar uma mensagem de perda de dispositivo. Você pode forçar os menus a atualizar escolhendo Modo de Atualização no menu Opções. Algumas câmaras de vídeo DV podem alternar os modos sem desligar, mas enviar uma mensagem de perda de dispositivo apenas quando mudam para o modo VTR.
Controlo de Dispositivos
A funcionalidade do botão Reproduzir e Gravar depende do modo atual.
- Pré-visualização: O gráfico de filtros é executado automaticamente. O botão Play inicia o transporte.
- Capturar para arquivo: o botão Gravar executa o gráfico e o botão Reproduzir inicia o transporte.
- Transmitir para o dispositivo: O botão Reproduzir executa o gráfico e o botão Gravar inicia o transporte.
O aplicativo de exemplo não executa a captura precisa de quadros. Em vários pontos, o aplicativo chama a função Sleep para aguardar a resposta do dispositivo. As câmaras de vídeo DV mais recentes enviam uma notificação quando o estado do dispositivo muda. Dispositivos mais antigos podem não suportar notificações; para efeitos de uma amostra, chamar Sleep é uma solução mais simples.
Download do exemplo
Para baixar os exemplos do SDK do DirectShow, instale a versão mais recente do SDK do Windows.
Este exemplo é instalado no seguinte caminho: [SDK Root]\Samples\Multimedia\DirectShow\Capture\DVApp.
Tópicos relacionados