Interfaccia IAMTimecodeReader (strmif.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine 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, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

L'interfaccia IAMTimecodeReader legge il timecode SMPTE o MIDI da un dispositivo esterno. I driver MSDV e MSTape supportano questa interfaccia per la lettura del timecode da un dv esterno o mpeg-2.

Ereditarietà

L'interfaccia IAMTimecodeReader eredita dall'interfaccia IUnknown . IAMTimecodeReader include anche questi tipi di membri:

Metodi

L'interfaccia IAMTimecodeReader include questi metodi.

 
IAMTimecodeReader::get_VITCLine

Il metodo get_VITCLine recupera la riga dell'intervallo verticale usata dal lettore timecode per leggere timecode.
IAMTimecodeReader::GetTCRMode

Il metodo GetTCRMode recupera le proprietà del lettore timecode.
IAMTimecodeReader::GetTimecode

Il metodo GetTimecode recupera i valori di timecode, userbit e flag più recenti disponibili nel flusso.
IAMTimecodeReader::p ut_VITCLine

Il metodo put_VITCLine specifica la riga dell'intervallo verticale che verrà usata dal lettore timecode per leggere timecode.
IAMTimecodeReader::SetTCRMode

Il metodo SetTCRMode imposta le proprietà del lettore timecode.

Commenti

Per i dispositivi Windows Driver Model (WDM), il filtro di acquisizione video WDM espone automaticamente questa interfaccia se il driver WDM supporta il set di proprietà PROPSETID_TIMECODE_READER. Per altre informazioni, vedere la documentazione di Windows Driver Kit (WDK).

Il timecode SMPTE è un sistema di indirizzamento dei fotogrammi che identifica le origini video e audio, rende possibile la sincronizzazione automatica delle tracce e fornisce un contenitore per dati aggiuntivi correlati al materiale di origine. Lo scopo principale di SMPTE timecode è quello di fornire un indirizzo leggibile dal computer per video e audio. Viene visualizzato in formato hh:mm:ss:ff (ore, minuti, secondi, fotogrammi) ed è definito accuratamente in ANSI/SMPTE 12-1986.

Le applicazioni in genere risparmiano timecode in uno dei due modi. Viene scritto nel file di acquisizione come flusso aggiuntivo o come tabella di discontinuità archiviata nell'indice di file AVI esteso. Viene comunemente usato per attivare l'acquisizione o la riproduzione e per creare elenchi decisionali di modifica che descrivono come il materiale di origine è organizzato in un prodotto finito.

Se si intende acquisire timecode, considerarlo come un flusso separato con il proprio tipo di supporto. Può essere utilizzata da un filtro multiplexer appropriato per la scrittura di file. Tuttavia, a volte ci sono errori nella lettura del timecode del nastro a causa di dropout e altri problemi meccanici del nastro. In questi casi, il filtro di origine timecode deve semplicemente eliminare i campioni e contrassegnare quello successivo valido con la proprietà di discontinuità.

Se si prevede di usare timecode per attivare l'acquisizione o la riproduzione da un videotape timecoded (o "striped"), la sequenza di eventi viene eseguita come segue:

  1. Creare un grafico di acquisizione, aprire un file AVI di destinazione e preallocare lo spazio su disco, se necessario. Se il materiale acquisito verrà aggiunto a un file AVI esistente, cercare alla fine del file prima di scrivere. Il grafico di acquisizione viene sospeso a questo punto.
  2. Cercare il record di controllo virtuale nel punto di inizio dell'acquisizione e prendere nota del timecode. È possibile immettere questo valore manualmente nel programma oppure l'applicazione può leggerla automaticamente. La lettura automatica richiede che il grafico sia in esecuzione, ma le interfacce di controllo del flusso sui pin di input del multiplexer del file stanno rimuovendo campioni in ingresso, eseguendo in modo efficace l'acquisizione.
  3. Indicare al registro virtuale di preroll la posizione, in genere cinque secondi prima del punto di destinazione.
  4. Avviare il registro virtuale e il grafico. Quando viene raggiunto il punto di attivazione (o il punto di attivazione meno la preroll del writer di file), le interfacce del controllo di flusso rilasciano il multiplexer del file e inizia a trasmettere esempi multimediali al writer di file.
  5. È possibile arrestare il processo di acquisizione manualmente o impostando una proprietà duration sull'interfaccia del controllo di flusso.
È necessario considerare il timecode discontinuo, sia durante la preroll che durante il processo di acquisizione; è ragionevole richiedere che il timecode sia continuo e monotonico in tutto il preroll e il punto di inizio dell'acquisizione. Ciò impedisce un calcolo potenzialmente ambiguo dei tempi di flusso relativi dal metodo IMediaSeeking::ConvertTimeFormat . Inoltre, il timecode non deve essere l'unico segnale di controllo per l'acquisizione attivata. Tutti i dati con timestamp archiviati nell'intervallo di spaziatura verticale, ad esempio i dati con sottotitoli intercast o con sottotitoli (XDS), possono essere usati per avviare lo streaming di dati video e audio su disco.

Requisiti hardware

Vedere l'interfaccia IAMExtTransport per i requisiti hardware.

Filtrare gli sviluppatori

Implementare questa interfaccia in un filtro del dispositivo esterno quando si vuole specificare come un dispositivo esterno deve leggere le informazioni sul codice temporale SMPTE/MIDI. Esporre l'interfaccia IMediaSeeking sul filtro in modo che le applicazioni possano convertire timecode in tempo di riferimento, usando il metodo IMediaSeeking::ConvertTimeFormat .

Il dispositivo esterno deve essere in grado di leggere timecode e inviarlo al computer tramite l'interfaccia di controllo. In caso contrario, è necessario avere una scheda lettore timecode nel computer oppure scrivere un decodificatore software che converte VITC (Vertical Interval Timecode) in fotogrammi video acquisiti o LTC (Linear Timecode) acquisiti come segnale audio negli esempi di timecode DirectShow.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione strmif.h (include Dshow.h)

Vedi anche

Interfacce