はじめに
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画像が取得できたので、WindowsでWebカメラの動画をストリーミングしてそれを同一PCのWSL2で受け取ればよいのでは考えました。それが実現できればWSL2でWebカメラが使えることになります。いろいろ試してみたのですがいまだに成功していません。できるようになったらまた記事にします。2021年12月3日追記
続きの記事を書きました。USB接続のWebカメラやノートPC付属のカメラを使用するための手順です。touch-sp.hatenablog.com