🦔

Ubuntu 24.04 + OBS + Zoom で画面をカメラとして送るメモ

に公開

やりたいこと

Zoom ミーティングで、普通の Web カメラ映像ではなく

  • デスクトップ画面そのもの
  • もしくは事前に録画したスクリーン録画動画

「カメラ映像」として常に流したい、というニーズがあります。

Ubuntu 24.04 でこれを実現するために、

  • OBS Studio
  • v4l2loopback(仮想 Web カメラ)
  • Zoom(Zoom Workplace)

を組み合わせた手順をメモとして残しておきます。

結果として、Zoom 側の「カメラ:OBS Virtual Camera」を選ぶだけで、
画面や動画を“カメラ映像”として送り出せるようになります。


前提環境

  • OS: Ubuntu 24.04 LTS
  • ディスプレイサーバ: Wayland(デフォルトの想定)
  • Zoom デスクトップクライアント(Zoom Workplace)
  • 権限: sudo が使えること

OBS は snap 版だと仮想カメラ周りでハマりポイントが多いので、
ここでは APT から入れる前提にします。


1. 必要なパッケージをインストールする

sudo apt update
sudo apt install obs-studio v4l2loopback-dkms v4l-utils
  • obs-studio
    本体。画面キャプチャ・動画再生・合成など一式。
  • v4l2loopback-dkms
    仮想 Web カメラ /dev/video* を作るカーネルモジュール。
  • v4l-utils
    動作確認に便利な v4l2-ctl などが入っている。

インストールが終わったら、とりあえず一度ログアウト・ログインしておくと安心です。


2. v4l2loopback で仮想カメラを作る

まずは手動でモジュールを読み込みます。

sudo modprobe v4l2loopback \
  devices=1 video_nr=10 \
  card_label="OBS Virtual Camera" \
  exclusive_caps=1

意味はざっくりこんな感じです。

  • devices=1
    仮想カメラを 1 個だけ作る
  • video_nr=10
    /dev/video10 として作る(空いていれば何番でも OK)
  • card_label="OBS Virtual Camera"
    Zoom などのアプリから見えるカメラ名
  • exclusive_caps=1
    1 アプリ専用モード(仮想カメラを掴むアプリを 1 つに限定)

作られたか確認してみます。

ls /dev/video*
v4l2-ctl --list-devices

OBS Virtual Camera (platform:v4l2loopback-000): のような記述が出ていれば OK です。

※ まずは「手動で modprobe してみて動くか」を確認してから、
永続化(起動時に自動ロード)を設定すると安全です。

起動時も自動で読み込みたい場合(任意)

うまく動いたら、起動時の自動ロードも設定できます。
(必要になってからで十分です)

/etc/modules-load.d/v4l2loopback.conf を作成:

sudo sh -c 'echo v4l2loopback > /etc/modules-load.d/v4l2loopback.conf'

/etc/modprobe.d/v4l2loopback.conf にオプションを書く:

sudo tee /etc/modprobe.d/v4l2loopback.conf << 'EOF'
options v4l2loopback devices=1 video_nr=10 card_label="OBS Virtual Camera" exclusive_caps=1
EOF

再起動後も自動的に /dev/video10 が作られていれば成功です。


3. OBS で「流したい映像」を作る

3-1. OBS を起動する

アプリメニューから OBS Studio を起動します。
初回起動時に自動設定ウィザードが出ても、どちらを選んでも大きな問題はありません。

