fc2ブログ
 

アマレコVR Ver2.1.3 アルファ3 VRonVR 公開

パススルー機能が正式版になりました。また、アルファマップを使って2つのVR動画を視聴するVRonVR機能と円周魚眼スクリーンのパラメータ追加、その他 細々とした調整となっています。
クロマキー合成については 指定した色を透明化する形で実装する予定でしたが クロマキー合成用のVR映像が一般的でないため見送ることにしました。

1.内容
【更新内容 アマレコVRアプリ】
・通信プロトコルを213へ変更
・Oculus Passthrough APIが正式版になりました
・VRonVR用の3rdプレイヤーを追加
・円周魚眼スクリーン用のパラメータを追加
・サブプレイヤー、3rdプレイヤーへも白黒オプションを追加
・上下反転オプションを追加
・ポジショントラッキングのON、OFFオプションを追加(初期状態OFF)
・PCマウスのボタン設定を拡張
・アルファマップの移動縦を変更(平面移動から回転へ変更)
・アルファマップを全球の前半分へ張り付けるように変更
・UI画面表示時に 向きリセットしないように変更
・アプリ側で作ったサムネイル画像が白くならないようにしました
・メイン画面設定の再生時ロードを廃止
・一時停止したまま 次の動画を再生したときのアイコン表示を修正
・マウス操作の際 ファイル画面のファイルリストで複数項目が選択できないことがあるのを修正
・サブ画面の表示/非表示が使えなかったのを修正


【更新内容 アマレコVRサーバー】
・ネットワークに関する設定を追加(最大ストリーム数、動画読込キャッシュ)
・動画読込キャッシュワーク変更
・検索処理で アルファベットの大文字と小文字を区別しないように変更
・検索処理で 半角スペースとアンダースコア、ハイフンを区別しないように変更
・通信プロトコル更新(213) 通信プロトコル200と上位互換
・アルファマップ追加


【既知の不具合】
・アプリ起動時などファイルリスト読込中に リスト内検索等をすると 操作不能に陥る
(リストの読み込みが終わるのを待ってから操作してください チャンネル部に読込件数が表示されている間は待つ)
・サーバー側でサムネイルの自動作成をすると アプリが止まってしまうことがある
(サムネイルの作成が終わってから使うようにする)


【Ver2.1.1 アルファ2と同じ内容】
・サブカメラ機能の映像ソースを選択する[CL]、[CR]は機能しません
・ハンドトラッキングに関する機能は使えません
パススルー機能は Oculus software v31以降でないと使えません (Ver2.13から Oculus software v34以降が必要)
・Oculus Quest 1でも利用可能です
アマレコVRアプリによりサムネイル画像を作成すると白っぽい画像になってしまいます (Ver2.13で対応しました)



2.使い方
Ver2.1.0 アルファ1Ver2.1.1 アルファ2の記事と合わせて見てください。
・アマレコVR自体の使い方は オンラインヘルプを見てください。
・ベータ版、アルファ1、アルファ2とは異なるアプリとしてインストールされます。
・Ver2.1.2 アルファ3 試作版がインストールされている場合は 同じアプリとして上書きされます。
・アマレコVRサーバーも更新されています。

ADBコマンドで開発者向けの機能を有効にする必要があります。Ver2.1.0 アルファ1の準備の項を参照してください
Oculus software v34とアマレコVR Ver2.1.3からパススルー機能が正式版となりました。
ADBコマンドなしでパススルー機能を利用できます。


※アルファマップに関するファイルは今回からサーバー側に同梱しています。アプリには同梱されていません。アルファマップの内容は Ver2.11アルファ2に同梱していたものと同じです。


2.1.VRonVR
新しくVR動画(通常の2D動画も可)を再生するための3rdプレイヤーを追加しました。
メイン画面の右側のメニューで[3rd]を選択すると 3rdプレイヤーで動画を再生します。

file_20211114233934699.png




【プレイヤー仕様】
メインプレイヤー:
 VR動画、2D動画、3D動画
 基本的には正面へ表示
 滑らかな再生ができるAmaRec Player利用可

サブプレイヤー:
 2D動画、3D動画
 自由に配置(大きさ調整)可能
 AVProのみ(欠落フレーム有り)

3rdプレイヤー:
 VR動画、2D動画、3D動画
 メインプレイヤーの映像と合成するのに使う
 AVProのみ(欠落フレーム有り)




■映像の合成
メインプレイヤーと3rdプレイヤーの映像を メイン画面設定にあるアルファマップAで合成します。
アルファマップAの白い部分がメインプレイヤー、黒い部分が3rdプレイヤーの映像になります。
その結果とパススルー映像がアルファマップBで合成されます。

mainscreen_setting_20211114233936bf1.png



■3rdプレイヤーの操作
コンソール画面で3rdプレイヤーに関する操作ができます。

