FC2ブログ
 

Oculus software v28とアマレコVRについて

先日 Oculus software v27で新規インストールしたアマレコVRのネットワーク機能が使えなくなることを報告しました。
Quest 2 / Quest Build 27.0とアマレコVRについて

さらに Oculus software v28からだと思いますが アマレコVRを新規インストールすると内臓ストレージのビデオフォルダへもアクセスできなくなります。

ですのでOculus software v28で既存のアマレコVRを新規インストールすると一切の動画視聴ができません。
なお、既にインストールされているものについては今まで通り機能します。

いずれも次のアマレコVRで対応しますが、それまでは今からアマレコVRをダウンロードしても使えません。


Oculus software v28 120Hz暫定対応と60fps動画再生テスト

私のOculus Quest2もアップデートがされ120Hzでの動作テストができました。

まだ正式対応ではないので、現状アマレコVRで120Hzを利用するにはadbコマンドで強制的に120HzにしてからアマレコVRを起動する必要があります。

adb shell setprop debug.oculus.refreshRate 120



強制的に120Hzにすると、アマレコVRのリフレッシュレートの設定にかかわらず常に120Hzでの動作となります。
ただし、リフレッシュレートの設定値を使ってタイミング処理を行いますので実際のリフレッシュレートと同じ120と設定してください。
(現在公開しているバージョンでは120Hzへ設定することはできません)amarecvr_settei.png


2021.4.28追記

Qculus Questの「設定」の「テスト機能」に対応アプリで120Hzを使えるようするオプションがありました。
adbコマンドは使わずに この設定をONにするだけで 次のアマレコVRでは120Hzでの動作が可能です。
quest_setting.jpg




120HzになるとAVPro(exoplayer)でもOculus製品において欠落フレームの少ない秒間60枚の映像を表示できるようです。
ただし、均等に2フレームずつ同じ画像を表示するわけではないので くるくるベンチの映像は若干ガクガクします。
avpro.png

Oculus QuestでAVPro(exoplayer)を使って60fpsの動画を再生すると、デコード後の出力タイミングがディスプレイ装置の表示タイミングと合わず欠落フレームが生じます(1秒間に60枚の画像を表示できない)。リフレッシュレートを上げることで徐々に欠落フレームは減少しますが、90Hzでもまだ欠落フレームは生じていました。
今回120Hzまでリフレッシュレートを上げることで、欠落フレーム自体はほぼ無いと言える状態となったようです。ただし、2フレームずつの均等な表示とまではいきません。

そこで、次のアマレコVRでは新プレイヤー機能としてAMPlayer(exoplayer)を実装します。
player_settei.png

AMPlayerであれば均等に2フレームずつ表示されるので120Hz動作においてもスムーズなスクロールとなります。メインプレイヤーをAMPlayer、サブプレイヤーをAVProにして両方でくるくるベンチを再生しスクリーンを並べれば、同じ1秒間に60枚の画像を表示していてもスクロールの滑らかさに顕著な違いが見て取れます。
amplayer_avpro.jpg



120Hzのデメリット
120Hzで同じ画像を2フレームずつ表示することで60fpsの動画を完璧に視聴できると思っていましたが、実際に映像を見てみると、(くるくるベンチのような映像では)輪郭が2重に見えるため(60Hzで30fpsの動画を再生するのと同じ現象)、60fpsの動画を視聴する場合の理想は依然として60Hzとなりそうです。

現状メディアプレイヤー系のアプリで120Hzにするメリットがあるとしたら AVProを使っていて できるだけ欠落フレームを減らしたい場合か、24fpsや120fpsの動画を視聴する場合でしょうか。


60fpsサンプル動画ファイル
くるくるベンチ


アマレコVR 進捗

目途が立たないので正式版は無期延期。ベータ版として次のバージョンを製作中です。

