Skip to content

StateToolsLab/wide-cast-sync

Repository files navigation

Wide Cast Sync Logo

Wide Cast Sync

有線の画面共有/ミラーリングで、iPhoneを「横画面・高画質調整・UIなし」のWebカメラ/書画カメラとして使うための支援アプリ

日本語 | English


JP: 日本語

💡 解決する課題 と 対象ユースケース

主なユースケース:手元カメラ(書画カメラ)・アングル自由なサブカメラ

本アプリは、PCのインカメラによる通常のオンライン会議(TeamsやGoogle Meet等)ではなく、以下のような**「Zoomで手元の資料、ノート、またはデバイスの画面を相手に見せながら解説したい」「アングルを自由に固定したサブカメラ(手元カメラ・書画カメラ)としてiPhoneを使いたい」**という場面で最大の効果を発揮します。 持ち歩くWebカメラなどのガジェット類を減らし、iPhone一台でこれを実現できます。

通常、iPhoneを画面共有用の外付けカメラとして使用する場合、以下の課題に直面します。

  1. 画面の回転・アスペクト比の問題:標準のカメラアプリを起動してiPhoneを横向きにしても、画面共有では縦長のアスペクト比のまま固定されてしまい、横全画面になりません。
  2. 不要なUIの映り込み:シャッターボタンやグリッド線などのカメラUIがそのまま配信画面に映り込んでしまいます。
  3. 自動スリープ:操作していないとiPhoneが自動的にスリープしてしまいます。
  4. 連携カメラの不便さ:Apple公式の「連携カメラ(Continuity Camera)」を使うと、iPhoneの画面が真っ黒になり、手元で画角やズームを確認しながら微調整することができません。
  5. 配信レートと発熱の負荷:高すぎる解像度で配信すると、Macのデコード負荷や通信帯域を圧迫し、iPhone自体も熱くなります。

Wide Cast Sync は、アスペクト比を横画面(16:9)にロックし、スリープを防止した状態で、カメラプレビューのみを全画面表示するシンプルなアプリです。iPhone側の画面でプレビューを確認しながら、接続先へ綺麗な映像を送ることができます。

⚠️ ご留意点(仕様と制限)

  • 対応ツール: Zoomの画面共有機能「iPhone/iPad (ケーブル接続)」に最適化されています。TeamsやGoogle Meetなどでは接続の仕組みが異なるため適さない場合があります(通常の会議ではPCのインカメラで十分なため、本アプリは手元等を映すZoomでの画面共有用途に特化しています)。
  • マイクと音声: 音声はiPhoneからではなく、**PC側のマイク(またはPCに接続した外部マイク)**から入力してください。
  • 遅延と動き: 静止画や動きの少ない映像(手元での作業、手書きメモ、製品の静止デモなど)に適しています。激しい動きのある動画の配信には向いていません。

✨ 主な機能

  • 強制横画面ロック (Landscape Lock):アプリ起動時から完全に横向きに画面を固定。
  • クリーンビュー (UI非表示):画面をダブルタップすることで、操作ボタンを完全に非表示にできます(再表示はシングルタップ)。
  • スリープ防止 (Keep Awake):ミラーリング中に画面が自動でスリープするのを防止。
  • 画質(解像度)のトグル切替:配信負荷を抑えるために、解像度を FHD (1080p)HD (720p)SD (480p) にトグルで切り替え可能。
  • ズーム倍率の切り替え:ボタンタップで 1x1.5x2x3x に瞬時に切り替え可能。

🛠 使い方

1. iPhoneとMacの有線接続

  1. iPhoneとMacをUSBケーブルで接続します。
  2. Zoom、Teamsなどの会議ツール、またはOBS StudioをMac側で起動します。
  3. 会議ツールの画面共有機能から「iPhone/iPad (ケーブル接続)」を選択し、画面共有を開始します。 (初回接続時はiPhone側で「このコンピュータを信頼する」を許可してください)

(※ または、Macで「QuickTime Player」を起動 ➔「新規ムービー収録」➔ 録画ボタン横の矢印からカメラ入力を「iPhone」にしてウィンドウ表示し、そのウィンドウをZoomやTeamsで画面共有、またはOBSでウィンドウキャプチャする方法が最も安定しています。)