3-2. 画面そのものを送る場合(ライブ画面)

  1. 画面下部の 「ソース」 の欄で + をクリック
  2. 「画面キャプチャ (PipeWire)」 を選択
  3. ソース名は適当に(例: Screen
  4. 共有したい画面・モニタを選ぶ
    → Wayland の権限ダイアログが出たら「許可」

プレビューに自分のデスクトップが表示されれば OK です。

3-3. 事前に録画した動画を送る場合(メディアソース)

  1. 「ソース」欄で +「メディアソース」
  2. 名前を付ける(例: RecordedDemo
  3. 「ローカルファイル」にチェックを入れて、動画ファイルを選ぶ
  4. 繰り返し再生したければ 「ループ」 にチェック

プレビューで動画が再生されれば準備完了です。

画面キャプチャとメディアソースを同時に置いたり、
右下に自分の顔カメラをワイプで乗せたり、という構成ももちろん可能です。


4. OBS の仮想カメラを開始する

OBS 右下の 「コントロール」 パネルから:

  • 「仮想カメラ開始」(Start Virtual Camera)

をクリックします。

これで、OBS のプレビューに出ている映像が /dev/video10 に流れ始めます。
もう一度押すと停止です。


5. Zoom 側で「OBS Virtual Camera」を選ぶ

Zoom を起動して設定を開きます。

  1. ウィンドウ右上のアイコン → 「設定」
  2. 左メニューから 「ビデオ」
  3. 「カメラ」のプルダウンを OBS Virtual Camera に変更

同じ画面の下の方には、次のようなチェックボックスがあります。

  • ✅ HD
  • 自分のビデオのプレビューをミラーリングする

ここでポイントになるのがミラーリングです。

ミラーリングについて

  • 「自分のビデオのプレビューをミラーリングする」が ON だと、
    自分のプレビューだけ左右反転して見えます。

  • ただし、

    • 他の参加者に見えている映像
    • Zoom の録画ファイル
      反転していない(正しい向き) ままです。

「自分の画面もちゃんと左右そのままの向きで見たい」場合は、
このチェックを OFF にしておくと精神衛生上スッキリします。


6. 実際に録画される映像を確認する

設定ができたら、短くテストしておくと安心です。

  1. Zoom で自分だけの新規ミーティングを開始

  2. ビデオを ON(カメラは OBS Virtual Camera のまま)

  3. 数十秒ほど適当に操作しながら 録画 する

  4. 録画ファイルを再生して、

    • 画面が想定通りに映っているか
    • 文字が左右・上下とも正しい向きか
      を確認

ここで狙い通りに録画されていれば、実戦投入して問題ありません。


7. よくあるハマりポイントと対処

7-1. Zoom が仮想カメラを認識しない

  • /dev/video10 があるか確認

    ls /dev/video*
    v4l2-ctl --list-devices
    
  • なければ modprobe をもう一度打つ

  • snap 版 Zoom / OBS を使っているときは、権限や confinement の問題で見えない場合あり
    → うまくいかない時はいったん APT 版に寄せるのがおすすめ

7-2. 映像が逆さま・左右反転する

OBS のプレビュー自体が変な向き の場合:

  • ソース(画面キャプチャ / メディアソースなど)を右クリック
    「変換」→「変換をリセット」
  • 「水平方向に反転」「垂直方向に反転」が有効になっていないか確認

Zoom の自分の映像だけ左右反転 の場合:

  • Zoom の設定 → ビデオ →
    「自分のビデオのプレビューをミラーリングする」のチェックを外す

録画ファイルを一度見れば、実際にどう保存されているか確実に確認できます。

7-3. 音声が入らない/相手に聞こえない

仮想カメラは映像だけなので、音声は Zoom 側で別途設定が必要です。

基本パターンは次のどれか:

  • マイクだけ送りたい
    → Zoom の「マイク」に PC のマイク(内蔵 or USB)を選ぶ
  • 動画の音も相手に聞かせたい
    → Zoom の「画面共有」で
    「コンピューターサウンドを共有」を ON にする

PipeWire / PulseAudio の仮想デバイスを使って、
OBS の音を Zoom のマイクに流し込む構成もありますが、
シンプルに済ませたい場合は上の方法で十分なことが多いです。


まとめ

Ubuntu 24.04 上で、

  • OBS + v4l2loopback で仮想 Web カメラを作り、
  • Zoom のカメラとして OBS Virtual Camera を選ぶ

という構成にすると、画面や録画動画を “カメラ映像” として Zoom に送り出せる ようになります。

手順をもう一度ざっくり整理すると:

  1. obs-studio, v4l2loopback-dkms, v4l-utils をインストール
  2. modprobe v4l2loopback ... で仮想カメラ /dev/video10 を作る
  3. OBS で「画面キャプチャ」や「メディアソース」を追加してプレビューに映す
  4. OBS の「仮想カメラ開始」を押す
  5. Zoom の「カメラ」を OBS Virtual Camera に切り替える
  6. 必要に応じて「自分のビデオのプレビューをミラーリングする」を OFF
  7. Zoom で録画して確認

一度セットアップしてしまえば、以後は

  1. modprobe(または自動ロード)
  2. OBS 起動 → 仮想カメラ開始
  3. Zoom 起動 → カメラを OBS に切り替え

の 3 ステップで、いつでも「画面をカメラとして Zoom に流す」環境が使えるようになります。


Discussion