・タグ機能を追加(今のところVRフォーマット、アスペクト比、YUVレンジ、クロップ等)
・VRフォーマットリスト(VRFormat.txt)を廃止して代わりにタグデザイナーで全てのタグを統括
・該当するVRフォーマットタグが無い場合のVRフォーマット自動判別処理に関する設定を追加(「デフォルトを180度に~」はこれに該当します)
・Pico版の再生フレームレート改善
・Oculus Quest 2の90Hzへ対応
・ダブルクリック判定の変更
・フォルダの並びを変更(1,10,2 → 1,2,10)
・ファイルグループ化
・バッテリー低下警告
・180度,360度スクリーンのポリゴン分割数を4倍
・サブカメラの映像元を左右選べる
・不具合修正多数


ベータ版以降は実験的な取り組みをしていきたいので正式版はその後と考えています。
・開発機がGOからQuestになるのでハンドトラッキングやパススルー機能を使ってみたい。
・プレイヤー機能をExoPlayerからAndroid標準プレイヤーへ変えるかもしれない。


■Oculus Quest 2雑記
adbコマンドで90Hzにすることができましたが,Quest2本体を再起動すると効果が切れてしまうので不便。
「Oculus GOのフェイスパットが使えるよ」ってことで試してみたら、本当にぴったりフィットしてびっくり。
GOとQuest2は同じレンズパーツなのかな。


■tag="" layout="sbs" screen="180"
想定外の使い方ですが、確かに目的を達成できるのかな。
VRフォーマットのiniファイルは再生しただけでは作らないけど、アプリ上でVRフォーマットを変更した際に作るようになっています。
私もiniファイルは鬱陶しいので極力アプリ上でVRフォーマットを変更しないようにしたり、定期的に削除ですね。


Oculus Quest 2を試してみた90Hzと新SoC XR2について

注文していたOculus Quest 2が届いたので気になっていたリフレッシュレートの向上(72Hzから90Hzへ)と大幅に強化された新SoC 「Snapdragon XR2」の動画再生能力について簡単に試してみました。

■リフレッシュレートの向上について
コチラの記事に従いadbコマンドを使ってアプリケーションが90Hzで動作するようにします。

adb shell setprop debug.oculus.refreshRate 90



これでアプリの方で

OVRManager.display.displayFrequency = 90.0f;


とすると90Hzで動作するようです。
さっそくアマレコVR gQuestへ90Hzモードを追加してステータスで確認してみます。


アマレコVR起動
nora.png
Facebookアカウント絡みで心配していましたが、野良アプリも実行できます。


90Hzの設定項目を追加
setting.png

60fpsの動画を再生
fps_202010150315242fc.png

だいたい55fpsを超える感じでした。
Pico G2 4Kのように60fpsとはなりませんが、リフレッシュレートが合わない状態では(見た目で)違いが判らないレベルで再生可能です。
リフレッシュレートを90Hzへ上げることで欠落フレームを軽減する効果が得られます。


■XR2の動画再生能力について
アマレコVR gQuestにてメインプレイヤーとサブプレイヤーの両方で4K 60fpsの動画を再生しても(欠落フレームはありますが)難なく再生できました。
Quest1では4K 60fpsの動画とFUll HD 60fpsの動画を同時に再生すると10fps程度のカクカク状態でしたので、Quest2に搭載されているXR2の動画再生能力の高さが実感できます。
なお、Quest1でもどちらかの再生速度を85%程度まで下げれば実用範囲で再生可能です。

90HzとXR2によるスペックアップは非常に素晴らしいと感じました。


テーマ : PC周辺機器     ジャンル : コンピュータ

60fpsの動画再生について Pico版は解決

前回の記事で書いた「VR動画プレイヤーにおける2Dの60fps動画再生について」ですが
Pico版のアマレコVRについては解決しました。一方、gQuestの方は完全な解決には至らず。

Pico版についてはUnityのProject settingsにある
Multithreaded Renderingが無効になっていると欠落フレームが生じるようです。
Multithreaded Renderingを有効にすることで欠落フレームはほぼないと言えるようになりました。

