OBS Studioの起動中にOpenCVでカメラ映像を読み込めない


以下のコードを使用すると、PCに接続されているWEBカメラからの映像を取得することができます。

[code]

    import cv2
    
    capture = cv2.VideoCapture(0,cv2.CAP_DSHOW)
    
    while(True):
        ret, frame = capture.read()
        cv2.imshow('frame',frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    
    capture.release()
    cv2.destroyAllWindows()
    
[/code]

しかし、OBS
Studioというソフトウェアを起動している状態で上記と同じコードを実行すると、何もエラーを吐かずに黒い画面のみが表示されるようになり、カメラ映像の表示に失敗します。

何か解決策はありますでしょうか？

使用環境 Windows11,WinPython,Python 3.10.5、OBS-Studio 29.1.3,opencv-python
4.5.5.64




通常、複数のアプリケーションがWebカメラ等の映像デバイスを同時に使用することはできません。OBS
Stuidoがカメラを使用していると、Pythonを含め他のアプリケーションからはカメラを使用できなくなってしまいます。(アプリによっては、エラーメッセージも出るようですが、細かい動作はアプリによって異なるかと思います。)

解決方法としては、カメラを複数の別の仮想的なカメラに分けてくれるソフトを使うことでうまくいくと思います。二つほど見つけましたので、試して見てください。

  * [SplitCam](https://splitcam.com/)
  * [KVYcamBgr](https://kvycambgr.com/)

