Sdílet prostřednictvím


Služby VCR

[Funkce přidružená k této stránce, MCI, je starší funkce. Byla nahrazena MediaPlayer. MediaPlayer je optimalizovaný pro Windows 10 a Windows 11. Microsoft důrazně doporučuje, aby nový kód používal MediaPlayer místo MCI, pokud je to možné. Microsoft navrhuje, aby se stávající kód, který používá starší rozhraní API, přepsal, aby se nová rozhraní API používala, pokud je to možné.]

Systém Windows poskytuje služby VCR prostřednictvím ovladače zařízení založeného na sadě příkazů MCI pro VCR. Tato část popisuje ovladač MCI Video System Control Architecture (VISCA) a vysvětluje, jak ho použít k řízení VCR.

vcr typu zařízení řídí VCR. Seznam příkazů MCI rozpoznaných zařízeními VCR najdete v tématu sady příkazů VCR .

Ovladač MCI VISCA

Ovladač MCI VISCA řídí sony VISCA kompatibilní VCRs, jako je CVD-1000 VDeck. Ovladač VISCA řídí přenos pásky, kanálové tunery a vstupní a výstupní kanály VCR.

Vyhledávání a umístění pomocí VCR

Ovladač VISCA používá dvě metody sledování pohybu videotape v rámci přenosu pásky VCR: informace o časovém kódu a páskové čítače. Informace o časovém kódu jsou informace o časování, které byly zaznamenány na videotape. Většina VCR umožňuje nahrávání časových kódů bez zničení zvukových stop a videí. Páskové čítače odhadují množství videotape, které se pohybuje kolem hlavičky videotape, aby získaly pozici.

Informace o časovém kódu i čítače pásek se zvyšují, protože se videotape pohybuje od začátku do konce. Vzhledem k přesnosti je použití informací o časovém kódu k umístění videotape téměř vždy vhodnější než použití čítačů pásky.

Příznaky příkazu MCI pro určení informací o umístění jsou vyjádřeny jako časové závislosti: "formát času", "duration", "from", "to" a "seek". (Také stav příkaz position vrátí jeho časovou hodnotu v aktuálním formátu času.)

Ovladač VISCA používá nastavit "časový režim" k výběru typu umístění pro použití s videotapejem. Pokud je časový režim nastavený na "timecode", stav "position" a nastavit příkazy "time format" (formát času) používají ve videotapemu časový kód. Pokud je časový režim nastavený na "counter", stav "position" a nastavit "formát času" příkazy používají čítače.

Aplikace může nastavit časový režim tak, aby "rozpoznal", pokud nezáleží na tom, že mohou existovat dva zdroje informací o poloze. Když je ovladač VISCA v režimu zjišťování, používá informace o časovém kódu k umístění, když dojde k některé z následujících podmínek:

  • Informace o časovém kódu se zobrazí při otevření ovladače.
  • Změníte videotape s nastaveným příkazem "otevřít dveře" a informace o časovém kódu jsou přítomné na videotapech.
  • Příkaz nastavit "časový režim" se znovu zobrazí.

Pokud nelze najít informace o časovém kódu, ovladač použije čítače pásek.

Pokud chcete zjistit aktuální metodu umístění, zadejte stav "typ času", který vrátí buď "timecode" nebo "counter". Aktuální režim umístění můžete identifikovat také pomocí stavu příkazu "časový režim", který vrátí "timecode", "counter" nebo "detect".

stav příkaz "counter" načte aktuální hodnotu čítače pásky bez ohledu na aktuální metodu umístění; Tento čítač však můžete použít pouze pro čtení nastaveným příkazem "counter".

Ovladač VISCA může načíst nativní formát časového kódu zaznamenaný u videotapeho pomocí stavu stavu "typ časového kódu" a stav příkazy "frekvence snímků". Pokud je například typ časového kódu "smpte" a frekvence snímků je 25, nativní formát časového kódu zaznamenaný na videotape je SMPTE 25.

Ovladač VISCA může také načíst rozlišení čítače pomocí stavu příkazu "rozlišení čítače", který vrátí "sekundy" nebo "rámce". Formát čítače může být stále nastavený na SMPTE 30, ale návratová hodnota vrátí pouze rámec 0. Pokud je aktuální typ času čítačem, použije se toto řešení také na hodnotu vrácenou stavem "position".

Zachytávání snímků