console_3rd.png

・プレイヤーの選択
・3rdプレイヤーの音量
・サブカメラの映像ソース選択 [CM]メインプレイヤーの映像、[C3]3rdプレイヤーの映像
・3rdプレイヤー用のスクリーンの向き調整
・3rdプレイヤー用のスクリーンのZ位置調整
・3rdプレイヤー用のスクリーンのステレオ調整
・[向き連動]をONにするとメイン画面の向き調整(メイン画面のチルトなど)と一緒に動くようになります。
・3rdプレイヤーの再生速度
・3rdプレイヤーのリピートモード


■ボタン機能
3rdプレイヤーに関するボタン機能が追加されています。

function_20211010134952d73.png

ホイール機能
function_wheel_202110101349454d9.png


■要求スペックと推奨環境
Oculus Quest 1でも動作はしますが、スペック的にQuest2でないと厳しいです。
Quest1は4K 60fpsの動画 1つで ほぼ限界に達します。

Quest2の場合は4KオーバーのVR動画も利用できますが、VRonVRで複数プレイヤーを使うとリソース不足でアプリケーションが強制終了される場合があります。
Quest2であっても複数プレイヤーを使う場合は 4K 60fpsのVR動画までの利用を推奨します。
また、アプリ側でサムネイルを自動生成したり、ファイル画面のサムネイル簡易再生等も加わるとリソース不足になる場合が出てきます。
自動生成はサーバー側で行うようにしてください。簡易再生にも制限を加えてください。

【Quest2で複数プレイヤーを使う場合の推奨環境】
・メインプレイヤー: 4K 60fps以内
・サブプレイヤー: FullHD 60fps以内
・3rdプレイヤー: 4K 60fps以内
・サムネイル簡易再生: 縦2160を超える動画を再生しない または [サムネイルプレイヤーを使う]をOFFにする (アプリの設定画面の サムネイル設定)
thumbnail_setting.png

・サムネイル自動生成: サーバーの設定画面で [FFMPEGを使う]をON
server_ffmpeg_setting.png


■4ストリームに対応しました
Ver2.1.2 試作版では3ストリームまででしたが、Ver2.1.3から4ストリームに対応しました。
メインプレイヤー、サブプレイヤー、3rdプレイヤー、サムネイルプレイヤーを同時に利用できます。



【ストリーム仕様】
ストリーム1:メインプレイヤー
ストリーム2:サブプレイヤー
ストリーム3:3rdプレイヤー
ストリーム4:サムネイルプレイヤー




■その他
3rdプレイヤーはVRフォーマット等を手動で設定できません。ファイル名へタグを入れたり、画像サイズから自動判別できるように準備を徹底してください。
サブプレイヤーと3rdプレイヤーは現状AVProで再生するため欠落フレームが生じます。60fpsの動画でも50fps程度の再生となります。



2.2.円周魚眼パラメータ
アマレコVRは2019年ころの日本で出回っていた円周魚眼VR動画に(見た目で)合わせていましたが、
最近異なる円周魚眼動画があるようなのでパラメータで調整できるようにしました。

console_fisheye.png


100は今まで通り
最近のものはスケールを75あたりにすると 歪みが少なく視聴できると思います。
また、200度の魚眼レンズで作成されたVR動画ではスケール-140、PosZ-40あたりでしょうか。


■円周魚眼パラメータ
・スケール
プラス側で調整するとXYZのスケールを調整します。
50ならXYZそれぞれ半分の大きさのスクリーン形状に映像を投影して視聴します。
マイナス側にすると Zスケールのみを調整します(スクリーン形状の厚みだけを調整します)。
-140なら 厚みが40%増します。

・PosZ
カメラとスクリーンの距離を調整します。
0が標準
50なら50cmカメラへ近づける
-50なら50cmカメラから遠くへ配置します。

・プリセット
円周魚眼パラメータメニューからプリセットを変更できます。



【円周魚眼パラメータ 初期プリセット】
プリセット1:スケール=-140、PosZ=-40 (200度魚眼レンズ)
プリセット2:スケール=75、PosZ=0 (最近の円周魚眼)
プリセット3:スケール=100、PosZ=0 (古い円周魚眼)




■タグ
スクリーン形状を指定する際の-screen[FishEye]へ円周魚眼パラメータを追加できます。
パラメータをいくつにしたらいいか分かってきたらファイル名へタグを入れて 使いこなしてください。
省略した場合はアプリ上で最後に手動設定した値となります。
画像サイズや比率から自動判定する場合も同様に円周魚眼パラメータを利用できます。




【例】
#tag "[魚]" "-layout[sbs] -screen[FishEye]"
#tag "[魚A]" "-layout[sbs] -screen[FishEye100]"
#tag "[魚B]" "-layout[sbs] -screen[FishEye75]"
#tag "[MKX200]" "-layout[sbs] -screen[FishEye-140pz-40]"

