README.ja.md

July 23, 2026 · View on GitHub

Foursmith VR アプリアイコン

Foursmith VR

ライブ配信を見る感覚で VR を楽しもう。

ヘッドセットなしで、VR 酔いが心配な方も快適に VR 動画を楽しめます。動画を開いたら、くつろいでご覧ください。

Foursmith VR を開く →


English · 简体中文 · 日本語

デモ動画(職場でも安心して見られます)

Foursmith VR のデモ動画を見る

機能

視聴体験メディアとツール
ヘッドセット不要
見やすい 2D ビューに、自動フレーミングとポートレートレイアウト。
幅広い形式
180°、360°、サイドバイサイド、トップボトム、魚眼、平面動画に対応。
ピクチャーインピクチャー(Chromium)
縦長ビューと字幕を常に手前に表示。ドラッグで視点を動かし、クリックで再生/一時停止。
動画ライブラリ
ローカルのファイルとフォルダー、付属メディアサーバー、DLNA 検出、字幕の自動関連付け。
デスクトップ PWA
OS から MP4、M4V、MKV を開き、アプリ内で更新。
A–B 書き出し
現在のビューを WebM、MP4、Motion Photo として保存。対応ブラウザでは字幕も含みます。

マウス、キーボード、オンスクリーンコントロールに対応。Foursmith VR は無料のオープンソースソフトウェアです。

使い方

Important

ほとんどの 8K VR 動画は、Safari や Firefox では正常に再生できない、または再生が滑らかでない場合があります。iOS 上のブラウザはすべて、Safari と同じ WebKit エンジンで動作します。

快適に視聴するには、デスクトップ版の Chrome、Edge、またはその他の Chromium 系ブラウザをご利用ください。

キーボードショートカット

ショートカット操作
Space再生/一時停止
Left10 秒戻る
Right10 秒進む
Shift + Left60 秒戻る
Shift + Right60 秒進む
Up / Down音量を調整
Mミュートをオン/オフ
F全画面表示をオン/オフ
R視点をリセット
[ / -ズームアウト
] / =ズームイン
1-7投影方式を選択
, / .前/次の画質プリセットに切り替え

デプロイ

Cloudflare にデプロイ Vercel でデプロイ

ローカルメディアサーバー

ローカルメディアサーバーの起動には Docker の利用をおすすめします。Web UI 一式を配信し、ローカルのメディアディレクトリをブラウザから利用できるようにするほか、DLNA 機器の検出にも対応します。

Docker Compose

サンプルの環境変数ファイルをコピーし、FSVR_MEDIA_DIR にメディアを保存しているディレクトリまたはマウント済みディスクを指定してから、サービスを起動します。

cp .env.example .env
docker compose up -d
docker compose logs fsvr

ブラウザで http://localhost:4090 にアクセスし、docker compose logs fsvr に出力されたパスワードでログインします。メディアディレクトリは読み取り専用でマウントされます。macOS の外付けディスクなら通常 /Volumes/Media/Movies、Linux なら /mnt/media といったパスです。

公開済みイメージを使わず、現在のソースコードからビルドする場合は、docker compose up -d --build を実行してください。

Docker run

公開済みイメージを使い、~/Movies をメディアディレクトリとして起動するには、次のコマンドを実行します。

docker run --rm -p 4090:4090 -v "$HOME/Movies:/media:ro" ghcr.io/foursmith/vr:latest

自動生成されたアクセスパスワードは、コンテナのログに出力されます。認証を無効にするにはイメージ名の後に --disable-password を追加し、任意の固定パスワードを設定するには --password <password> を指定します。

v* に一致するリリースタグを作成すると、ghcr.io/foursmith/vr にマルチアーキテクチャの Docker イメージが公開され、自動生成された変更履歴を含む GitHub Release も作成されます。

開発

技術スタック

分野技術
Web UISolidJS 2 beta、TypeScript
ビルド/PWAVite、Vite PWA
VR レンダリングThree.js
顔トラッキングMediaPipe Tasks Vision
スタイリング/アイコンUnoCSS(presetWind3())、Iconify
ローカルメディアサーバーBun、Citty
テストVitest、Playwright

開発環境のセットアップ

Bun が必要です。依存関係をインストールして、Web アプリを起動します。

bun install
bun run dev

Web アプリとローカルメディアサーバーを同時に開発する場合は、メディアディレクトリのパスを渡します。

bun run dev:cli -- ~/Movies

どちらのコマンドもホットリロードに対応しています。メディアサーバーの開発用コマンドでは、認証を無効にした状態で http://127.0.0.1:4090 にサーバーが立ち上がります。

各種チェックと本番用ビルドは、次のコマンドで実行できます。

bun run typecheck
bun run test
bun run build
bun run typecheck:cli
bun run test:cli
bun run build:cli

コントリビューション

バグ報告、機能リクエスト、プルリクエストを歓迎します。バグの修正や大きな変更に着手する前に、GitHub Issues でご相談ください。

  1. リポジトリをフォークし、変更内容を明確に絞ったブランチを作成します。
  2. 変更を実装し、必要に応じてテストを追加または更新します。
  3. bun run lintbun run typecheckbun run test を実行します。CLI に変更を加えた場合は、bun run typecheck:clibun run test:cli も実行してください。
  4. Conventional Commits に準拠したコミットメッセージを使用します。例:fix(player): correct projection reset
  5. 変更内容と検証方法を記載して、プルリクエストを作成します。

Web UI を変更する際は、プロジェクトの SolidJS 2 移行ガイド と既存の UnoCSS Wind3 規約に従ってください。顔の検出・トラッキング・中央配置に関するアルゴリズムを変更した場合は、人物の中央配置に関するメンテナンス資料 も同じ変更の中で更新してください。

ライセンス

Foursmith VR は Mozilla Public License 2.0 に基づいて提供されています。

コードは GPT-5.6 Sol。 センスは ourongxing