Author: Picam360

Jetson Nanoで魚眼カメラの映像をVRでライブストリーミングしてみた

本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 Picam360の魚眼映像をVR映像としてライブストリーミングする様子を撮影してみました。PICAM360-4KHDRとJetson Nanoを使って、インターネット越しにVR映像をライブストリーミングしています。下方の動画はスマートフォンのアプリで映像の視聴方向をコントロールしていて、そのスマホの画面をキャプチャしたものです。 この画質でビットレートは2MBps!モバイルネットワーク越しでもネットワーク速度が問題にならない軽さです。  カメラ: PICAM360-4KHDR サーバーデバイス: Jetson Nano ビューワー: PViewer (アンドロイドアプリ; その他、iOS版、デスクトップ版、ブラウザ版もあり) Picam360についてこちらの記事でも詳しく紹介しています: 新しいソフトウェアをリリースしました   Picam360リンク: ウェブサイト: https://www.picam360.com ウェブストア: https://store.picam360.com Twitter: https://twitter.com/picam360 Facebook:  https://www.facebook.com/Picam360/      

Raspberry Piで魚眼カメラの映像をVRでライブストリーミングしてみた

Picam360カメラをRaspberry Piに接続して360度映像をリアルタイムストリーミングする手順を紹介。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 Raspberry Pi4を使用して、Picam360の魚眼映像をVR映像としてライブストリーミングしてみました。今回はその手順をご紹介します。 実際の映像 Raspberry Piからスマホにリアルタイムストリーミングして、画面をキャプチャしたものです。(キャリブレーションをちゃんとやっていないので若干歪んでます) どうでしょうか?ビューワーも映っている状態で撮影したので実際の使用感は伝わるんじゃないかと思います。 今回のストリーミングのビットレート設定は1.5MBpsでした。Raspberry PiはJetson Nanoに比べて性能が劣るので解像度、フレームレートが低めですが(なのでJetson Nanoを使う方がおすすめです)、用途によっては使えると思います。   準備するもの Raspberry Pi4 Picam360 PICAM360-4KHDR, PICAM360-CAMPT8MP, PICAM360-CAMTWDRのいずれでもOK。Raspberry Piの処理性能故に入力画素数が落ちるが、実際に見ると画質的にはやはりPICAM360-4KHDRが綺麗です。 動作環境 Raspberry Pi: Raspberry Pi 4 OS: Raspberry Pi OS Buster (Bullseyeでは動作しません) npm: 6.14.3 node: v14.17.1 node-pserver: 0.1.5 接続方法: WebRTC (WebSocket接続は使用不可)…

Verified Environment

