Compartilhar via


MSDV Driver

[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.]

MSDV é o driver WDM (Microsoft Windows Driver Model) para filmadoras DV. O driver aparece como um filtro DirectShow quando o dispositivo está conectado. Ele é enumerado em duas categorias de filtro:

  • CLSID_VideoInputDeviceCategory ("Fontes de Captura de Vídeo")
  • AM_KSCATEGORY_RENDER ("Dispositivos de Renderização de Streaming do WDM")

O nome amigável do filtro é Microsoft DV Camera and VCRou um equivalente localizado. Em alguns dispositivos, a propriedade Description contém uma descrição do modelo específico, que pode ser usada em vez do nome amigável genérico. Para obter mais informações, consulte Selecionando um dispositivo de captura.

O MSDV tem dois pinos de saída. Um pino fornece quadros DV que contêm dados de áudio e vídeo intercalados. O outro pino fornece quadros somente vídeo sem áudio. O MSDV não pode transmitir de ambos os pinos de uma só vez, portanto, apenas um pino de saída pode ser conectado por vez. Para obter mais informações sobre como capturar vídeos de um dispositivo DV, consulte Capturar DV parade Arquivo.

captura de dados dv do dispositivo

A maioria das gravações de DV tem uma subunidade VTR (gravador de fita de vídeo), que pode transmitir dados da fita para o computador. Para o aplicativo, a captura de fita funciona da mesma forma que capturar vídeo ao vivo. A única diferença é que o aplicativo deve controlar o transporte de fita externo – iniciar e parar a fita, retroceder e assim por diante. Para essa finalidade, o MSDV expõe as interfaces IAMExtDevice, IAMExtTransporte IAMTimecodeReader. Para obter mais informações sobre como controlar uma VTR, consulte Controlando umde Gravação de DV.

Você também pode transmitir DV do computador para a filmadora. Em seguida, o vídeo pode ser exibido na tela de integração da filmadora ou gravado em fita. Para dar suporte a essa funcionalidade, o MSDV tem um pin de entrada que pode receber um fluxo de DV intercalado. Quando o pino de entrada está conectado, o MSDV atua como um filtro de renderizador em vez de um filtro de captura. O MSDV não dá suporte à busca nesse modo. Para obter mais informações sobre como enviar DV para o dispositivo, consulte Transmitir DV de Arquivo para Fita.

transmitir dados dv para o dispositivo

Observe que os pinos de entrada e saída não podem ser conectados ao mesmo tempo, porque o dispositivo não pode transmitir em ambas as direções ao mesmo tempo.

Em muitas filmadoras, alternar entre o modo VTR e o modo de câmera faz com que o dispositivo desligue. Portanto, o DirectShow pode perder o dispositivo quando o usuário alternar de modo. Para obter informações sobre eventos de remoção de dispositivo, consulte de Notificação de Remoção de Dispositivo.

Observações

Para obter informações sobre quais formatos DV têm suporte pelo driver MSDV, consulte subtipos de vídeo DV.

Algumas dicas sobre como criar grafos de filtro com MSDV:

  • Você não pode usar IGraphBuilder::Renderizar para renderizar um pino de saída no MSDV. (O Gerenciador de Grafo de Filtro tenta conectar o pino de saída ao pino de entrada do MSDV, que falha.) Em vez disso, use IGraphBuilder::Connect ou ICaptureGraphBuilder2::RenderStream.

  • Quando um grafo de filtro contém MSDV, o MSDV deve fornecer o relógio de referência para o grafo. A partir do DirectX 8.0, o Gerenciador do Grafo de Filtro escolherá automaticamente o MSDV como o relógio de referência. Com versões anteriores, você deve chamar o método IMediaFilter::SetSyncSource no Gerenciador de Grafo de Filtro. Para obter mais informações sobre relógios, consulte Hora e Relógios no DirectShow.

  • Dependendo do dispositivo, alguns métodos em IAMExtDevice, IAMExtTransport e IAMTimeCodeReader podem retornar códigos de erro do Windows em vez de valores de HRESULT. Os códigos de erro possíveis incluem o seguinte.

    Código de erro Descrição
    ERROR_TIMEOUT Um comando de dispositivo externo atingiu o tempo limite.
    ERROR_REQ_NOT_ACCEP O dispositivo não aceitou esse comando de dispositivo externo.
    ERROR_NOT_SUPPORTED O dispositivo não dá suporte a esse comando de dispositivo externo.
    ERROR_REQUEST_ABORTED Um comando de dispositivo externo foi anulado. Possivelmente, o dispositivo foi removido ou ocorreu uma redefinição de barramento.

     

Informações do dispositivo

No Windows Millennium Edition e no Windows XP, o moniker de dispositivo do filtro DV dá suporte a uma propriedade Description além da propriedade FriendlyName. Essa propriedade retorna uma descrição do dispositivo, obtida do arquivo INF, que geralmente contém o nome da marca do dispositivo. No entanto, essa propriedade não tem suporte para todos os modelos de dispositivo.

Para obter mais informações sobre monikers de dispositivo, consulte Usando o Enumerador de Dispositivo do Sistema.

Horários do Relógio

O driver MSDV usa o relógio de ônibus 1394 contido nos pacotes de dados 1394 para derivar o relógio. Ele usa esses valores para carimbar os exemplos de mídia DV. Como esse relógio de origem não é o relógio do sistema de computador, os horários acabarão sendo descompassos do relógio do sistema de computador. Conforme observado acima, no entanto, por padrão, o Gerenciador do Grafo de Filtro selecionará MSDV como o relógio de referência do grafo.

A interfaceIAMDroppedFrames dorelata a medida atual do driver de quadros descartados; esse valor pode não estar perfeitamente sincronizado com o número real de quadros descartados em um determinado momento. Se os quadros forem descartados, isso indicará que o sistema não está equilibrado (a produção de dados excede o consumo de dados). Por exemplo, o disco rígido do usuário pode não ser rápido o suficiente para dar suporte a taxas de captura de DV.

de Filtros do DirectShow

vídeo digital no DirectShow