R.A. Epigonos et al.

[android] Android のカメラを web カメラにするにはIP Webcam, OBS, Virtualcam を使う

市販のwebカメラは悪条件な撮影環境だと画質が悪い。例えば、普通のオフィスの照明では全然明るさが足りない。悪条件下でもそれなりに明るく撮れるのがスマートフォンのカメラ。そりゃライティングもしっかりやって、一眼レフの HDMI 出力をキャプチャすれば、高画質なのは判ってる。だけどオフィスの自分の席でそこまではやりづらい(特に適切な照明を使いにくい)よね。というわけで、スマートフォンのカメラをwebカメラにする方法。

方法

Android にインストールした IP Webcam でカメラ画像をストリーミング、OBS で受け取って、OBS Virtualcam プラグインで web カメラ化。

OBSが動いているパソコンと Android が同じネットワークにいる環境なら、http://ip:port/ でandroid上で起動した制御インターフェースにアクセスできる。フォーカスとか色々できるけど、できる内容はandroid側のカメラ次第。

ストリーミングが停止することはない。でも android 端末は熱くなるので、熱くなりすぎないか心配。

動画の遅延評価

OBSですべてバッファリング1MBの場合、動画の遅延が小さいのはmjpeg。概ねwebカメラと同じくらいの遅延量。

音声の遅延評価

音声の遅延が小さいのはopusだけど、400msくらいあるので、気になるレベル。音声は別のデバイスで入力した方がいいかも。

音声遅延種類URL
1.375s音声(aac)http://ip:port/audio.aac
0.400s音声(opus)http://ip:port/audio.opus
2.496s音声(wav)http://ip:port/audio.wav
2.513s動画(h264)+音声(ulaw)rtsp://ip:port/h264_ulaw.sdp
2.396s動画(h264)+音声(pcm)rtsp://ip:port/h264_pcm.sdp
N/A動画(mjepg)http://ip:port/video

OBSで音声のマルチトラック化して動画保存、ffmpegでマルチトラックを分離、Audacity で波形を見ながら音声遅延量の評価。

$ ffmpeg -i *.mkv \
        -map 0:1 -c copy audio1.aac \
        -map 0:2 -c copy audio2.aac \
        -map 0:3 -c copy audio3.aac \
        -map 0:4 -c copy audio4.aac \
        -map 0:5 -c copy audio5.aac \
        -map 0:6 -c copy audio6.aac \
;

USB テザリングで有線化

有線で Android のカメラを使うには、Android の USB テザリング機能を使う。この時 Android 側 に割り当てられる IPアドレスは 192.168.42.129 になるので、http://192.168.42.129:8080/ 等で制御インターフェースにアクセスできる。USBテザリングだと複数のカメラを使えない点に注意。

リファレンス

  1. IP Webcam Pro - Google Play のアプリ
  2. IP Webcam - Google Play のアプリ
  3. Open Broadcaster Software®️ | OBS
  4. OBS Virtualcam | OBS Forums
  5. Releases · Fenrirthviti/obs-virtual-cam · GitHub
  6. networking - How configure the DHCP settings of WIFI Tethering (Hotspot) on Android? - Android Enthusiasts Stack Exchange

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2007-09-04T09:47:04+09:00
  2. Modified: 2007-09-04T09:47:04+09:00
  3. Generated: 2023-08-27T23:09:12+09:00