Bagikan melalui


Layanan VCR

Windows menyediakan layanan VCR melalui driver perangkat yang didasarkan pada set perintah MCI 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 Memposisikan 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 hingga 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, perintah "posisi" status 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 "timecode", perintah status "posisi" dan atur "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 penempatan ketika salah satu kondisi berikut terjadi:

  • Informasi kode waktu ada ketika driver dibuka.
  • Anda mengubah rekaman video dengan perintah "pintu terbuka" dan informasi kode waktu yang ditetapkan ada di rekaman video.
  • Perintah atur "mode waktu" diterbitkan kembali.

Jika informasi kode waktu tidak dapat ditemukan, driver menggunakan penghitung pita.

Untuk menentukan metode penempatan saat ini, terbitkan perintah status "jenis waktu", yang mengembalikan "timecode" atau "counter". Anda juga dapat mengidentifikasi mode posisi saat ini dengan menggunakan perintah status "mode waktu", yang mengembalikan "kode waktu", "penghitung", atau "deteksi".

Perintah "penghitung" status mengambil nilai penghitung pita saat ini, terlepas dari metode pemosisian saat ini; namun, Anda dapat menggunakan pembacaan penghitung ini hanya dengan perintah "penghitung" yang ditetapkan .

Driver VISCA dapat mengambil format kode waktu asli yang direkam pada rekaman video dengan menggunakan perintah status "jenis kode waktu" dan status "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 perintah status "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, maka resolusi ini juga berlaku untuk nilai yang dikembalikan oleh status "posisi".

Menangkap Bingkai

Perintah pengambilan bingkai menyediakan gambar diam untuk perangkat pengambilan bingkai. Perangkat pengambilan bingkai adalah bagian terpisah dari perangkat keras yang mampu membaca dan menyimpan gambar video. Driver VISCA mendukung perintah pembeku (MCI_FREEZE) untuk menstabilkan gambar diam untuk menangkap. Selain itu, perintah cairkan (MCI_UNFREEZE) dapat digunakan untuk menghidupkan ulang transportasi pita setelah perintah pembekuan .

Perintah pembekuan menyediakan gambar berkualitas tinggi, stabil, dan basis waktu – diperbaik untuk perangkat frame-capture. Perintah ini ada karena perangkat mungkin tidak selalu memberikan gambar output berkualitas maksimum selama pemutaran atau saat dijeda; gambar video seperti itu tidak cocok untuk menangkap.

Perintah cairkan membuka kunci transportasi pita dan melanjutkan mode transportasi yang berlaku sebelum perintah pembekuan .

Ketika aplikasi Anda perlu merekam gambar video di VCR, gunakan perintah bekukan "input" atau perintah iso (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 (baris 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 saat 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 perintah setvideo (MCI_SETVIDEO) dan setaudio (MCI_SETAUDIO) untuk memilih sumber input ini. Anda dapat memverifikasi pilihan ini dengan menggunakan perintah status (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 watch 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

  1. Gunakan perintah settuner (MCI_SETTUNER) untuk memilih saluran yang akan watch dan rekaman.
  2. Gunakan perintah setvideo untuk memilih sumber perekaman video.
  3. Gunakan perintah setaudio untuk memilih sumber perekaman audio.
  4. Gunakan perintah setvideo untuk merutekan input video saluran 4 ke output yang dipantau untuk menampilkannya di layar.
  5. Gunakan perintah setaudio untuk merutekan input audio saluran 4 ke output yang dipantau untuk memutar audio.
  6. Verifikasi pilihan Anda dengan menggunakan perintah status .

Driver VISCA juga mendukung jenis input khusus untuk audio dan video yang disebut bisu. Bisukan 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. Saat Anda melakukannya, jadikan trek 1 sebagai trek audio utama.

Driver VISCA mendukung dua mode operasi: merakit dan menyisipkan. Dalam mode merakit, 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

Perintah rekaman (MCI_RECORD) menyediakan rekaman sederhana dan akurat hingga sekitar 1 detik dari posisi awal. Untuk merekam lebih akurat, atau jika Anda berharap untuk mengedit konten video saat mengoperasikan beberapa dek secara bersamaan, Anda harus menggunakan perintah isensi (MCI_CUE).

Perintah iseng 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 mempersiapkan putar (MCI_PLAY) atau perintah rekaman ).

VCR mempersiapkan dirinya untuk merekam atau bermain dengan mencari ke titik, yang merupakan posisi saat ini atau posisi yang ditentukan dengan menggunakan perintah isyarat "dari". Namun, jika bendera "preroll" ditentukan dengan perintah iseng , VCR memposisikan dirinya jarak preroll 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 perintah kemampuan (MCI_GETDEVCAPS) dengan bendera "dapat melakukan pra-pendaftaran" untuk memeriksa apakah mode pra-pendaftaran didukung.)

Catatan

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 (bermain atau merekam), 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 memiliki jam yang sama dengan menggunakan perintah status (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 perintah status "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 tarif 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 mengeluarkan perintah putar (MCI_PLAY), rekam (MCI_RECORD), atau cari (MCI_SEEK), Anda dapat menentukan kapan perintah akan dijalankan. Karakteristik VCR yang digunakan menentukan kapan harus memulai setiap VCR. Waktu harus memperkirakan 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 preroll dan perintah MCI yang luar biasa selesai dieksekusi.)

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.