ファイル名に [魚] が含まれていたら 最後に手動設定したパラメータで 円周魚眼スクリーンを使います
ファイル名に [魚A] が含まれていたら 今まで通りの円周魚眼スクリーンを使います
ファイル名に [魚B] が含まれていたら 75%の円周魚眼スクリーンを使います
ファイル名に [MKX200] が含まれていたら 厚み140%の円周魚眼スクリーンを 40cm遠くへ配置します





3.その他

■ポジショントラッキングのON、OFFオプションを追加
mainscreen_setting_position.png


基本的にVRとしてのポジショントラッキングは常に有効です。
メイン画面のポジショントラッキングをOFFにすると
ポジショントラッキングを行いつつ 映像を投影するスクリーンの位置とHMDの位置を一定に保つように動作します。
いままでは常にONの状態でしたが、今回からOFFにできるようになりました。
また、初期状態をOFFとしました。
VR映像を視聴する場合は HMDの位置がスクリーンの中心からずれることで映像が歪みますので 基本的にはポジショントラッキングをOFFにすることをお勧めします。
パススルー映像にスクリーンの位置を合わせたい場合は ポジショントラッキングをONにしてください。


■白黒オプション、上下反転オプション
mainscreen_setting_flip.png

プレイヤー毎に白黒(モノクローム化)や表示を上下反転できるようになりました。


■再生時ロードを廃止
メイン画面設定にあった 動画をメインプレイヤーで再生した際に メイン画面の位置をロードするかどうかのオプションを廃止しました。
代わりに、動画ファイルに位置指定タグがある場合はその位置へ(一時的に変更されます)、
タグが無い場合は最後に手動設定した位置へ(一時的に変更されていた場合は戻ります)となります。

同様に以下の項目において タグがある場合は一時的に変更され、タグが無い場合は最後に手動設定した状態に戻ります。
・スクリーン位置設定
・ステレオ設定
・YUVレンジ設定
・クロップ設定
・円周魚眼パラメータ


■PCマウスのボタン機能が拡張されています。
pcmouse.png

サイドボタンを押しながら 他のオプションボタンを押した場合へ機能を割り当てることができます。



4.サーバー
ネットワークに関する設定が追加されていますが、基本的にはそのまま使ってください。

server_20211114233926349.png


・最大ストリーム数は4で使ってください。

・動画読込キャッシュ バッファサイズ
一度にストレージから読み込むバイト数。
小さく設定するとHDD等の場合にストレージの読み込み性能を発揮できません。
大きくすると 小回りが利かなくなり レスポンスが悪くなります。
通常1MBのまま利用してください。

・動画読込キャッシュ バッファ数
ストリーム毎に[バッファサイズ] x [バッファ数] 分のメモリを確保します。
バッファに空きがある場合は 先読みします。
先読みができていると 指定秒送りの際にストレージへのアクセスを省略できるため 僅かにレスポンスが向上するかもしれません。
2以上に設定してください。

・動画読込キャッシュ プロテクト
使い終わったバッファを先読みで上書きされないように保護するバッファ数。
バッファに残っていると 指定秒戻しの際にストレージへのアクセスを省略できるため 僅かにレスポンスが向上するかもしれません。
0以上に設定してください。

通常、プレイヤー側でストリーミング再生の為のバッファリングを行っていますので、その範囲内でシークする場合は(サーバー側のキャッシュと関係なく)素早く処理されます。
プレイヤー側のバッファリングから外れた場合に サーバー側のキャッシュが機能します。



【レスポンス】
実際に計測したわけではありませんが 感覚的なレスポンスは
(1) プレイヤーのバッファリング内でのシーク :レスポンス 0.1秒
(2) サーバーキャッシュにヒット :レスポンス 0.9秒
(3) サーバーキャッシュミス ストレージから読み込む :レスポンス 1.0秒

(1)が圧倒的に早いのに対し (2)と(3)の違いは僅かとおもわれますので 読み込みキャッシュの設定を増やしても体感できるほどの効果は期待できません。





【設定例】
・標準
サイズ:1MB
数:32個
プロテクト:8個
※ キャッシュワーク用に メモリーを約128MB使います。([バッファサイズ] x [バッファ数] x [ストリーム数])

・最小構成
サイズ:1MB
数:2個
プロテクト:0個
※ サーバー側のメモリーを節約したい場合、今まではこの設定




■導入
Ver2.1.1 アルファ2以降を使っている場合はAmaRecVRServer.exeだけ上書きしてください。
アルファ版を使っていない場合はAmaRecVRServer.exeeとalphamapフォルダをコピーしてください。
初めて使う場合はAmaRecVRServer213フォルダ内のファイル全てをコピーしてください。