gQuestの方はもともとMultithreaded Renderingが有効でしたので改善せず。
垂直同期を待つ設定になっていたのを、待たないように変更したところ、欠落フレームが減少したように感じますが、それでも10%から15%程度の欠落フレームが生じます。
gQuestについてはQuest 2のリフレッシュレート90Hzや、SoCの性能向上に期待することにします。


VR動画プレイヤーにおける2Dの60fps動画再生について

基本VR動画プレイヤー系で2Dの60fps動画を再生するとフレームレートがガタガタでスムースな再生とはなりません。
これはアマレコVR gQuest開発当初から把握していたことです。
他のVR動画プレイヤーでもガタガタですし、AVProのサンプルプログラムでもガタガタですので、そう言うものと割り切っていました。
わかっている範囲で例外だったのはOculus GOのOculus galleryです。完璧な60フレームの表示が可能でうっとりするほど綺麗な再生が可能です。

PicoスレにてアマレコVRよりPico Playerの方が優秀だと言った趣旨の書き込みがあり、そんな馬鹿なと思いPico Playerについて再度確認してみたところ、背景なしの場合は私が把握していた通りガタガタですが、背景を表示するとガタガタが改善されました。


整理すると、3つのグループに分類できます。

・グループA (ダメなグループ)
欠落フレームがあり1秒間に60枚の画像を表示できないもの。
アマレコVR gQuest、アマレコVR Pico、Pico Player(背景なし)

・グループB (リフレッシュレートが合わないが妥当なグループ)
欠落フレームはなさそうですが、ディスプレイのリフレッシュレートが合わず重複フレームがあるもの。
(72枚や75枚に水増しして表示する)
Oculus QuestでのOculus gallery、Pico Player (背景あり)

・グループC (完璧なグループ)
ディスプレイのリフレッシュレートが60Hzで60fpsの動画を完璧に再生できる。
(重複フレームも、欠落フレームもない)
Oculus GOでのOculus gallery


■開発時に試したこと
UnityアセットのAVProのサンプルプログラム(ExoPlayer)がそもそもグループA
Oculus Integrationに含まれるExoPlayerを使った180度動画再生用のサンプルプログラムもグループA
AVProをExoPlayerから標準プレイヤーモードに変更すると欠落フレームが若干減る気がする(リフレッシュレートが高ければほぼ60fpsになる?)
UnityのVideo PlayerもグループAだけど欠落フレームは少なめ


基本的にはデバイスのスペック不足や、アプリ側に無駄な処理が多いから処理落ちしてガタガタになるのではなく、動作モードや条件の違い、または使っているプレイヤーや機能の違いによりパフォーマンスが低下していると思われます。
出来ればアマレコVRもグループBまでは持っていきたいですが、今のところ原因はわかっていません。
Pico Playerの振る舞いを鑑みると、どちらかと言えばイロイロ処理をして負荷を上げてあげた方がパフォーマンスが向上するようにも思えますし、同じアプリケーション内のモードの違い(背景の有無)により明暗が分かれることから、Pico Playerを観察することで突破口が開けるかもしれませんので検証に使ったサンプル動画を公開します。
何か開発に役立つ情報がありましたら教えていただけるとありがたいです。

■ダウンロード
60fpsサンプル動画


アマレコVR Server Ver1.32a アルファ版

動画ファイル名が長い場合にAmaRecVR Serverがエラー落ちしてしまう不具合を修正しました。
ファイル名の問題を確認するためのα版として公開します。

■ダウンロード
アマレコVRサーバー Ver1.32a
Ver1.30のAmaRecVR Server.exeと同じフォルダへコピーして実行してください。

■内容
Ver1.30では全角文字で80文字程度、半角文字で250文字程度の動画ファイルを再生しようとすると
AmaRecVR Serverが落ちます。
Ver1.32aでは全角、半角問わず259文字まで対応しました。

