ãã®èšäºã§ã¯ãç§ã®ã趣å³ããããžã§ã¯ãã§ããWindowsãã¹ã¯ããããã©ãããã©ãŒã çšã®
CaptureManagerã
玹ä»ããŸãã ãã®ãããžã§ã¯ãã¯ãéçºäžã®ã¢ããªã±ãŒã·ã§ã³ã§å¹
åºããããªããã³ãªãŒãã£ãªãœãŒã¹ã®ãµããŒããå«ããããã®ã·ã³ãã«ãªæ©èœã»ããïŒSDKïŒã§ãã
CaptureManager㯠ãæ§åŒã®DirectShowã«ä»£ããæ°äžä»£ã®ã¡ãã£ã¢ãã¯ãããžãŒã§ããMicrosoft Media Foundationã®äžã«æ§ç¯ãããŠããŸãã Microsoft Media Foundationã¯ãWindows Vistaã«æåã«å«ãŸããWindows 7以éã®ãããªããã³ãªãŒãã£ãªãœãŒã¹ã®ãµããŒããåããŸãããMicrosoftMedia Foundationã®å©ç¹ã¯ããã«ãããã»ããµã·ã¹ãã ã«æé©ãªã¡ãã£ã¢åŠçãã€ãã©ã€ã³ã®æ°ããã¢ãã«ãããã³ãã®ç¶ç¶çãªéçºãšMicrosoftããã®ãµããŒãã§ãã
CaptureManagerãããžã§ã¯ã
ã§ã¯ãMicrosoft Media Foundationã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãäœæããŠãããšãã«çºçããããã€ãã®åé¡ã解決ãããã£ãã®ã§ãã
- COMæ©èœã®å®è£
ã å¥åŠã«èããããããããŸããããMicrosoft Media Foundationãã¯ãããžã«ãããMicrosoftã¯åãã¢ããªã±ãŒã·ã§ã³ã¢ãã«ã§ããCOMããåŸéããŠããŸãã ãã¡ãããMicrosoft Media Foundationã®ãã¹ãŠã®ã¯ã©ã¹ã€ã³ã¿ãŒãã§ã€ã¹ããã¹ãŠIUnknownãã掟çããŠãããGUIDã«é¢é£ä»ããããŠããŸãã ãã ããã¯ã©ã¹èªäœã¯ãéçã«ãªã³ã¯ãããã·ã¹ãã ã©ã€ãã©ãªããã®çŽæ¥çãªãCãé¢æ°åŒã³åºãã«ãã£ãŠäœæãããŸãã ããã¯ã CoCreateInstanceãåŒã³åºããŠCOMæœè±¡åãä»ããŠã¢ã¯ã»ã¹ããå¿
èŠãããDirectShowå®è£
ãšã¯ç°ãªããŸãã ç§ã®æèŠã§ã¯ãMicrosoftã«ãããã®æ±ºå®ã¯æ¬ ç¹ã§ã-ãŸããMicrosoft Media FoundationãC / C ++ã§æžãããŠããªããããžã§ã¯ããããšãã°CïŒãããžã§ã¯ããªã©ã«çµ±åããããšã¯å°é£ã§ãTLBããå¿
èŠãªã€ã³ã¿ãŒãã§ã€ã¹å®çŸ©ãçæããŸãã 第äºã«ãããé¢æ°ãéçã«ãªã³ã¯ãããã©ã€ãã©ãªããå¥ã®ã©ã€ãã©ãªã«ç§»è¡ããããšã次ã®ããŒãžã§ã³ã®Windowsãšã®ã¢ããªã±ãŒã·ã§ã³äºææ§ã倱ããããªã¹ã¯ãé«ããªããŸã-Microsoft Media Foundationã§ã¯ããããäžåºŠçºçããŸããïŒ Windows 7ã§ã®ã©ã€ãã©ãªã®å€æŽ -ç¹å®ã®Media Foundationé¢æ°ã¯ä»¥åã®ããŒãžã§ã³ãšã¯ç°ãªãDLLãã¡ã€ã«ãããšã¯ã¹ããŒããããŸããã "ã
- ç§ã®æèŠã§ã¯ãMicrosoft Media Foundationã«ã¯æ©èœãšã€ã³ã¿ãŒãã§ã€ã¹ããããããããŸãããããã®ã»ãšãã©ãè¿œå ã®æœè±¡åã¬ãã«ã®èåŸã«é ããŠããããªãšãªãŒãã£ãªããŒã¿ã®ãã£ããã£ãšèšé²ã®ã¿ã¹ã¯ãæé©åãããšããã§ãããã
- ç§ã®æèŠã§ã¯ãé倧ãªæ¬ ç¹ã¯ãMicrosoft Media Foundationã§ã®ãããªãšãªãŒãã£ãªã®èšé²ã®ãµããŒãã®å¶éã§ãã Microsoft Media Foundationã¯ãã°ã©ãããããžãšSourceReader-SinkWriterãä»ããŠãã¡ãã£ã¢ãæäœããããã®2ã€ã®ã¡ã«ããºã ãæäŸããŸãã æåã®æ¹æ³ã§ã¯ãã³ã³ããŒã¿ãŒããŒãããå¿
èŠãªæ§æãçµã¿ç«ãŠãå¿
èŠãªæ§æãæè»ã«æ§æã§ããŸãã 2çªç®ã®æ¹æ³ã§ã¯ã SourceReaderããã¡ãã£ã¢ã®äžéšãåä¿¡ããéçºäžã®ã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããã¹ãã§SinkWriterã«éä¿¡ããŸãã ç§ã®æèŠã§ã¯ãã°ã©ãããããžã¯éåžžã«äŸ¿å©ã§ããããŠãŒã¶ãŒã®èŠæ±ã«å¿ããŠå¿
èŠãªã¬ã³ãŒãæ§æãç°¡åã«çæã§ããŸãã ãã ããMicrosoftã®ãã®ãœãªã¥ãŒã·ã§ã³ã§ã¯ãèšé²ã¿ã¹ã¯ã解決ã§ããŸãã-äºå®ã MFCreateMediaSessioné¢æ°ã®IMFMediaSessionã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããããããžã«åºã¥ããŠèšé²äœæ¥ã»ãã·ã§ã³ãäœæãããªããžã§ã¯ãã¯ãã¡ãã£ã¢ããŒã¿ã®åççšã«æé©åãããŠãããããšãã°ãæåŸã«å¿
èŠãªæäœãå®è¡ããŸãããã¡ã€ã«ãžã®æžã蟌ã¿ãããªãããããã¡ããªãã¯ã®èšç®-æµãã®å¹³åé床ãèšç®ãããã¬ã€æéãèšç®ãã-ãããMFCreateMediaSessionã®IMFMediaSessionãã®ãã§ã¯ãªãæ©èœ-æäœãã¹ã¡ããªãã¯ãèšç®ããåé¡ãåçŸããŸã yslennaã ã¿ã€ãã³ã°ã«ãåé¡ããããŸã-MFCreateMediaSessioné¢æ°ã®IMFMediaSessionã¯ããŒãæéããã®åçã®éå§ãèæ
®ããŸã-ããã¯ãã¡ãã£ã¢ãã¡ã€ã«ãåçãããšãã«è«ççã§ãã ãã ããWebã«ã¡ã©ããã€ã¯ãªã©ã®ãããªããã³ãªãŒãã£ãªãœãŒã¹ã¯çŸåšã®ã·ã¹ãã æéã䜿çšããŸããMicrosoftMedia Foundationã®ããã¥ã¡ã³ãã«ãããšããããã¯ãŒãæéã«åæåããå¿
èŠããããŸããããã®èŠä»¶ãæºãããŠããŸããã
ç§ã¯ãäžèšã®åé¡ãéèŠã§ããããããã解決ããããšãæãŸãããšå€ãã®äººãåæããã ãããšæãã ããã
CaptureManagerãããžã§ã¯ãã®éå§ã®çç±ã§ããïŒ2ã€ã®Webã«ã¡ã©ãããããªããã£ããã£ãããã®ãããªã1ã€ã®ã¡ãã£ã¢ãã¡ã€ã«ã«èšé²ããã¿ã¹ã¯ãåæ§ã§ãïŒã
èŠããã«ã
CaptureManagerãšã¯äœ
ã§ãã ïŒ
- æ¬æ ŒçãªCOMã€ã³ããã»ã¹ãµãŒããŒ-ãŸãã¯ActiveXãšåŒã°ããããšããããŸã ã TLBãå«ãŸããŠãããDirectShowãšãšãã«C ++ãCïŒãPythonã®ãããžã§ã¯ãã«çµ±åã§ããŸãã
- CaptureManagerã¯Microsoft Media Foundationã©ã€ãã©ãªã«é¢é£ä»ããããŠããŸããããé
延ãªã³ã¯ãã䜿çšããŸã-Microsoft Media Foundationã©ã€ãã©ãªã¯CaptureManagerã³ãŒãã«ããŒããããå®è¡æã«å¯Ÿå¿ããæ©èœã«ãªã³ã¯ãããŸãã ã©ã€ãã©ãªã§é¢æ°ãèŠã€ããããšãã§ããªãå Žåããšã©ãŒã³ãŒã-E_NOTIMPLãè¿ãã³ã«ã¯é¢æ°ã«çœ®ãæããããŸãã ãããã£ãŠã CaptureManagerã¯ãããMicrosoft Media Foundationã©ã€ãã©ãªããå¥ã®ã©ã€ãã©ãªã«é¢æ°ã移è¡ããç¶æ³ã§ãã¿ãŒã²ããã¢ããªã±ãŒã·ã§ã³ãã¯ã©ãã·ã¥ãããªã¹ã¯ãæžããããšãã§ããŸãã
- CaptureManagerã«ã¯ãç°¡çŽ åãããã€ã³ã¿ãŒãã§ãŒã¹ã®ã»ããããããŸãã éèŠãªæ©èœã¯ãXMLããã¥ã¡ã³ã圢åŒã§ã¡ãã£ã¢ãœãŒã¹ãã³ãŒããã¯ãããã³ã¡ãã£ã¢ã³ã³ãããèšè¿°ããããŒã¿ã®çæã§ããç¹ã«WPFãªã©ã®é«ã¬ãã«APIã§ã¯ãå€æ°ã®Variantããã³PropVariantãããXMLããã¥ã¡ã³ãã®åŠçãã¯ããã«ç°¡åã§ãã
- CaptureManagerã«ã¯ãå
ã®Microsoft Media Foundationã«ã¯ãªãå€ãã®ãããªããã³ãªãŒãã£ãªãœãŒã¹ãå«ãŸããŠããŸãã ã¹ã¯ãªãŒã³ãã£ãã㣠-ãã£ã¹ãã¬ã€ïŒãŸãã¯è€æ°ã®ãã£ã¹ãã¬ã€ïŒããç»åããã£ããã£ããããã AudioLoopãã£ãã㣠-ãªãŒãã£ãªåºåãããªãŒãã£ãªããã£ããã£ããããã DirectShow- Crossbarãã£ãã㣠-ãããªããã£ããã£ãããããããªãã£ããã£ã«ãŒãããã
- CaptureManagerã«ã¯ãäžé£ã®æ¥µç«¯ãªãã¬ãŒã ãååŸã§ããããã¬ãŒã ããããªãŒããå«ãŸããŠããŸãã
- CaptureManagerã«ã¯ãèšé²ã¿ã¹ã¯çšã«æé©åãããIMFMediaSessionã€ã³ã¿ãŒãã§ãŒã¹ã®ç¬èªã®å®è£
ãå«ãŸããŠããŸãã MFCreateMediaSessioné¢æ°ãåŒã³åºãããã®å®å
šãªæåŠãå®è£
ããŸããã
- CaptureManagerã«ã¯ãWebã«ã¡ã©ã®ãããªããã»ããµã®ãã©ã¡ãŒã¿ãŒãšã«ã¡ã©ã®ãã©ã¡ãŒã¿ãŒïŒãã©ãŒã«ã¹ãé²åºãªã©ïŒãå€æŽããæ©èœãå«ãŸããŠããŸãã
CaptureManagerã®æ©èœ
㯠ãGitHub-
CaptureManager-SDK-Demosã§å©çšå¯èœãªãã¢ããã°ã©ã ã§æäŸãã
ãŸã ã
- CPPDemosïŒ
- EVRWebCapViewerViaCOMServerã¯ã CaptureManagerã¬ã³ãã©ãŒãä»ããŠãããªãœãŒã¹ã衚瀺ããæ©èœã瀺ãããã®ã·ã³ãã«ãªC ++ã¢ããªã±ãŒã·ã§ã³ã§ãã
- OpenGLWebCamViewerViaCOMServerã¯ãOpenGLã¬ã³ãã©ãŒãä»ããŠãããªãœãŒã¹ã衚瀺ããæ©èœã瀺ãããã®ã·ã³ãã«ãªC ++ã¢ããªã±ãŒã·ã§ã³ã§ãã
- TextInjectorDemoã¯ããã¹ããã«ã¡ã©ããã®ãããªã¹ããªãŒã ãšæ··åããæ©èœã瀺ãããã®ã·ã³ãã«ãªC ++ã¢ããªã±ãŒã·ã§ã³ã§ãã

- WaterMarkInjectorDemoã¯ãã«ã¡ã©ããã®ãããªã¹ããªãŒã ãšç»åãæ··åããæ©èœã瀺ãããã®ã·ã³ãã«ãªC ++ã¢ããªã±ãŒã·ã§ã³ã§ãã

- EVRVieweingAndRecordingã¯ããããªããã³ãªãŒãã£ãªãœãŒã¹ãã1ã€ã®ã¡ãã£ã¢ãã¡ã€ã«ã«èšé²ããæ©èœã瀺ãããã®ã·ã³ãã«ãªC ++ã¢ããªã±ãŒã·ã§ã³ã§ãã

- NativeMediaFoundationPlayerã¯ãå
±éã®ã¬ã³ãã©ãŒã§è€æ°ã®ãããªãã¡ã€ã«ã®åçã瀺ãããã®ã·ã³ãã«ãªC ++ã¢ããªã±ãŒã·ã§ã³ã§ãã

- CSharpDemosïŒ
- WPFMultiSourceRecorderã¯ã1ã€ã2ã€ããŸãã¯ãã以äžã®ãããªããã³ãªãŒãã£ãªãœãŒã¹ãã1ã€ã®å
±éã¡ãã£ã¢ãã¡ã€ã«ã«èšé²ããæ©èœã瀺ãããã®åçŽãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- WPFMediaFoundationPlayerã¯ãå
±éã®ã¬ã³ãã©ãŒã§è€æ°ã®ãããªãã¡ã€ã«ãåçããæ¹æ³ã瀺ãåçŽãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- WPFVideoAndAudioRecorderã¯ããããªããã³ãªãŒãã£ãªãœãŒã¹ãã1ã€ã®ã¡ãã£ã¢ãã¡ã€ã«ã«èšé²ããæ©èœã瀺ãããã®åçŽãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- WPFIPCameraMJPEGMultiSourceViewerã¯ãããã€ãã®ã€ã³ã¿ãŒãããã«ã¡ã©ãããããªããã£ããã£ããããããå
±éã®ã¬ã³ãã©ãŒã§åçããæ©èœã瀺ãããã®åçŽãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- WPFMultiSourceViewerã¯ãããã€ãã®ãããªããã£ããã£ããããããå
±éã®ã¬ã³ãã©ãŒã§åçããæ©èœã瀺ãããã®ã·ã³ãã«ãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- WPFViewerEVRDisplayã¯ã CaptureManagerã¬ã³ãã©ãŒãWPFã¢ããªã±ãŒã·ã§ã³ã«çµ±åããæ©èœã瀺ãåçŽãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- WPFIPCameraMJPEGViewerã¯ãã€ã³ã¿ãŒãããã«ã¡ã©ãããããªããã£ããã£ããæ©èœã瀺ãåçŽãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- WPFImageViewerã¯ããã¡ã€ã«ããç»åããã£ããã£ããæ©èœã瀺ãåçŽãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- WindowsFormsDemoã¯ããããªãœãŒã¹ã®è¡šç€ºãšèšé²ã®æ©èœã瀺ãåçŽãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- WPFWebCamSerialShotsã¯ãããã¬ãŒã ããããªãŒãæ©èœã瀺ãããã®ã·ã³ãã«ãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã
- WPFWebCamShotã¯ããããªãœãŒã¹ãããã¬ãŒã ããã£ããã£ããæ©èœã瀺ãããã®ã·ã³ãã«ãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã
- WPFRecorderã¯ããããªãœãŒã¹ã®è¡šç€ºããã³èšé²ã®æ©èœã瀺ãããã®åçŽãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- WPFWebViewerEVRã¯ã CaptureManagerã¬ã³ãã©ãŒãä»ããŠãããªãœãŒã¹ã衚瀺ããæ©èœã瀺ãããã®åçŽãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- WPFWebViewerCallbackã¯ã CaptureManagerã¹ããªãŒã ããã³ããŒããããšã«ããããããªãœãŒã¹ãããã¬ãŒã ããã£ããã£ããæ©èœã瀺ãããã®åçŽãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- WPFWebViewerCallã¯ã CaptureManagerã¡ãœãããžã®çŽæ¥åŒã³åºããéããŠãããªãœãŒã¹ãããã¬ãŒã ããã£ããã£ããæ©èœã瀺ãããã®åçŽãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- WPFSourceInfoViewerã¯ã䜿çšå¯èœãªãããªããã³ãªãŒãã£ãªãœãŒã¹ã«é¢ããæ
å ±ãååŸããæ©èœã瀺ãããã®åçŽãªCïŒã¢ããªã±ãŒã·ã§ã³ã§ãã

- PythonDemosïŒ
- CaptureManagerSDKPythonDemoã¯ããããªãœãŒã¹ã®è¡šç€ºããã³èšé²ã®æ©èœã瀺ãããã®ã·ã³ãã«ãªPythonã¢ããªã±ãŒã·ã§ã³ã§ãã

- QtMinGWDemosïŒ
- CaptureManagerSDKQtMinGWDemoã¯ããããªãœãŒã¹ã®è¡šç€ºãšèšé²ã®æ©èœã瀺ãããã®ã·ã³ãã«ãªC ++ Qtã¢ããªã±ãŒã·ã§ã³ã§ãã

- UnityDemosïŒ
- UnityWebCamViewerã¯ã Unity3Dã§ãããªãœãŒã¹ãæäœããæ©èœã瀺ãã·ã³ãã«ãªã¢ããªã±ãŒã·ã§ã³ã§ãã

ãããžã§ã¯ãã®è©³çŽ°ã«ã€ããŠã¯ã
CaptureManager SDK Webãµã€ããã芧ãã ããã
NuGetã«ã¯ãCïŒ
CaptureManagerã·ã§ã«ããããŸãã