takecの気まぐれブログ

プログラミング等の話題を気まぐれに

一眼レフカメラをウェブカメラとして使う(Windows)

はじめに

  • 一眼レフカメラは持っているけど、ウェブカメラが家にない。
  • PCのインカメラがノイズだらけ。もっと良い画質でビデオ通話したい。

という動機で、一眼レフカメラ(Canon EOS Kiss X7)をウェブカメラ代わりに使用する方法を探した。

一眼レフカメラをウェブカメラとして使用する場合、次の方法が考えられる。

  • HDMI出力をキャプチャして使用
    • キャプチャーデバイスが高価
    • カメラの設定を制御できない
  • 一眼レフをUSB接続して、Liveviewを取り込みWebcamに変換
    • USBケーブルで接続できるので、追加コストがかからない
    • カメラの設定をPCから変更可能

今回は、コストがかからずPCからカメラを制御可能となるUSB接続の方法を検討した。

アプリケーション検討

調べてみると、Liveviewを取り込むソフトはいくつか存在した。

Sparkocamは使いやすかったけど、結構お高め。 digiCamControlerを使用することにした。 ただ、Virtual WebCamが動作しなかったためOBS Studioを使って解決した。 構築した環境を以下に示す。

digiCamControlとOBS Studioを使った環境構築

https://obsproject.com/から、OBS Studioをダウンロードしてインストール

OBS Studioの出力をWebCamとして扱うプラグインをインストール
https://obsproject.com/forum/resources/obs-virtualcam.539/
https://github.com/CatxFish/obs-virtual-cam

digiCamControlをインストール
http://digicamcontrol.com/からダウンロードしてインストール

digiCamControlを起動して、Settingを開く f:id:takecccc:20200429220828p:plain:w600

Webserver -> use web server にチェックを入れて、webserverを有効化(要digiCamControl再起動) ファイアウォールの警告が出るはずなので許可 f:id:takecccc:20200429221047p:plain:w600

一眼レフのモードをM,Av,Tv,P等に設定した上で接続して電源をONにすると、digiCamControlで認識する。 Lvボタンを押してLiveviewを起動。 f:id:takecccc:20200429222720p:plain:w600

各種設定をお好みで f:id:takecccc:20200429223300p:plain:w600

OBS Studioを起動し、ファイル -> 設定 -> 出力から、解像度を設定 f:id:takecccc:20200429223201p:plain:w500

ソースの追加で、ブラウザを選択して新規追加 f:id:takecccc:20200429223439p:plain:w600

digiCamControlのMJPEGのアドレスを入力して、 解像度を入力。 現在のページを再読込を押下すれば映像が表示されるはず。 f:id:takecccc:20200429223924p:plain:w600

映像を出力サイズに合わせて拡大・縮小 f:id:takecccc:20200429224143p:plain:w600

ツール -> VirtualCamから、Startを押下して仮想WebCamを起動 f:id:takecccc:20200429224317p:plain:w500

これでZoom等でウェブカメラとして扱って入力できる。