■極端に長いファイル名とフォルダ名について
Windowsの標準設定ではファイル名とフォルダ名をすべて含めたフルパスの文字数として259文字まで対応します。
ファイル名とフォルダ名を合わせて259文字ですので、ファイル名を250文字とかにしてしまうと、殆どのフォルダへ移動できなくなります(移動先のフォルダ名が長くて259文字を超える場合は移動できません)。
逆に、フォルダ名が長かったり、フォルダの階層が深くなると、その分ファイル名に使える文字数が限られてしまいます。
ですので、ファイル名とフォルダ名の文字数にそれぞれ余裕を持たせバランスよく使うことが望ましいです。

その他アマレコVRにおける懸念点としては以下となります。
・設定の保存ができない
アマレコVRでは動画ファイルと同じファイル名の設定ファイルを作る場合があります。
設定ファイルを作るパスと極端に長いファイル名の合計文字数が259文字を超えると設定の保存ができません。
1) マーカーファイル
2) VRフォーマットファイル
デフォルトではexeと同じフォルダのサブフォルダへ保存するようになっていますが、必要に応じて保存先フォルダを短いパス(絶対パス)へ設定してください。
marker.png

・レイアウトに無理が生じる
各表示レイアウトが崩れ表示できなかったり、操作、選択が非常に困難な状態になる可能性があります。


アマレコVR Ver1.21 ベータ版

今回は修正のみです。不具合が無ければ当面このバージョンで行こうと思います。

・動画再生中の「CreateShaderResourceView」エラーを修正。
・WindowsMRの右コントローラーに左のオブジェクトが表示されてしまうのを修正。
・スクリーン形状などを自動設定した場合は設定ファイルを作らないようにした。
・カメラ位置を移動した状態でのスクリーン回転処理を修正。

動画再生中のエラーはエラーコードを表示していなかったので原因は不明ですが、メッセージボックスで処理を止めないように変更しました。
代わりに、コンソール画面にエラーカウントを表示します。再生している映像が止まったり、カクカクしだしたらエラーカウントを見てください。カウントが1以上なら何かしらのエラーが発生しています。
エラーカウントは次の動画を再生するとゼロに戻ります。
また、AmaRecVR.exeと同じフォルダにエラーログ(MPlayerDirectShowErrorLog.txt)が作成されますので、そこでエラー内容とエラーコードを確認できます。


【既知の課題】
・SteamVRからアマレコVRを終了しようとするとSteamVRがおかしくなる(コッポジッターが実行されていない)。
アマレコVRではなくSteamVR自体を終了するようにするか、アマレコVR上の「アプリ終了」を選択してください。
この状態に陥ったら、マウスの右と左を10秒以上押し続けてアマレコVRを終了してください。
・Oculus Riftでコントローラーが表示されない(レーザーポインタのみになってしまう)。
まれに、コントローラーのオブジェクトが読み込まれない場合があります。操作は可能ですのでそのまま使って頂くか、アマレコVRを再起動してください。
・お気に入りリスト等の件数が多くなると(100件を超えたあたりから)、移動処理に時間がかかってしまう。
・3D動画の場合にスクリーンの端にゴミが表示される場合がある。


【ダウンロード】
アマレコVR Ver1.21ベータ版

何かありましたらこの記事のコメント欄へご連絡ください。


アマレコVR Ver1.20 ベータ版公開 VRコントローラー対応

Oculus RiftのOculus TouchとWindows MRのモーションコントローラーへ対応しました。
左右のVRコントローラーで同じ働きとなります。アマレコVRを起動した後、右または左のVRコントローラーのトリガーを引くと使えます。バッテリーが切れたら途中で切り替えることもできます。
マウスで操作する場合はマウスの左クリックでマウス操作に切り替わります。

blog.png


【追加要素】
・VRコントローラーへ対応