2. アプリの起動

  1. iPhoneに App Store から 「Expo Go」 アプリをインストールします。
  2. Macのターミナルで本プロジェクトのディレクトリを開き、サーバーを起動します。
    • 通常のWi-Fi環境の場合:
      npm start
    • iPhoneのテザリング(インターネット共有)環境の場合: Mac側の本当のIPアドレス(ipconfig getifaddr en0 などで確認できるIP)を明示指定して起動します。
      REACT_NATIVE_PACKAGER_HOSTNAME=<MacのIP> npm start
    • ローカル疎通が難しい場合のトンネルモード:
      npm start -- --tunnel
  3. ターミナルに表示されるQRコードを、iPhoneの標準カメラでスキャンしてExpo Goで開きます。
  4. 画面をダブルタップしてUIを隠し、配信を開始します。

EN: English

💡 The Problem & Target Use Case

Primary Use Case: Document Camera / Flexible Angle Sub-Camera

Instead of replacing your PC's built-in webcam for standard video calls (e.g., Teams or Google Meet), this app is designed for "sharing hand-written notes, documents, physical devices, or manual work via Zoom's wired sharing option, using your iPhone as a highly adjustable document camera or hand-cam." This eliminates the need to carry external webcams or dedicated document cameras when traveling or working remotely.

When using an iPhone as an external/sub-camera via wired screen sharing, you face these common issues:

  1. Orientation & Aspect Ratio Lock: Standard Camera apps don't fill the shared screen horizontally, leaving huge black bars on the sides.
  2. UI Clutter: Camera controls like the shutter button mirror to the audience.
  3. Auto-Sleep: The screen turns off after a few minutes of inactivity.
  4. Continuity Camera Limitations: While Apple's official Continuity Camera lets you use your iPhone as a webcam, it locks and blanks the iPhone screen, making it impossible to preview and adjust the camera angle directly on the phone.
  5. High Resolution Burden: High-resolution video feeds can cause Mac CPU overload, network lagging, and make the iPhone run very hot.

Wide Cast Sync locks the orientation to landscape (16:9), hides all UI controls, prevents the screen from sleeping, and lets you view the preview on your iPhone screen while sending a clean feed to your Mac.

⚠️ Important Considerations & Limitations

  • Supported Software: Specifically optimized for Zoom's "iPhone/iPad via Cable" screen sharing feature. It is not recommended or suited for standard Teams/Google Meet webcam replacement (where your PC's built-in webcam is usually sufficient).
  • Audio/Microphone: Please use your PC's built-in microphone or an external microphone connected to your PC for audio. Audio is not routed from the iPhone.
  • Latency & Movement: Ideal for relatively static views (writing notes, showcasing physical products, or desk work). It is not designed for high-motion video feeds.

✨ Key Features

  • Landscape Lock: Forces the app to load and stay in landscape mode.
  • Clean View (Hide UI): Double-tap the screen to hide all control buttons (single-tap to restore).
  • Keep Awake: Disables auto-lock/sleep while using the app.
  • Video Quality Toggle: Switch resolution to prevent lag and heat: FHD (1080p)HD (720p)SD (480p).
  • Zoom Toggle: Instantly switch zoom levels: 1x1.5x2x3x.

🛠 How to Use

1. Wired Connection

  1. Connect your iPhone to your Mac using a USB cable.
  2. Start your meeting software (Zoom, Teams, etc.) or OBS Studio on Mac.
  3. Share your screen and select "iPhone/iPad via Cable". (Trust the computer on your iPhone if prompted)

(Alternative: Open QuickTime Player on Mac ➔ Select "New Movie Recording" ➔ Set camera source to "iPhone". Share the QuickTime window via Zoom/Teams or capture it in OBS. This is often the most stable method.)

2. Start the App

  1. Install "Expo Go" from the App Store on your iPhone.
  2. Open terminal on your Mac and start the server:
    • Standard Wi-Fi environment:
      npm start
    • iPhone Personal Hotspot environment: Start with your Mac's current local IP (check via ipconfig getifaddr en0):
      REACT_NATIVE_PACKAGER_HOSTNAME=<Mac-IP> npm start
    • Tunnel mode (for strict firewalls):
      npm start -- --tunnel
  3. Scan the QR code with your iPhone's camera to open it inside Expo Go.
  4. Double-tap the screen to hide the UI and start sharing.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Use your iPhone as a landscape, sleep-prevented, clean-preview document camera via wired screen sharing in Zoom.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors