Bagikan melalui


Antarmuka IAMTimecodeReader (strmif.h)

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Antarmuka IAMTimecodeReader membaca kode waktu SMPTE atau MIDI dari perangkat eksternal. Driver MSDV dan MSTape mendukung antarmuka ini untuk membaca kode waktu dari DV eksternal atau MPEG-2 camcorder.

Warisan

Antarmuka IAMTimecodeReader mewarisi dari antarmuka IUnknown . IAMTimecodeReader juga memiliki jenis anggota berikut:

Metode

Antarmuka IAMTimecodeReader memiliki metode ini.

 
IAMTimecodeReader::get_VITCLine

Metode get_VITCLine mengambil garis interval vertikal yang digunakan pembaca kode waktu untuk membaca kode waktu.
IAMTimecodeReader::GetTCRMode

Metode GetTCRMode mengambil properti pembaca kode waktu.
IAMTimecodeReader::GetTimecode

Metode GetTimecode mengambil nilai kode waktu, userbit, dan bendera terbaru yang tersedia di aliran.
IAMTimecodeReader::p ut_VITCLine

Metode put_VITCLine menentukan garis interval vertikal yang akan digunakan pembaca kode waktu untuk membaca kode waktu.
IAMTimecodeReader::SetTCRMode

Metode SetTCRMode mengatur properti pembaca kode waktu.

Keterangan

Untuk perangkat Windows Driver Model (WDM), Filter Pengambilan Video WDM secara otomatis mengekspos antarmuka ini jika driver WDM mendukung kumpulan properti PROPSETID_TIMECODE_READER. Untuk informasi selengkapnya, lihat dokumentasi Windows Driver Kit (WDK).

Kode waktu SMPTE adalah sistem alamat bingkai yang mengidentifikasi sumber video dan audio, memungkinkan sinkronisasi trek otomatis, dan menyediakan kontainer untuk data tambahan yang terkait dengan materi sumber. Tujuan utama kode waktu SMPTE adalah untuk menyediakan alamat yang dapat dibaca mesin untuk video dan audio. Ini ditampilkan dalam format hh:mm:ss:ff (jam, menit, detik, bingkai) dan didefinisikan secara menyeluruh dalam ANSI/SMPTE 12-1986.

Aplikasi umumnya menghemat kode waktu dengan salah satu dari dua cara. Ini ditulis ke file pengambilan sebagai aliran tambahan atau sebagai tabel penghentian yang disimpan dalam indeks file AVI yang diperluas. Biasanya digunakan untuk memicu pengambilan atau pemutaran dan untuk membuat daftar keputusan edit yang menjelaskan bagaimana materi sumber diatur ke dalam produk jadi.

Jika Anda berniat untuk mengambil kode waktu, perlakukan sebagai aliran terpisah yang memiliki jenis medianya sendiri. Ini dapat dikonsumsi oleh filter multiplexer penulisan file yang sesuai. Namun, terkadang ada kesalahan dalam membaca kode waktu dari pita karena putus sekolah dan masalah pita mekanis lainnya. Dalam kasus seperti itu, filter sumber kode waktu hanya boleh menghilangkan sampel dan menandai yang valid berikutnya dengan properti penghentian.

Jika Anda berniat menggunakan kode waktu untuk memicu pengambilan atau pemutaran dari rekaman video yang dikodekan waktu (atau "bergaris"), urutan peristiwa berjalan sebagai berikut:

  1. Buat grafik pengambilan, buka file AVI target, dan pra-alokasikan ruang disk jika perlu. Jika materi yang diambil akan ditambahkan ke file AVI yang ada, cari di akhir file sebelum menulis. Grafik pengambilan dijeda pada saat ini.
  2. Cari VCR ke titik mulai pengambilan dan catat kode waktu. Anda dapat memasukkan nilai ini secara manual ke dalam program Anda, atau aplikasi dapat membacanya secara otomatis. Pembacaan otomatis mengharuskan grafik berjalan tetapi antarmuka kontrol aliran pada pin input multiplexer file membuang sampel masuk, secara efektif mengintai tangkapan.
  3. Isikan VCR ke posisi preroll, biasanya lima detik sebelum titik target.
  4. Mulai VCR dan grafik. Ketika titik pemicu tercapai (atau titik pemicu dikurangi preroll penulis file), antarmuka kontrol aliran merilis multiplexer file dan memulai sampel media streaming ke penulis file.
  5. Anda dapat menghentikan proses pengambilan secara manual atau dengan mengatur properti durasi pada antarmuka kontrol aliran.
Anda harus mempertimbangkan kode waktu yang dihentikan, baik selama pra-pendaftaran maupun selama proses penangkapan; adalah wajar untuk menuntut bahwa kode waktu terus menerus dan monoton meningkat di seluruh titik awal preroll dan capture. Ini mencegah perhitungan waktu streaming relatif yang berpotensi ambigu oleh metode IMediaSeeking::ConvertTimeFormat . Selain itu, kode waktu tidak perlu menjadi satu-satunya sinyal pembatasan untuk penangkapan yang dipicu. Setiap data bercap waktu yang disimpan dalam interval pengosongan vertikal, seperti Intercast atau data teks tertutup (XDS), dapat digunakan untuk memulai streaming data video dan audio ke disk.

Persyaratan Perangkat Keras

Lihat antarmuka IAMExtTransport untuk persyaratan perangkat keras.

Memfilter Pengembang

Terapkan antarmuka ini pada filter perangkat eksternal saat Anda ingin menentukan bagaimana perangkat eksternal harus membaca informasi kode waktu SMPTE/MIDI. Mengekspos antarmuka IMediaSeeking pada filter Anda sehingga aplikasi dapat mengonversi kode waktu menjadi waktu referensi, menggunakan metode IMediaSeeking::ConvertTimeFormat .

Perangkat eksternal harus dapat membaca kode waktu dan mengirimkannya ke komputer melalui antarmuka kontrolnya. Jika tidak demikian, Anda harus memiliki kartu pembaca kode waktu di komputer Anda, atau Anda dapat menulis dekoder perangkat lunak yang mengonversi VITC (Kode Waktu Interval Vertikal) dalam bingkai video yang diambil atau LTC (Kode Waktu Linear) yang diambil sebagai sinyal audio ke dalam sampel kode waktu DirectShow.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header strmif.h (termasuk Dshow.h)

Lihat juga

Antarmuka