【変更、不具合修正】
・マウスカーソルの動きが敏感過ぎて操作しにくいケースへ対応
・動画再生中にSteamVRを終了すると アマレコVRが応答なしになってしまうのを修正


【既知の課題】
・SteamVRからアマレコVRを終了しようとするとSteamVRがおかしくなる(コッポジッターが実行されていない)。
アマレコVRではなくSteamVR自体を終了するようにするか、アマレコVR上の「アプリ終了」を選択してください。
この状態に陥ったら、マウスの右と左を10秒以上押し続けてアマレコVRを終了してください。
・Windows MRで右のコントローラーのオブジェクト表示がおかしくなる(左のコントローラーのオブジェクトが表示されてしまう)。
左コントローラーの電源を切った状態でアマレコVRを起動してください。
・Oculus Riftでコントローラーが表示されない(レーザーポインタのみになってしまう)。
まれに、コントローラーのオブジェクトが読み込まれない場合があります。操作は可能ですのでそのまま使って頂くか、アマレコVRを再起動してください。
・動画再生中にデスクトップの方に「CreateShaderResourceView」エラーがでて再生できなくなる。調査中です。


【ダウンロード】
アマレコVR Ver1.20ベータ版

何かありましたらこの記事のコメント欄へご連絡ください。


【ボタン対応表】

ボタン対応表
アマレコVR表記Oculus TouchWindows MR主な働き
トリガートリガートリガー決定
実行
マウスの左ダブルクリック
グリップグリップグリップキャンセル
機能切替
主にマウスの右クリック
Aボタン
Aボタンメニュー画面位置調整
BボタンBボタンタッチパッド中央選択
シーク
カメラ位置調整
マウスの左クリック
スティックスティックタッチパッド上下左右リスト操作
シーク


基本操作
機能操作
画面位置リセットAボタン
項目選択Bボタン、またはトリガー
項目実行Bボタンを2回、またはトリガー
コンソール画面表示トリガー
ファイル画面表示トリガーを2回
GUI位置移動
右側にある上三角、下三角のどちらかを
Bボタン(トリガー可)を押しながらコントローラー上下
GUI拡大縮小右側にある+またはマイナスのどちらかを
Bボタン(トリガー可)を押しながらコントローラー前後
右、左コン切り替え使いたいコントローラーのトリガーを引く


ファイル画面
機能操作
リスト操作スティック上下
MRではスティック以外に、タッチパッドの上下クリック
および、グリップを押しながらタッチパッドを上下にスワイプも可能


コンソール画面
機能操作
指定秒送り、戻しスティック左右
MRではタッチパッド左右をクリック
次、前のファイルを再生グリップを押しながらスティック左右
MRではグリップを押しながらタッチパッド左右をクリック



視聴中
機能操作
指定秒送り、戻しスティック左右
MRではタッチパッド左右をクリック
次、前のファイルを再生グリップを押しながらスティック左右
MRではグリップを押しながらタッチパッド左右をクリック
シーク操作Bボタンを押しながらコントローラー左右
目的の位置でBボタンを離す
途中でキャンセルする場合はグリップボタン
画面位置リセットAボタン
上下、左右に画面を回転グリップを押しながらAボタンを押して
コントローラー上下左右
ズーム操作グリップを押しながらトリガーを押して
コントローラー前後
上下、左右にカメラ移動グリップを押しながらBボタンを押して
コントローラー上下左右
カメラ位置のリセットスティックをクリック
MRではグリップを押しながらトリガーを押してBボタン



以上


アマレコVR Ver1.10 ベータ版公開

アマレコVRのベータ版です。
大きい追加要素はフォルダーモードの際にアマレコVR上でフォルダの変更ができるようになったくらいです。
あとは、ひたすら細かい調整がメインとなります。

file.png

console_201805312257139ed.png

