Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
[Fitur yang terkait dengan halaman ini, MCI, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer. MediaPlayer telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer alih-alih MCI, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Windows menyediakan layanan VCR melalui driver perangkat yang didasarkan pada perintah MCI yang ditetapkan untuk VCR. Bagian ini menjelaskan driver MCI Video System Control Architecture (VISCA) dan menjelaskan cara menggunakannya untuk mengontrol VCR.
Jenis perangkat vcr mengontrol VCR. Untuk daftar perintah MCI yang dikenali oleh perangkat VCR, lihat Set Perintah VCR.
The MCI VISCA Driver
Driver MCI VISCA mengontrol VCR yang kompatibel dengan Sony VISCA, seperti CVD-1000 VDeck. Driver VISCA mengontrol pengangkutan pita, penyetel saluran, dan saluran input dan output VCR.
Mencari dan Memosisikan dengan VCR
Driver VISCA menggunakan dua metode untuk melacak pergerakan rekaman video dalam transportasi pita VCR: informasi kode waktu dan penghitung pita . Informasi kode waktu adalah informasi waktu yang telah direkam pada rekaman video. Sebagian besar VCR memungkinkan kode waktu direkam tanpa menghancurkan trek audio dan video. Penghitung pita memperkirakan jumlah rekaman video yang melewati kepala rekaman video untuk mendapatkan posisi.
Informasi kode waktu dan penghitung pita meningkat saat rekaman video bergerak dari awal ke akhir. Karena akurasinya, menggunakan informasi kode waktu untuk memposisikan rekaman video hampir selalu lebih disukai untuk menggunakan penghitung pita.
Bendera perintah MCI untuk menentukan informasi penempatan dinyatakan sebagai dependensi waktu: "format waktu", "durasi", "dari", "ke", dan "cari". (Selain itu, status perintah "posisi" mengembalikan nilai waktunya dalam format waktu saat ini.)
Driver VISCA menggunakan perintah set "mode waktu" untuk memilih jenis posisi yang akan digunakan dengan rekaman video. Ketika mode waktu diatur ke "kode waktu", status "posisi" dan mengatur perintah "format waktu" menggunakan kode waktu pada rekaman video. Ketika mode waktu diatur ke "penghitung", status "posisi" dan mengatur perintah "format waktu" menggunakan penghitung.
Aplikasi dapat mengatur mode waktu untuk "mendeteksi" jika tidak masalah bahwa mungkin ada dua sumber informasi posisi. Saat dalam mode deteksi, driver VISCA menggunakan informasi kode waktu untuk posisi ketika salah satu kondisi berikut terjadi:
- Informasi kode waktu ada ketika driver dibuka.
- Anda mengubah rekaman video dengan mengatur perintah "buka pintu" dan informasi kode waktu ada di rekaman video.
- Perintah set "mode waktu" diterbitkan kembali.
Jika informasi kode waktu tidak dapat ditemukan, driver menggunakan penghitung pita.
Untuk menentukan metode penempatan saat ini, terbitkan status perintah "jenis waktu", yang mengembalikan "kode waktu" atau "penghitung". Anda juga dapat mengidentifikasi mode posisi saat ini dengan menggunakan status perintah "mode waktu", yang mengembalikan "kode waktu", "penghitung", atau "deteksi".
Perintah status "penghitung" mengambil nilai penghitung pita saat ini, terlepas dari metode pemosisian saat ini; namun, Anda dapat menggunakan pembacaan penghitung ini hanya dengan perintah diatur "penghitung".
Driver VISCA dapat mengambil format kode waktu asli yang direkam pada rekaman video dengan menggunakan status "jenis kode waktu" dan status perintah "kecepatan bingkai" bersama-sama. Misalnya, jika jenis kode waktu adalah "smpte" dan kecepatan bingkai adalah 25, format kode waktu asli yang direkam pada rekaman video adalah SMPTE 25.
Driver VISCA juga dapat mengambil resolusi penghitung dengan menggunakan status perintah "resolusi penghitung", yang mengembalikan "detik" atau "bingkai". Format penghitung mungkin masih diatur ke SMPTE 30, tetapi nilai yang dikembalikan hanya mengembalikan bingkai 0. Jika jenis waktu saat ini adalah penghitung, resolusi ini juga berlaku untuk nilai yang dikembalikan oleh status "posisi".
Menangkap Bingkai
Perintah pengambilan bingkai menyediakan gambar diam untuk perangkat frame-capture. Perangkat pengambilan bingkai adalah bagian terpisah dari perangkat keras yang mampu membaca dan menyimpan gambar video. Driver VISCA mendukung perintah membekukan (MCI_FREEZE) untuk menstabilkan gambar diam untuk penangkapan. Selain itu, perintah unfreeze (MCI_UNFREEZE) dapat digunakan untuk memulai ulang transportasi pita setelah perintah membekukan.
Perintah pembekuan menyediakan gambar berkualitas tinggi, stabil, dan basis waktu – dikoreksi untuk perangkat pengambilan bingkai. Perintah ini ada karena perangkat mungkin tidak selalu memberikan gambar output kualitas maksimumnya selama pemutaran atau saat dijeda; gambar video seperti itu tidak cocok untuk menangkap.
Perintah mencairkan membuka kunci transportasi pita dan melanjutkan mode transportasi yang berlaku sebelum perintah membekukan.
Saat aplikasi Anda perlu merekam gambar video di VCR, gunakan perintah membekukan "input" atau perintah isis (MCI_CUE) untuk merekam gambar.
Memilih Input
Driver VISCA mendukung tiga jenis input: video, audio, dan kode waktu. Input video mencakup dua saluran standar (baris 1 dan 2), saluran SVideo, saluran tambahan, dan saluran dari tuner internal. Input audio mencakup dua saluran standar (garis 1 dan 2) dan saluran dari tuner internal. Input kode waktu bersifat internal untuk VCR.
Output normal membawa input yang saat ini dipilih ketika VCR merekam atau ketika transportasi pita dihentikan, dan mereka membawa isi rekaman video ketika transportasi pita diputar atau dijeda. Output yang dipantau membawa informasi yang sama dengan output normal ditambah kode waktu dan informasi saluran saat ini.
Dengan asumsi input eksternal yang sesuai terhubung ke VCR Anda dan Anda telah memutuskan apa yang ingin Anda rekam, Anda dapat memilih input yang akan direkam. Misalnya, untuk merekam atau melihat dari video "svideo" dan input audio "baris 1", Anda akan menggunakan perintahsetvideo(MCI_SETVIDEO) dan setaudio (MCI_SETAUDIO) untuk memilih sumber input ini. Anda dapat memverifikasi pilihan ini dengan menggunakan perintahstatus(MCI_STATUS).
Secara default, monitor menunjukkan dengan tepat apa yang muncul sebagai output. Namun, terkadang, Anda mungkin ingin melihat satu sumber saat merekam dari sumber lain. Ini adalah praktik umum menggunakan tuner. Misalnya, Anda mungkin ingin menonton saluran 4 saat merekam saluran 7. Dalam hal ini, Anda memiliki dua input tuner logis. Anda dapat menyiapkan VCR dengan menggunakan perintah berikut:
Untuk meninjau satu sumber saat merekam dari sumber lain
- Gunakan perintahsettuner(MCI_SETTUNER) untuk memilih saluran yang akan ditonton dan direkam.
- Gunakan perintah setvideo untuk memilih sumber perekaman video.
- Gunakan perintahsetaudiountuk memilih sumber perekaman audio.
- Gunakan perintahsetvideountuk merutekan input video saluran 4 ke output yang dipantau untuk menampilkannya di layar.
- Gunakan perintahsetaudiountuk merutekan input audio saluran 4 ke output yang dipantau untuk memutar audio.
- Verifikasi pilihan Anda dengan menggunakan perintahstatus.
Driver VISCA juga mendukung jenis input khusus untuk audio dan video yang disebut bisukan. Bisu memungkinkan pemilihan "tanpa input", yang berguna saat merekam sinyal kosong.
Memilih Trek Perekaman
Ada tiga jenis trek perekaman pada rekaman video: video, audio, dan kode waktu. Anda hanya memiliki satu trek video atau kode waktu, tetapi Anda dapat menggunakan lebih dari satu trek audio. Ketika Anda melakukannya, jadikan trek 1 sebagai trek audio utama.
Driver VISCA mendukung dua mode operasi: merakit dan menyisipkan. Dalam merakit mode, semua trek dipilih untuk direkam. Dalam mode sisipkan, trek dapat dipilih secara independen untuk perekaman. Sebagian besar VCR berada dalam mode merakit secara default. Gunakan perintah set (MCI_SET) untuk mengubah mode ini.
Perekaman dan Pengeditan
Perintahrekaman(MCI_RECORD) menyediakan perekaman sederhana dan akurat hingga sekitar 1 detik dari posisi awal. Untuk merekam lebih akurat, atau jika Anda berharap untuk mengedit konten video saat secara bersamaan mengoperasikan beberapa dek, Anda harus menggunakan perintahisensi(MCI_CUE).
Perintah isian menyiapkan perangkat untuk direkam atau diputar. Gunakan perintah isian "input" untuk menyiapkan perangkat untuk perekaman. Perintah isyarat diperlukan karena aplikasi harus tahu kapan perangkat siap untuk melakukan perintah (dan karena dapat memakan waktu beberapa menit untuk mempersiapkanpemutaran(MCI_PLAY) atau perintah rekaman).
VCR mempersiapkan dirinya untuk merekam atau memutar dengan mencari in-point , yang merupakan posisi saat ini atau posisi yang ditentukan dengan menggunakan isyarat perintah "dari". Namun, jika bendera "preroll" ditentukan dengan perintah isensi, VCR memposisikan dirinya jarak pra-pendaftaran dari in-point. Bendera "preroll" juga menunjukkan bahwa VCR menggunakan mode pengeditan yang berlaku, jadi penting bagi Anda untuk menggunakan "preroll", terutama ketika Anda menginginkan rekaman yang paling akurat. (Gunakan perintahkemampuan(MCI_GETDEVCAPS) dengan bendera "dapat melakukan pra-pendaftaran" untuk memeriksa apakah mode pra-pendaftaran didukung.)
Nota
Saat Anda merekam menggunakan posisi "dari" dan "ke", posisi "dari" disertakan dalam pengeditan, dan posisi "ke" tidak.
Untuk informasi selengkapnya tentang perekaman, lihat Perekaman.
Menggunakan Jam Saat Mengedit
Saat mengedit, Anda mungkin ingin merekam segmen dari satu VCR ke VCR lainnya. Anda dapat mulai merekam pada waktu dan posisi tertentu pada satu VCR sementara yang lain mulai bermain pada saat dan posisi yang sama dengan menentukan tindakan (putar atau rekam), posisi, dan waktu untuk setiap VCR.
Kedua VCR harus menggunakan jam yang sama untuk jenis pengeditan ini; jam membantu menyinkronkan kedua perangkat. Anda dapat menentukan apakah dua VCR berbagi jam yang sama dengan menggunakan perintahstatus(MCI_STATUS) dengan bendera "id jam" untuk mengkueri setiap VCR. Jika nomor identifikasi yang dikembalikan oleh perintah status sama, perangkat menggunakan jam yang sama. Sebagai sumber daya bersama, jam dapat dihubungkan ke beberapa VCR. Driver VISCA hanya mendukung satu jam bersama.
Anda juga dapat menentukan resolusi jam dengan menggunakan status perintah "laju kenaikan jam". Perintah ini mengembalikan jumlah kenaikan yang didukung jam per detik. Misalnya, jika jam diperbarui setiap milidetik, perintah mengembalikan 1000 sebagai laju kenaikan jam. Keuntungan menggunakan tingkat kenaikan adalah bahwa laju dinyatakan sebagai bilangan bulat; jika tidak, kenaikan akan menjadi nilai floating-point (presisi tunggal atau ganda). Sebagai bilangan bulat, memanipulasi tingkat kenaikan adalah operasi sederhana dan tidak rentan terhadap kesalahan pembulatan. Anda dapat mengatur ulang jam dengan menggunakan perintah set (MCI_SET) dengan bendera "jam 0" (nol).
Saat mengeluarkanputar(MCI_PLAY), rekaman (MCI_RECORD), atau perintah cari (MCI_SEEK), Anda dapat menentukan kapan perintah akan dijalankan. Karakteristik VCR yang digunakan menentukan kapan harus memulai setiap VCR. Waktu harus memperhitungkan jumlah pra-pendaftaran yang diperlukan setiap perangkat dan jumlah waktu yang diperlukan untuk menyelesaikan perintah MCI yang digunakan untuk menyiapkan sesi edit. Untuk melakukan ini, ambil waktu jam dan tambahkan interval tunggu 5 hingga 10 detik. (Interval menunggu harus cukup lama untuk membiarkan pra-pendaftaran dan perintah MCI yang luar biasa selesai dijalankan.)
Untuk memastikan bahwa periode tunggu cukup lama, tempatkan perintah rekaman terakhir di aplikasi Anda dan periksa waktu segera sebelum itu. Jika interval terlalu pendek, mulai ulang perintah putar. Atau, Anda dapat memeriksa waktu segera setelah perintah terakhir skrip untuk memverifikasi bahwa ada cukup waktu untuk mengirim dan menyelesaikan semua perintah.