Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
[De functie die is gekoppeld aan deze pagina, DirectShow, is een verouderde functie. Het is vervangen door MediaPlayer, IMFMediaEngineen Audio/Video Capture in Media Foundation. Deze functies zijn geoptimaliseerd voor Windows 10 en Windows 11. Microsoft raadt ten zeerste aan om nieuwe code te gebruiken MediaPlayer, IMFMediaEngine en Audio/Video Capture in Media Foundation in plaats van DirectShow, indien mogelijk. Microsoft stelt voor dat bestaande code die gebruikmaakt van de verouderde API's, indien mogelijk opnieuw worden geschreven om de nieuwe API's te gebruiken.]
MSDV is het stuurprogramma Microsoft Windows Driver Model (WDM) voor DV-cmdlets. Het stuurprogramma wordt weergegeven als een DirectShow-filter wanneer het apparaat is aangesloten. Deze wordt opgesomd in twee filtercategorieën:
- CLSID_VideoInputDeviceCategory ("Video Capture Sources")
- AM_KSCATEGORY_RENDER ("WDM Streaming Rendering Devices")
De beschrijvende naam van het filter is Microsoft DV Camera and VCRof een gelokaliseerd equivalent. Op sommige apparaten bevat de eigenschap Description een beschrijving van het specifieke model, dat kan worden gebruikt in plaats van de algemene beschrijvende naam. Zie Een capture-apparaat selecterenvoor meer informatie.
MSDV heeft twee uitvoerpinnen. Eén pin levert DV-frames die interleaved audio- en videogegevens bevatten. De andere speld levert alleen videoframes zonder audio. MSDV kan niet streamen vanuit beide pinnen tegelijk, dus er kan slechts één uitvoerpin tegelijk worden aangesloten. Zie Capture DV to Filevoor meer informatie over het vastleggen van video vanaf een DV-apparaat.
De meeste DV-recorders hebben een videobandrecorder (VTR) subunit, die gegevens van tape naar de computer kan verzenden. Voor de toepassing werkt het vastleggen vanaf tape hetzelfde als het vastleggen van live video. Het enige verschil is dat de toepassing het externe tapetransport moet regelen: de tape starten en stoppen, terugspoelen, enzovoort. Voor dit doel maakt MSDV de IAMExtDevice-, IAMExtTransporten IAMTimecodeReader interfaces beschikbaar. Zie voor meer informatie over het beheren van een VTR Control a DV Recorder.
U kunt dv ook van de computer naar de webcam verzenden. De video kan vervolgens worden bekeken in het onboardscherm van de webcam of opgenomen op tape. Ter ondersteuning van deze functionaliteit heeft MSDV een invoerpincode die een interleaved DV-stream kan ontvangen. Wanneer de invoerpincode is verbonden, fungeert MSDV als een rendererfilter in plaats van een capture-filter. MSDV biedt geen ondersteuning voor zoeken in deze modus. Zie Dv verzenden van bestand naar tapevoor meer informatie over het verzenden van DV naar het apparaat.
Houd er rekening mee dat de invoer- en uitvoerpinnen niet tegelijkertijd kunnen worden verbonden, omdat het apparaat niet in beide richtingen tegelijk kan streamen.
In veel webcams zorgt het schakelen tussen de VTR-modus en de cameramodus ervoor dat het apparaat wordt uitgeschakeld. Daarom kan DirectShow het apparaat verliezen wanneer de gebruiker schakelt tussen modi. Zie Melding voor apparaatverwijderingvoor informatie over gebeurtenissen voor het verwijderen van apparaten.
Opmerkingen
Zie DV Video Subtypenvoor meer informatie over welke DV-indelingen worden ondersteund door het MSDV-stuurprogramma.
Enkele tips voor het bouwen van filtergrafieken met MSDV:
U kunt IGraphBuilder::Render niet gebruiken om een uitvoerpincode weer te geven op MSDV. (Filter Graph Manager probeert de uitvoerpin te verbinden met de invoerpincode van MSDV, wat mislukt.) Gebruik in plaats daarvan IGraphBuilder::Connect of ICaptureGraphBuilder2::RenderStream.
Wanneer een filtergrafiek MSDV bevat, moet MSDV de referentieklok voor de grafiek opgeven. Vanaf DirectX 8.0 kiest Filter Graph Manager automatisch MSDV als referentieklok. In eerdere versies moet u de methode IMediaFilter::SetSyncSource aanroepen in Filter Graph Manager. Zie Tijd en klokken in DirectShowvoor meer informatie over klokken.
Afhankelijk van het apparaat kunnen sommige methoden in IAMExtDevice-, IAMExtTransporten IAMTimeCodeReader- mogelijk Windows-foutcodes retourneren in plaats van HRESULT- waarden. Mogelijke foutcodes omvatten het volgende.
Foutcode Beschrijving ERROR_TIMEOUT Er is een time-out opgetreden voor een externe apparaatopdracht. ERROR_REQ_NOT_ACCEP Het apparaat heeft deze opdracht voor extern apparaat niet geaccepteerd. ERROR_NOT_SUPPORTED Het apparaat biedt geen ondersteuning voor deze opdracht voor extern apparaat. ERROR_REQUEST_ABORTED Er is een opdracht voor een extern apparaat afgebroken. Mogelijk is het apparaat verwijderd of is er een busherstel opgetreden.
Apparaatgegevens
In Windows Millennium Edition en Windows XP ondersteunt het apparaat moniker van het DV-filter een eigenschap Description naast de eigenschap FriendlyName. Deze eigenschap retourneert een beschrijving van het apparaat, afkomstig uit het INF-bestand, dat meestal de merknaam van het apparaat bevat. Deze eigenschap wordt echter niet ondersteund voor alle apparaatmodellen.
Zie Using the System Device Enumeratorvoor meer informatie over apparaat monikers.
Kloktijden
De MSDV-chauffeur gebruikt de 1394 busklok die is opgenomen in de 1394-gegevenspakketten om de klok af te leiden. Deze waarden worden gebruikt voor het tijdstempel van de DV-mediavoorbeelden. Omdat deze bronklok niet de computersysteemklok is, zullen de tijden uiteindelijk van de computersysteemklok afdrijven. Zoals hierboven vermeld, selecteert Filter Graph Manager echter standaard MSDV als de grafiekreferentieklok.
De IAMDroppedFrames interface rapporteert de huidige meting van verwijderde frames van het stuurprogramma; deze waarde kan niet perfect worden gesynchroniseerd met het werkelijke aantal verwijderde frames op een bepaald moment. Als frames worden verwijderd, geeft dit aan dat het systeem niet in balans is (de gegevensproductie overschrijdt het gegevensverbruik). De harde schijf van de gebruiker kan bijvoorbeeld niet snel genoeg zijn om DV-opnamesnelheden te ondersteunen.
Verwante onderwerpen