Příkazy pro zachytávání snímků poskytují stále obrázky pro zařízení prosnímkové zachytávání . Zařízení pro zachytávání snímků je samostatná část hardwaru, která dokáže číst a ukládat obraz videa. Ovladač VISCA podporuje příkaz ukotvit (MCI_FREEZE) pro stabilizaci stále obrazu pro zachytávání. Příkaz odblokovat (MCI_UNFREEZE) lze také použít k restartování přenosu pásky pomocí příkazu ukotvit.

Příkaz ukotvit poskytuje vysoce kvalitní, stabilizovaný, časový základ – opravený obrázek pro zařízení pro zachytávání snímků. Tento příkaz existuje, protože zařízení nemusí během přehrávání nebo pozastavení vždy dodávat svůj výstupní obrázek s maximální kvalitou; takový obraz videa není vhodný pro zachycení.

Příkaz uvolnění odemkne přenos pásky a obnoví režim přenosu, než ukotvit příkaz.

Když vaše aplikace potřebuje nahrát obrázek videa ve VCR, použijte k zaznamenání obrázku příkaz "input" nebo příkaz cue (MCI_CUE).

Výběr vstupů

Ovladač VISCA podporuje tři typy vstupu: video, zvuk a časový kód. Vstupy videa zahrnují dva standardní kanály (linky 1 a 2), kanál SVideo, pomocný kanál a kanál z interního tuneru. Zvukové vstupy zahrnují dva standardní kanály (řádky 1 a 2) a kanál z interního tuneru. Vstup časového kódu je interní pro VCR.

Normální výstupy mají aktuálně vybrané vstupy při záznamu VCR nebo při zastavení přenosu pásky a přenášejí obsah videotape při přehrávání nebo pozastavení přenosu pásky. Monitorované výstupy mají stejné informace jako normální výstupy a aktuální informace o časovém kódu a kanálu.

Za předpokladu, že jsou příslušné externí vstupy připojené k vašemu VCR a rozhodli jste se, co chcete zaznamenat, můžete vybrat vstupy, které se mají zaznamenat. Pokud například chcete nahrát nebo zobrazit z videa svideo a zvukových vstupů "řádek 1", použili byste k výběru těchto vstupních zdrojů příkazy setvideo (MCI_SETVIDEO) a setaudio (MCI_SETAUDIO). Tyto výběry můžete ověřit pomocí příkazustavu(MCI_STATUS).

Ve výchozím nastavení monitor zobrazuje přesně to, co se zobrazuje jako výstup. Někdy ale můžete chtít zobrazit jeden zdroj při nahrávání z jiného. Toto je běžný postup při používání tuneru. Můžete například chtít sledovat kanál 4 během nahrávání kanálu 7. V tomto případě máte dva vstupy logického ladění. Službu VCR můžete nastavit pomocí následujících příkazů:

Kontrola jednoho zdroje při nahrávání z jiného zdroje

  1. Pomocí příkazu settuner (MCI_SETTUNER) vyberte kanály, které chcete sledovat a zaznamenávat.
  2. Pomocí příkazu setvideo vyberte zdroj záznamu videa.
  3. Pomocí příkazu setaudio vyberte zdroj zvukového záznamu.
  4. Pomocí příkazu setvideo směrujte vstup videa kanálu 4 do monitorovaného výstupu a zobrazte ho na obrazovce.
  5. Pomocí příkazu setaudio nasměrujte zvukový vstup kanálu 4 na monitorovaný výstup a přehrajte zvuk.
  6. Pomocí příkazustavuověřte výběry.

Ovladač VISCA podporuje také speciální typ vstupu pro zvuk a video s názvem ztlumení. Ztlumení umožňuje výběr "bez vstupu", což je užitečné při nahrávání prázdného signálu.

Výběr stop záznamu

Na videotapeu existují tři typy nahrávek: video, zvuk a časový kód. Máte jenom jedno video nebo stopu s časovým kódem, ale můžete použít více zvukových stop. Když to uděláte, udělejte 1 hlavní zvukovou stopu.

Ovladač VISCA podporuje dva provozní režimy: sestavení a vložení. V režimu sestaveníjsou vybrány všechny stopy, které mají být zaznamenány. V režim vloženílze skladby nezávisle vybrat pro nahrávání. Většina VCR je ve výchozím nastavení v režimu sestavení. Pomocí příkazu set (MCI_SET) změňte tyto režimy.