We are updating this page with environments that have been confirmed to work properly. Jetson Nano + Picam360 Combination confirmed to work properly. for Audio (lab) node: v14.20.0 node-pserver: 0.1.11 PViewer mac (node-pviewer): 0.2.1 ios: 1.4.0 android: 1.4.0 2021_12_12 Jetson Nano Disk Image: jetson-nano-jp451-sd-card-image.zip (stereo does not work…

Jetson NanoでPicam360を始めよう – 6: 接続する

Picam360カメラをJetsonNanoに接続して360度映像をリアルタイムストリーミングする手順を紹介する連載、今回は最終回の第6回です。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 前回の投稿ではビューワーアプリのインストール手順を紹介しました。最終回の今回はビューワーアプリからJetson NanoのPicam360に接続してリアルタイム映像を視聴するまでの手順を紹介します。 2つの接続経路 ローカルネット内接続: 同一ローカルネット内にあるJetson Nanoへ同じネットワーク内のビューワーアプリから接続します。この場合、外部ネットワークからはアクセスできません。 インターネット経由接続: WebRTCを使用してJetson Nanoへインターネット経由で接続します。外出先からスマホで自宅にあるJetson Nanoへ接続するといった使い方ができます。 事前注意 ネットワーク経由での接続性は保証されません: ローカルネットワーク、インターネット経由の接続は共にネットワーク環境によって接続できない場合があります。特にWebRTCを使用するインターネット経由の接続はルータのセキュリティ設定やPCのファイヤーウォールなどによって接続できない場合が多くあります。 [ 保証されない接続方法 ] ローカルネットワーク、インターネット経由の接続 [ 保証される接続方法 ] LANケーブルの直接接続(アンチウィルスソフトは無効であること) セキュリティはご自身で担保してください: ローカルネットワーク経由で接続する場合にクライアントがホストにアクセスするために必要な情報はホストIPアドレス+ポート番号のみです。インターネット経由(WebRTC)で接続する場合に必要とする情報は設定したキーのみです。単純な接続プロセスを採用していますので、セキュリティー対策はご自身の責任で行ってください。ソースコードはオープンソースとしてGitHubで公開しています(一部モジュールを除く)。 インターネット経由での接続を有効化する手順 設定ファイルを開きます。 $ cd ~/pserver $ nano jetbot-vr180x1-config.json インターネット経由で接続するための設定: # 入力例 “wrtc_enabled” : true, “wrtc_key”…

Jetson NanoでPicam360を始めよう – 5: ビューワーアプリのインストール

Picam360カメラをJetsonNanoに接続して360度映像をリアルタイムストリーミングする手順を紹介する連載、今回は第5回です。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 前回の投稿ではカメラキャリブレーションの手順を説明しました。ここまでのステップでカメラの準備が整いました。今回は、動画を視聴するためのビューワーをインストールする手順を紹介します。 クロスプラットフォームに対応しています サーバーソフトウェアとビューワーアプリケーションはクロスプラットフォームに対応しており、様々なOS上で利用することができます。 デバイスサイドソフトウェア対応OS Windows, Mac, Linux, Raspberry Pi ビューワーアプリ デスクトップアプリ:Windows, Mac, Linux モバイルアプリ:iOSアプリ, Androidアプリ VRアプリ:Oculusアプリ(公開準備中) ブラウザアプリ デバイスサイドのOSとビューワーサイドのOSが異なっていても利用できます。 ビューワーアプリのインストール OSごとのインストール手順をご紹介します。 Mac VRビューワー on Mac Windows, Linux あらかじめ以下の2つのソフトウェアをインストールします。これらは一般的なソフトウェアでインストール方法はウェブで簡単に見つかりますので、手順の説明は割愛します。ウェブで検索してインストールしてください。 最新の安定版のnode.js cmake 上記アイテムがインストールできたら次にターミナル(コマンドプロンプト)を開きます。 Windowsのみ:npxをインストールします。 $ npm install -g npx node-pviewerをインストールする手順に入ります。 まずnode-pviewerの配布バージョンを確認します。…

Jetson NanoでPicam360を始めよう – 4: カメラキャリブレーション

Picam360カメラをJetsonNanoに接続して360度映像をリアルタイムストリーミングする手順を紹介する連載、今回は第4回です。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 前回の投稿ではサーバーソフトウェアのPServer(ピーサーバー)をインストールする手順を説明しました。今回はカメラをキャリブレーションする手順を紹介します。 何をキャリブレーションするのか? 出荷状態のPicam360は調整されていない状態です。そのままでは撮影はできても綺麗な映像は撮れません。物理的なズレを調整し、レンズの状態の計測してソフトウェアに教える必要があります。 ピント調整: 出荷状態はピントは調整されていないので、ピントを調整します。 イメージセンサに対するレンズの位置: カメラのイメージセンサーに対してレンズは多少なりズレています。そのズレ量を計測してソフトウェアで画像の中心を補正します。 レンズの歪み補正: 魚眼レンズはレンズ内の位置によって歪み方が違います。それはレンズの特性であり、レンズのモデルによって異なり、同じモデルでも微小の個体差があります。その歪み方を計測してソフトウェアに教えます。ソフトウェアはその情報を用いて人間が見て自然な画像になるよう補正します。 キャリブレーションはいつ実施するのか? 初回使用前にキャリブレーションは必須です。持ち運びなどにより、フォーカスなどのズレが発生し得るためキャリブレーションは定期的に実施することをお勧めします。 カメラキャリブレーションの手順 それではカメラのキャリブレーションの手順を説明していきます。繰り返しになりますがインストール後の初回使用前にキャリブレーションは必須です。キャリブレーション無しでは動作しません。 チェッカーボードを準備します: 下記のリンクからチェッカーパターン画像(市松模様)のファイルをダウンロードします。ファイルを100%の印刷倍率で印刷し、厚紙などの平らで硬い板に貼り付けます。 https://github.com/picam360/picam360-jetbot/blob/master/capture/calib/checkerboard_pattern.png チェッカーボードが準備できたらキャリブレーションの手順に入ります。 モニター、キーボード、マウスを接続します。キャリブレーションはssh接続では実施できません。 ターミナルを開きます。 古いキャリブレーションファイルを削除します。 以下のコマンドでPServerのパスを表示させてコピーしておきます。 $ which pserver # 表示例: # /home/picam360/.nvm/versions/node/v14.17.0/bin/pserver nodeのバージョンディレクトリ以下のパスを下記のように書き換えて、下記の削除コマンドを実行します。ファイルが存在しない場合はエラー No such file or directoryが表示されますが問題ありません。 $ rm /home/USER_NAME/.nvm/versions/node/v14.17.0/lib/node_modules/node-pserver/lens_params.json キャリブレーションモードを実行します。コマンドを実行すると画面が現れます。 $…