Esempio di DVApp

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Descrizione

Applicazione di acquisizione digital video (DV).

Questo esempio illustra come creare vari tipi di grafici di filtro per controllare le videocamere DV. Mostra anche come eseguire l'acquisizione, l'anteprima, la trasmissione e il controllo del dispositivo con una videocamera DV.

Utilizzo

L'applicazione DVApp supporta le modalità seguenti:

  • Anteprima: esegue il rendering di DV dalla videocamera a una finestra video.
  • Dv to type-1 file: acquisisce i dati DV dalla videocamera a un file DV di tipo 1.
  • File type-1 su DV: trasmette i dati da un file DV di tipo 1 alla videocamera.
  • Dv to type-2 file: acquisisce i dati DV dalla videocamera a un file DV di tipo 2.
  • File type-2 su DV: trasmette i dati da un file DV di tipo 2 alla videocamera.

Le modalità di acquisizione e trasmissione eseguono anche l'anteprima. Ognuna di queste modalità ha anche un'opzione No Preview , che disabilita l'anteprima. L'acquisizione senza anteprima è più efficiente e può ridurre il numero di fotogrammi eliminati.

L'applicazione viene avviata in modalità di anteprima. Per selezionare un'altra modalità, scegliere una modalità dal menu Modalità grafico . Per ogni modalità, DVApp compila un grafico di filtro che supporta la funzionalità di tale modalità. Per salvare il grafico come file GraphEdit (.grf), selezionare Salva grafico nel file dal menu File . Uscire da DVApp prima di aprire il file in GraphEdit.

Per acquisire un file:

  1. Dal menu File scegliere Imposta file di output e immettere un nome file.
  2. Dal menu Modalità grafico selezionare una modalità DV to File (digitare 1 o tipo 2, con o senza anteprima).
  3. Fare clic su Record.
  4. Se la videocamera è in modalità VTR, fare clic su Riproduci.
  5. Per arrestare l'acquisizione, fare clic su Arresta.

Per trasmettere da un file alla videocamera:

  1. Dal menu File fare clic su Imposta file di input e selezionare un file DV. Il file deve corrispondere alla modalità selezionata (tipo 1 o tipo 2).
  2. Dal menu Modalità grafico selezionare una modalità File su DV (digitare 1 o tipo 2, con o senza anteprima).
  3. Fare clic su Esegui.
  4. Per registrare i dati su nastro, fare clic su Record.
  5. Per interrompere la trasmissione, fare clic su Arresta.

Se la videocamera è in modalità VTR, l'utente può controllare il meccanismo di trasporto tramite i pulsanti di stile VCR dell'applicazione. Per cercare il nastro, immettere il codice temporale di destinazione e fare clic sul pulsante cerca.

Per limitare la quantità di dati acquisiti dall'applicazione, scegliere Acquisisci dimensioni dal menu File .

Per controllare il formato nastro (NTSC o PAL), scegliere Controlla nastro dal menu Opzioni .

Per modificare le dimensioni della finestra di anteprima, scegliere Modifica dimensioni decodifica dal menu Opzioni .

Note sulla programmazione

Lo scopo principale di questa applicazione è illustrare come creare varie acquisizioni DV e trasmettere grafici.

Arrivo e rimozione dei dispositivi

L'applicazione gestisce l'arrivo e la rimozione dei dispositivi usando due tecniche diverse. Per l'arrivo del dispositivo, il ciclo di messaggi dell'applicazione risponde ai messaggi WM_DEVICECHANGE. Per la rimozione dei dispositivi, l'applicazione risponde agli eventi EC_DEVICE_LOST dalla gestione dei grafici di filtro. Entrambi gli approcci funzionano, anche se l'evento EC_DEVICE_LOST dipende dall'esistenza del dispositivo nel grafico del filtro.

L'applicazione gestisce un solo dispositivo alla volta. Se il dispositivo corrente viene rimosso, l'applicazione cerca un altro dispositivo DV nel sistema.

In alcune videocamere DV, l'utente deve arrestare il dispositivo quando lo passa tra la modalità fotocamera e la modalità VTR, che attiva un messaggio perso dal dispositivo. L'applicazione risponde abilitando o disabilitando i comandi di menu appropriati. Tuttavia, se l'utente attiva rapidamente tra le modalità, la videocamera potrebbe non generare un messaggio perso dal dispositivo. È possibile forzare gli aggiornamenti dei menu scegliendo Modalità di aggiornamento dal menu Opzioni . Alcune videocamere DV possono attivare le modalità senza arrestare, ma inviare un messaggio perso dal dispositivo solo quando passano alla modalità VTR.

Controllo dei dispositivi

La funzionalità del pulsante Play and Record dipende dalla modalità corrente:

  • Anteprima: il grafico del filtro viene eseguito automaticamente. Il pulsante Play avvia il trasporto.
  • Acquisire il file: il pulsante Record esegue il grafico e il pulsante Play avvia il trasporto.
  • Trasmissione al dispositivo: il pulsante Play esegue il grafico e il pulsante Record avvia il trasporto.

L'applicazione di esempio non esegue l'acquisizione accurata dei fotogrammi. In vari punti, l'applicazione chiama la funzione Sleep per attendere che il dispositivo risponda. Le videocamere DV più recenti inviano una notifica quando lo stato del dispositivo cambia. I dispositivi meno recenti potrebbero non supportare la notifica; ai fini di un esempio, la chiamata di Sleep è una soluzione più semplice.

Download dell'esempio

Per scaricare gli esempi di DirectShow SDK, installare la versione più recente di Windows SDK.

Questo esempio viene installato nel percorso seguente: [SDK Root]\Samples\Multimedia\DirectShow\Capture\DVApp.

Controllo di una videocamera DV

Video digitale in DirectShow

Esempi di DirectShow