koide 390ec4dcd4
All checks were successful
Deploy Docusaurus Site / deploy (push) Successful in 27s
Add: ローカルサーバーでマイク・カメラを使う方法、VibeVoice記事にリンク追加
2026-02-24 01:28:26 +00:00

96 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
sidebar_position: 99
title: ローカルサーバーでマイク・カメラを使う方法
description: HTTP + IPアドレスでブラウザのマイク・カメラが動かない問題の解決策
hide_table_of_contents: false
displayed_sidebar: null
---
# ローカルサーバーでマイク・カメラを使う方法
## 問題
ローカルネットワーク上のサーバー(例: `http://192.168.1.100:7860`)にブラウザからアクセスすると、マイクやカメラが使えない。
```
NotAllowedError: Permission denied
```
## 原因
ブラウザの **セキュアコンテキスト** 制限。`getUserMedia()`(マイク・カメラ APIは以下の条件でのみ動作
- `https://` — HTTPS接続
- `http://localhost` — ローカルホスト
- `http://127.0.0.1` — ループバック
**`http://192.168.x.x` は対象外。**
## 解決策
### 方法1: SSHトンネル推奨
最も簡単。リモートサーバーのポートを `localhost` にフォワード。
```bash
ssh -L 7860:localhost:7860 user@192.168.1.100
```
その後 `http://localhost:7860` でアクセス → マイク使用可能!
**複数ポートの場合:**
```bash
ssh -L 7860:localhost:7860 -L 8000:localhost:8000 user@192.168.1.100
```
### 方法2: Chromeフラグで許可
テスト用途に。特定のIPをセキュアコンテキストとして扱う。
1. Chromeで `chrome://flags` にアクセス
2. `Insecure origins treated as secure` を検索
3. 許可するURLを追加例: `http://192.168.1.100:7860`
4. Chrome再起動
:::warning
セキュリティが低下するため、開発・テスト用途に限定してください。
:::
### 方法3: 自己署名証明書でHTTPS化
本格運用向け。サーバー側でHTTPSを有効化。
```bash
# 証明書生成
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes \
-subj "/CN=192.168.1.100"
# Pythonの場合例: Gradio
python app.py --ssl-keyfile key.pem --ssl-certfile cert.pem
```
ブラウザで `https://192.168.1.100:7860` にアクセスし、証明書警告を許可。
### 方法4: ngrok / Cloudflare Tunnel
外部サービス経由でHTTPS URL を取得。
```bash
ngrok http 7860
# → https://xxxx.ngrok.io が発行される
```
## 早見表
| 方法 | 難易度 | セキュリティ | 用途 |
|------|--------|------------|------|
| SSHトンネル | ★☆☆ | ◎ | 開発・日常利用 |
| Chromeフラグ | ★☆☆ | △ | 一時的なテスト |
| 自己署名証明書 | ★★☆ | ○ | チーム共有 |
| ngrok等 | ★★☆ | ◎ | 外部共有・デモ |
## 関連
- [DGX SparkでVibeVoice ASRを動かす](/tech/dgx-spark-vibevoice-asr/) — リアルタイム音声認識