【追加要素】
・フォルダモードの際にアマレコVR上でフォルダを変更できるようになりました。
・ネットワークフォルダ機能を追加。
・リスト内検索機能を追加。
・ファイル画面下方のファイル情報を実装。
・検索フォルダリストにチャンネルを直接指定するコマンド「#ch1」から「#ch8」を追加。
・アマレコVRユーティリティに「ミラーリング」設定を追加。デスクトップのウインドウの映像を非表示にできます。

【変更、不具合修正】
・チャンネル名のナンバリングを0から7ではなく、1から8に変更。
・検索の際に同じフォルダを検索しないように変更。
・ボリューム設定を調整(80から100の間であまり変わらなかったのを調整)。
・カラーコンバージョンをBT601とBT709、リミテットとフルレンジを別々に設定できるように変更。
・ビデオフォルダ専用のプレイリスト「video.vrl」を廃止(ビデオフォルダはフォルダモードから選択できます)。
・2Dスクリーンの場合に端の数ピクセルが表示されていなかったのを修正。
・動画ファイル再生開始時にアマレコVRの画面が一瞬消えてしまう場合があるのを修正。


【既知の課題】
・お気に入りリスト等の件数が多くなると(100件を超えたあたりから)、移動処理に時間がかかってしまう。
・3D動画の場合にスクリーンの端にゴミが表示される場合がある。


【その他】
マウスカーソルの動きが敏感過ぎて操作しにくいときはアマレコVRユーティリティの設定で「マウスをフックする」をOffに
してみてください。
WindowsMRで全てのウインドウが最小化されてしまう場合や、アマレコVR以外のウインドウにフォーカスが行ったときに
マウスの動きが敏感になってしまうようです。


【ダウンロード】
アマレコVR Ver1.10ベータ版

何かありましたらこの記事のコメント欄へご連絡ください。


 
 
あまラボへようこそ
このブログでは自作ソフトの最新情報やtips、PC動画に関する話題を掲載していきます。各記事へは下にあるカテゴリからアクセスして下さい。

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

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



ホームページ
カテゴリ
最新コメント
カレンダー
04 | 2021/05 | 06
- - - - - - 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 ビデオキャプチャ AMVコーデック アマレココ アマレコVR Oculus Quest アマミキ! コーデック gQuest SC500 動画配信 Pico ファンタジーリモート 4K GO アマレコライト プラグイン G2 AMV4 oculus ライブ機能 Unity SC512 AVX2 デスクトップキャプチャ リモートソフト FAQ 質問コーナー ニコニコ動画 HDキャプチャ DirectShow 可変再生速度 遅延 組み換え 120Hz 解説動画 レゴ LEGO GV-USB2 XL2420T 2 AMV2MT 倍速液晶 アマステ 液晶モニター PS4 Pro デインターレース Intensity ベンチマーク MonsterX3A Rift AVX 31006 UtVideo VideoKeeper2 WindowsMR XCAPTURE-1 Alternate T2 ffmpeg GV-USB designs 31024 Shadow Play RYZEN 32ZP2 RDT233WX-Z SD-USB2CAP4 RGBキャプチャ シンクライアント イベント 倍速駆動 キャプチャーツール DirectShowFilter SD-USB2CUP4 擬似NTSCキャプチャ プレビュー 液晶テレビ IntensityPro DC-HD1 Livetube モノステ リプレイ機能 AtomでHDキャプチャ MP3 GPU使用率 可逆圧縮 LAVFilters Preferred Filter キャプチャカード GV-USB3 XCapture-1 Kabelake SSE SKnet Tweaker SteamVR 新アマレコVR 新プレイヤー機能 AMPlayer 60Hz 90Hz Windows VR動画 フレーム間圧縮 VRコントローラー MR オーバーレイ 録画 LameACM 音遅延 60fps Haswell 電源オプション MonsterXU3.0R ゲームスムーズモード 額縁遅延 REGZA ZP3 倍速補完処理 HDCP HDMI HT 31021 フィギュア 音ズレ ハイパースレッディングテクノロジー MPC QSV NVEnc OBS インストール 32ZP32 

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