Services de magnétoscope
Windows fournit des services de magnétoscope par le biais d’un pilote de périphérique basé sur le jeu de commandes MCI pour les magnétoscopes. Cette section décrit le pilote VISCA (Video System Control Architecture) MCI et explique comment l’utiliser pour contrôler un magnétoscope.
Le type d’appareil vcr contrôle les magnétoscopes. Pour obtenir la liste des commandes MCI reconnues par les appareils vcR, consultez Ensemble de commandes VCR.
Pilote VISCA MCI
Le pilote VISCA MCI contrôle les magnétoscopes compatibles VISCA Sony, tels que le VDeck CVD-1000. Le pilote VISCA contrôle le transport de bandes, les tuners de canal et les canaux d’entrée et de sortie du magnétoscope.
Recherche et positionnement avec un magnétoscope
Le pilote VISCA utilise deux méthodes pour suivre le mouvement de la bande vidéo dans le transport de bande VCR : les informations de timecode et les compteurs de bandes. Les informations timecode sont des informations de minutage qui ont été enregistrées sur la bande vidéo. La plupart des magnétoscopes permettent d’enregistrer des timecodes sans détruire les pistes audio et vidéo. Les compteurs de bandes estiment la quantité de bande vidéo qui passe au-delà de la tête de bande vidéo pour obtenir une position.
Les informations de timecode et les compteurs de bandes augmentent à mesure que la bande vidéo se déplace du début à la fin. En raison de sa précision, l’utilisation d’informations de timecode pour positionner une bande vidéo est presque toujours préférable à l’utilisation de compteurs de bandes.
Les indicateurs de commande MCI pour spécifier les informations de positionnement sont exprimés sous forme de dépendances de temps : « format de temps », « durée », « from », « to » et « seek ». (En outre, la commande status « position » retourne sa valeur d’heure dans le format d’heure actuel.)
Le pilote VISCA utilise la commande set « time mode » pour sélectionner le type de positionnement à utiliser avec une bande vidéo. Lorsque le mode de temps est défini sur « timecode », les commandes « position » et « time format » status utilisent le timecode sur la bande vidéo. Lorsque le mode de temps est défini sur « compteur », le status commandes « position » et « format de l’heure » utilisent des compteurs.
Une application peut définir le mode de temps pour « détecter » s’il n’est pas important qu’il existe deux sources d’informations de position. En mode détection, le pilote VISCA utilise des informations de timecode pour le positionnement lorsque l’une des conditions suivantes se produit :
- Les informations de timecode sont présentes lorsque le pilote est ouvert.
- Vous modifiez une bande vidéo avec la commande « porte ouverte » définie et les informations de timecode sont présentes sur la bande vidéo.
- La commande set « time mode » est rééditée.
Si les informations de timecode sont introuvables, le pilote utilise les compteurs de bandes.
Pour déterminer la méthode de positionnement actuelle, émettez la commande status « type de temps », qui retourne « timecode » ou « counter ». Vous pouvez également identifier le mode de positionnement actuel à l’aide de la commande status « mode temps », qui retourne « timecode », « counter » ou « detect ».
La commande status « compteur » récupère la valeur actuelle du compteur de bandes, quelle que soit la méthode de positionnement actuelle ; toutefois, vous pouvez utiliser cette lecture de compteur uniquement avec la commande set « counter ».
Le pilote VISCA peut récupérer le format de timecode natif enregistré sur une bande vidéo en utilisant le status « type de code de temps » et status commandes « fréquence d’images » ensemble. Par exemple, si le type timecode est « smpte » et que la fréquence d’images est de 25, le format de timecode natif enregistré sur la bande vidéo est SMPTE 25.
Le pilote VISCA peut également récupérer la résolution du compteur à l’aide de la commande status « résolution du compteur », qui retourne « secondes » ou « frames ». Le format du compteur peut toujours être défini sur SMPTE 30, mais la valeur de retour ne retourne qu’une image de 0. Si le type d’heure actuel est compteur, cette résolution s’applique également à la valeur retournée par status « position ».
Capture d’images
Les commandes de capture d’images fournissent des images fixes pour un appareil de capture d’images. Un appareil de capture d’images est un élément matériel distinct capable de lire et de stocker l’image vidéo. Le pilote VISCA prend en charge la commande figer (MCI_FREEZE) pour stabiliser une image fixe pour la capture. En outre, la commande unfreeze (MCI_UNFREEZE) peut être utilisée pour redémarrer le transport de bandes après une commande de blocage .
La commande freeze fournit une image corrigée de haute qualité, stabilisée et de base de temps pour un appareil de capture d’images. Cette commande existe, car un appareil peut ne pas toujours fournir son image de sortie de qualité maximale pendant la lecture ou en pause ; une telle image vidéo ne convient pas pour la capture.
La commande unfreeze déverrouille le transport de bandes et reprend le mode de transport en vigueur avant la commande de blocage .
Lorsque votre application doit enregistrer une image vidéo sur le magnétoscope, utilisez la commande figer « input » ou la commande cue (MCI_CUE) pour enregistrer l’image.
Sélection des entrées
Le pilote VISCA prend en charge trois types d’entrée : vidéo, audio et timecode. Les entrées vidéo incluent deux canaux standard (lignes 1 et 2), un canal SVideo, un canal auxiliaire et un canal provenant d’un tuner interne. Les entrées audio incluent deux canaux standard (lignes 1 et 2) et un canal provenant d’un tuner interne. L’entrée timecode est interne au magnétoscope.
Les sorties normales transportent les entrées actuellement sélectionnées lorsque le magnétoscope est en cours d’enregistrement ou lorsque le transport de bande est arrêté, et elles transportent le contenu de la bande vidéo lorsque le transport de bande est en cours de lecture ou de suspension. Les sorties surveillées contiennent les mêmes informations que les sorties normales, ainsi que les informations actuelles sur le code temporel et le canal.
En supposant que les entrées externes appropriées sont connectées à votre magnétoscope et que vous avez décidé ce que vous souhaitez enregistrer, vous pouvez sélectionner les entrées à enregistrer. Par exemple, pour enregistrer ou afficher à partir de la vidéo « svideo » et des entrées audio « ligne 1 », vous devez utiliser les commandes setvideo (MCI_SETVIDEO) et setaudio (MCI_SETAUDIO) pour sélectionner ces sources d’entrée. Vous pouvez vérifier ces sélections à l’aide de la commande status (MCI_STATUS).
Par défaut, le moniteur affiche exactement ce qui apparaît comme sortie. Toutefois, il peut arriver que vous souhaitiez afficher une source lors de l’enregistrement à partir d’une autre. Il s’agit d’une pratique courante à l’aide du tuner. Par exemple, vous souhaiterez peut-être watch canal 4 pendant que vous enregistrez le canal 7. Dans ce cas, vous disposez de deux entrées de tuner logique. Vous pouvez configurer le magnétoscope à l’aide des commandes suivantes :
Pour passer en revue une source lors de l’enregistrement à partir d’une autre
- Utilisez la commande settuner (MCI_SETTUNER) pour sélectionner les canaux à watch et à enregistrer.
- Utilisez la commande setvideo pour sélectionner la source d’enregistrement vidéo.
- Utilisez la commande setaudio pour sélectionner la source d’enregistrement audio.
- Utilisez la commande setvideo pour acheminer l’entrée vidéo channel 4 vers la sortie surveillée pour l’afficher à l’écran.
- Utilisez la commande setaudio pour acheminer l’entrée audio du canal 4 vers la sortie surveillée pour lire l’audio.
- Vérifiez vos sélections à l’aide de la commande status.
Le pilote VISCA prend également en charge un type d’entrée spécial pour l’audio et la vidéo appelé sourdine. Le son permet de sélectionner « aucune entrée », ce qui est utile lors de l’enregistrement d’un signal vide.
Sélection des pistes d’enregistrement
Trois types de pistes d’enregistrement existent sur une bande vidéo : vidéo, audio et timecode. Vous n’avez qu’une seule piste vidéo ou timecode, mais vous pouvez utiliser plusieurs pistes audio. Dans ce cas, faites de la piste 1 le main piste audio.
Le pilote VISCA prend en charge deux modes de fonctionnement : assembler et insérer. En mode assemblage, toutes les pistes sont sélectionnées pour être enregistrées. En mode insertion, les pistes peuvent être sélectionnées indépendamment pour l’enregistrement. La plupart des magnétoscopes sont en mode assemblage par défaut. Utilisez la commande set (MCI_SET) pour modifier ces modes.
Enregistrement et modification
La commande record (MCI_RECORD) fournit un enregistrement simple et est précise à environ 1 seconde de la position de départ. Pour enregistrer plus précisément, ou si vous prévoyez de modifier le contenu vidéo tout en utilisant simultanément plusieurs decks, vous devez utiliser la commande cue (MCI_CUE).
La commande cue prépare l’appareil à l’enregistrement ou à la lecture. Utilisez la commande « entrée » pour préparer l’appareil pour l’enregistrement. La commande cue est requise, car une application doit savoir quand l’appareil est prêt à exécuter la commande (et parce que la préparation d’une commande de lecture (MCI_PLAY) ou d’enregistrement peut prendre plusieurs minutes).
Le magnétoscope se prépare à l’enregistrement ou à la lecture en recherchant jusqu’au point, qui est la position actuelle ou la position spécifiée à l’aide de la commande « from ». Toutefois, si l’indicateur « préroll » est spécifié avec la commande cue , le magnétoscope se positionne lui-même à la distance du préroll par rapport au point. L’indicateur « préroll » indique également que le magnétoscope utilise n’importe quel mode d’édition applicable. Il est donc important d’utiliser « préroll », en particulier lorsque vous souhaitez l’enregistrement le plus précis. (Utilisez la commande capability (MCI_GETDEVCAPS) avec l’indicateur « peut préroller » pour case activée si le mode de préroll est pris en charge.)
Notes
Lorsque vous enregistrez à l’aide des positions « from » et « to », la position « from » est incluse dans la modification et la position « à » ne l’est pas.
Pour plus d’informations sur l’enregistrement, consultez Enregistrement.
Utilisation de l’horloge lors de la modification
Lors de la modification, vous pouvez enregistrer des segments d’un magnétoscope à un autre. Vous pouvez commencer l’enregistrement à une heure et à une position spécifiques sur un magnétoscope tandis qu’un autre commence à jouer en même temps et position en spécifiant une action (lecture ou enregistrement), une position et une heure pour chaque magnétoscope.
Les deux magnétoscopes doivent utiliser la même horloge pour ce type de modification ; l’horloge permet de synchroniser les deux appareils. Vous pouvez déterminer si deux magnétoscopes partagent la même horloge à l’aide de la commande status (MCI_STATUS) avec l’indicateur « id d’horloge » pour interroger chaque magnétoscope. Si les numéros d’identification retournés par la commande status sont les mêmes, les appareils utilisent la même horloge. En tant que ressource partagée, l’horloge peut être connectée à plusieurs magnétoscopes. Le pilote VISCA ne prend en charge qu’une seule horloge partagée.
Vous pouvez également déterminer la résolution de l’horloge à l’aide de la commande status « fréquence d’incrément d’horloge ». Cette commande retourne le nombre d’incréments pris en charge par l’horloge par seconde. Par exemple, si l’horloge est mise à jour toutes les millisecondes, la commande retourne 1000 comme taux d’incrément d’horloge. L’avantage de l’utilisation du taux d’incrémentation est que le taux est exprimé sous forme d’entier ; sinon, l’incrément serait une valeur à virgule flottante (simple ou double précision). En tant qu’entier, la manipulation du taux d’incrémentation est une opération simple et n’est pas susceptible d’erreurs d’arrondi. Vous pouvez réinitialiser l’horloge à l’aide de la commande set (MCI_SET) avec l’indicateur « horloge 0 » (zéro).
Lors de l’émission d’une commande de lecture (MCI_PLAY), d’enregistrement (MCI_RECORD) ou de recherche (MCI_SEEK), vous pouvez spécifier quand la commande doit être exécutée. Les caractéristiques des magnétoscopes utilisés déterminent quand démarrer chaque magnétoscope. Le minutage doit tenir compte de la quantité de pré-inscription nécessaire pour chaque appareil et du temps nécessaire pour exécuter les commandes MCI utilisées pour configurer la session d’édition. Pour ce faire, récupérez l’heure d’horloge et ajoutez un intervalle d’attente de 5 à 10 secondes. (L’intervalle d’attente doit être suffisamment long pour laisser le préroll et toutes les commandes MCI en suspens terminer l’exécution.)
Pour vous assurer que la période d’attente est suffisamment longue, placez la commande d’enregistrement en dernier dans votre application et case activée l’heure immédiatement avant celle-ci. Si l’intervalle est trop court, redémarrez la commande play . Vous pouvez également case activée l’heure immédiatement après la dernière commande du script pour vérifier qu’il y a suffisamment de temps pour envoyer et terminer toutes les commandes.