Nahrávání a úpravy

Příkaz záznamu (MCI_RECORD) poskytuje jednoduchý záznam a je přesný na přibližně 1 sekundu počáteční pozice. Pokud chcete zaznamenávat přesněji nebo pokud očekáváte, že budete upravovat obsah videa při současném provozování více prezentací, měli byste použít příkaz (MCI_CUE).

Příkaz cue připraví zařízení na nahrávání nebo přehrávání. Pomocí příkazu cue "input" (vstup) připravte zařízení na záznam. Příkaz cue je povinný, protože aplikace musí vědět, kdy je zařízení připravené k provedení příkazu (a protože příprava na přehrávání (MCI_PLAY) nebo záznamu může trvat několik minut).

Služba VCR se připraví na záznam nebo přehrávání vyhledáním , což je aktuální pozice nebo pozice určená příkazem cue "from". Pokud je příznak "preroll" zadán pomocí příkazu cue, umístí se však VCR sama o sobě předroll vzdáleností od bodu. Příznak "preroll" také označuje, že VCR používá jakýkoli použitelný režim úprav, takže je důležité použít "preroll", zejména pokud chcete mít nejpřesnější záznam. (Pomocí příkazu capability (MCI_GETDEVCAPS) s příznakem "can preroll" zkontrolujte, jestli je podporovaný režim prerollu.)

Poznámka

Při záznamu pomocí pozic "from" a "to" je pozice "from" zahrnuta v úpravě a pozice "to" není.

 

Další informace o záznamu naleznete v tématu Záznam.

Použití hodin při úpravách

Při úpravách můžete chtít zaznamenat segmenty z jednoho VCR do jiného. Záznam můžete zahájit v určitém čase a umístění na jednom VCR, zatímco druhý začne přehrávat najednou a umístěním zadáním akce (přehrávání nebo záznamu), pozice a času pro každou službu VCR.

Obě žádosti VCR musí pro tento typ úprav používat stejné hodiny; hodiny pomáhají synchronizovat obě zařízení. Pomocí příkazu status (MCI_STATUS) můžete určit, jestli dva virtuální řadiče domény sdílejí stejné hodiny s příznakem "clock id" k dotazování jednotlivých VCR. Pokud jsou identifikační čísla vrácená příkazem stavu stejná, zařízení používají stejné hodiny. Jako sdílený prostředek je možné hodiny připojit k několika VCR. Ovladač VISCA podporuje pouze jeden sdílený hodin.

Rozlišení hodin můžete určit také pomocí stavu příkazu "clock increment rate" (rychlost přírůstku hodin). Tento příkaz vrátí počet přírůstků, které hodiny podporují za sekundu. Pokud se například hodiny aktualizují po každém milisekundách, vrátí příkaz hodnotu 1000 jako rychlost přírůstku hodin. Výhodou použití přírůstkové sazby je, že se sazba vyjadřuje jako celé číslo; jinak by inkrementace byla hodnota s plovoucí desetinnou čárkou (jednoduchá nebo dvojitá přesnost). Jako celé číslo je manipulace s přírůstkovou rychlostí jednoduchou operací a není náchylná k chybám zaokrouhlování. Hodiny můžete resetovat pomocí příkazu set (MCI_SET) s příznakem "clock 0" (nula).

Při vydávání přehrát (MCI_PLAY), záznam (MCI_RECORD) nebo příkaz hledat (MCI_SEEK) můžete určit, kdy má být příkaz proveden. Vlastnosti používaných VCR určují, kdy se mají spustit jednotlivé VCR. Časování musí odpovídat množství předběžného zápisu jednotlivých zařízení a doba potřebná k dokončení příkazů MCI použitých k nastavení relace úprav. Uděláte to tak, že načtete hodiny a přidáte čekací interval 5 až 10 sekund. (Interval čekání musí být dostatečně dlouhý, aby se předběžné registrace a všechny nevyřízených příkazů MCI dokončily provádění.)

Pokud chcete zajistit, aby čekací období bylo dostatečně dlouhé, umístěte záznam příkaz poslední v aplikaci a zkontrolujte čas bezprostředně před ní. Pokud je interval příliš krátký, restartujte příkaz přehrát. Případně můžete čas zkontrolovat okamžitě po posledním příkazu skriptu a ověřit, že existuje dostatek času k odeslání a dokončení všech příkazů.