WSL2でカメラを使うには

はじめに

WSL2で最近USBデバイスの接続が可能になったらしいです。

ascii.jp
しかし、USB接続のWebカメラから動画を取得しようとしてもうまくいきませんでした。


こちらには別の方法が書いてあるのでできないことはないと思うのですが。
カーネルをカスタマイズする?敷居が高そうです。
zenn.dev

アクションカメラを使う

Webカメラが難しかったのでStreaming可能なカメラから動画を取得してみました。

画像が表示できる状態であればその他は何の設定もなく普通にカメラから動画を取得して表示させることができました。
touch-sp.hatenablog.com

Pythonスクリプト

import cv2

cap = cv2.VideoCapture('rtsp://192.72.1.1:554/liveRTSP/av4/track0')

while True:
    ret, frame = cap.read()

    cv2.imshow('demo', frame)

    if cv2.waitKey(1) & 0xFF == 27:
        break

cap.release()
cv2.destroyAllWindows()

アドレスはカメラによって変わります。

iPhoneをカメラとして使用する

Streaming動画の取得が可能ということで、iPhoneで以下のアプリを使うとWSL2で簡単に(なんの設定も不要で)iPhoneをカメラとして使えます。apps.apple.com
このアプリは無料で使用できる神アプリです。


Android版のアプリも存在するようですがこちらは試す環境がないため動作は保証できません。

今後の課題

Streaming画像が取得できたので、WindowsWebカメラの動画をストリーミングしてそれを同一PCのWSL2で受け取ればよいのでは考えました。

それが実現できればWSL2でWebカメラが使えることになります。

いろいろ試してみたのですがいまだに成功していません。

できるようになったらまた記事にします。

2021年12月3日追記

続きの記事を書きました。USB接続のWebカメラやノートPC付属のカメラを使用するための手順です。
touch-sp.hatenablog.com