■その他
Ver200と上位互換です。アマレコVRアプリ Ver2.0.0からVer2.1.3まで利用できます。
ネットワーク(動画読み込みキャッシュ)に関する設定の変更はサーバープログラムの再起動が必要です。
いままでアプリ側に含めていたアルファマップに関するファイルをサーバー側に同梱しています。内容はアプリ Ver2.1.1アルファ2に同梱したものと同じです。
検索処理で アルファベットの大文字と小文字を区別しないようになりました。
検索処理で 半角スペースとアンダースコア、ハイフンを区別しないようになりました。



5.ダウンロード
アマレコVR Ver2.1.3 アルファ3
アマレコVRサーバー Ver2.13

オンラインヘルプ Ver2.0.0

新しいバージョン アマレコVR Ver2.1.7が公開されています。

関連記事


コメントの投稿

クロマキー合成素材

素晴らしいソフトの開発・提供本当にありがとうございます。

クロマキー合成用の動画ですが、RobustVideoMattingを使うと自炊できそうな感じかもです。
ちょっと試したところ、VR動画もまあまあの精度で人物背景を単色化できました。
アマレコVRへのクロマキー合成機能の実装も期待してます!

Re: クロマキー合成素材

興味深い情報ありがとうございます。
記事にしたので見ていただければと思います。
http://amalabo.blog35.fc2.com/blog-entry-397.html

RVMのデモンストレーション動画と比べ私のところでは上手くいっていないように思えます。
アドバイス頂けるとありがたいです。
それとも だいたいこんな感じなのでしょうか。
 
 
あまラボへようこそ
このブログでは自作ソフトの最新情報やtips、PC動画に関する話題を掲載していきます。各記事へは下にあるカテゴリからアクセスして下さい。

ファイルのダウンロードはホームページの方でお願い致します。

質問・要望・不具合報告はこちら
アマレコTV
アマミキ!
アマレココ
アマレコ・ライト
ファンタジーリモート
AMVコーデック



ホームページ
カテゴリ
最新コメント
カレンダー
02 | 2024/03 | 04
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 - - - - - -
最新記事
最新トラックバック
ブログ内タグ

アマレコTV ビデオキャプチャ アマレコVR AMVコーデック Oculus アマレココ Quest アマミキ! コーデック gQuest SC500 動画配信 Pico GO ファンタジーリモート 4K アマレコライト Unity プラグイン G2 AMV4 oculus SC512 ライブ機能 パススルー機能 Passthrough デスクトップキャプチャ AVX2 リモートソフト FAQ アセット機能 質問コーナー DirectShow HDキャプチャ ニコニコ動画 Asset 120Hz 背景透過 レゴ 遅延 可変再生速度 組み換え 解説動画 LEGO MetaQuest Meta VR GV-USB2 2 XL2420T Pico4 Quest3 液晶モニター 倍速液晶 AMV2MT デインターレース ベンチマーク アマステ Pro 背景透過V3 PS4 VRonVR MonsterX3A Intensity VideoKeeper2 designs インストール Alternate AVX XCAPTURE-1 31024 GV-USB SD-USB2CAP4 ffmpeg 32ZP2 31006 RDT233WX-Z 画像処理 60fps Robust Matting RGBキャプチャ Rift Video Shadow Play WindowsMR RYZEN UtVideo T2 HDMI NVEnc HDCP QSV LameACM OBS 音遅延 MP3 Haswell 電源オプション 音ズレ 録画 オーバーレイ XCapture-1 MonsterXU3.0R フィギュア ハイパースレッディングテクノロジー HT 31021 MPC 液晶テレビ DirectShowFilter プレビュー 擬似NTSCキャプチャ SD-USB2CUP4 Livetube AtomでHDキャプチャ キャプチャーツール シンクライアント イベント IntensityPro DC-HD1 額縁遅延 REGZA ZP3 倍速補完処理 32ZP32 Kabelake リプレイ機能 モノステ 倍速駆動 ゲームスムーズモード LAVFilters SkyBox Hand Tracking 2.0 ファイルマネージャプラス pytorch APIパススルー機能 API python ハンドジェスチャー パカラーススルー機能 アルファ付き動画 アルファ付きVR動画 RVM クロマキー ダウンロード AssetBundle 物理処理 download passthrough 検証 Preferred Filter Tweaker SteamVR GPU使用率 可逆圧縮 SKnet GV-USB3 キャプチャカード VR動画 フレーム間圧縮 新プレイヤー機能 AMPlayer 60Hz 新アマレコVR 90Hz VRコントローラー MR Windows SSE 

ブログ内検索
月別アーカイブ
アマレココに関するリンク
お世話になっているソフトのリンク
RSSリンクの表示
管理画面
  • 管理画面