VR180、MV-HEVC
- Google VR
- Spatial Media
- VR180 Video Format
- VR180 Camera - Reference Implementation
- YouTube VR
技術解説など
- Introducing GStreamer VR Plug-ins and SPHVR
- How to make VR180 videos from stereoscopic clips
- VR180 Mesh Projection Box の技術解説
- Unity 2018.1 でステレオ VR 動画を作成する
- 【iVRy】2020年、PSVRをPCに接続してVRライブ配信をみたい
- 新しい3D立体視・ステレオ180度VR動画規格「VR180」とは。従来の360度VR動画の違い。Youtube及びOculusGoへ「VR180」アップ・検証方法を説明
- Oculus GoでローカルのhtmlファイルからVR180のWebViewerを立ち上げる。
- Panorama180Viewer
- Z CAM K1 PROを使用したVR1803Dリアルタイムライブ配信方法-2021年-Oculus QuestでVR180°ライブ配信の3D立体感を体験
おまけのトピックとしまして、Oculus QuestでVR180を3Dで視聴する方法を紹介します。準備が難しいアプリなどを用意せず、とりあえず3D立体を体験できます。
…
「Firefox Reality」を開き、ブラウザーにHLSのURLを入力します。 - Interface 2022年1月号 ステレオ画像の画像処理
特集 ステレオ画像の画像処理
第1部 第2章 画像処理環境のビルド,筆者のプロジェクト.stdafx.h, stdafx.cpp, targetver.hが入っているので必要に応じてコピーする
第1部 第3章 動画の切り出し
第2部 第1章~第9章の画像処理プログラム
第2部 第1章~第9章で利用するスレテオ画像のサンプル
VR180カメラで撮影した動画像のサンプル
特設 ステレオ・カメラの製作と実験
第1章 関連ファイル一式
第2章 関連ファイル一式
VRカメラDIY
- VR180カメラを作る その1
- 特集のステレオ画像を撮影できる2眼カメラの製作, Interface 2022年1月号
Lifecast
- AIの力でVR180コンテンツからVRに最適化した6DoFコンテンツを生成できる「Lifecast」
- VR180から6DOFVR写真(ビデオ)を作成する
メタデータ
- Pythonでビデオメタデータを抽出する方法
- ffmpeg-pythonで動画にメタデータを追加する
- Blender 2.8でさくっとVR180/360動画を作成する
VR180用のメタデータ付与にはGoogleが用意していくれている「VR180 Creator」アプリを使用して簡単に付与することができます。
- CMAF と CMAFを使用した低遅延 LIVE 配信の実現
2018年時点の HTTP Streaming の世界では、2017年に IETFでRFCとして承認されたApple が主導するHLS (HTTP Live Streaming) と、ISO国際標準規格である MPEG-DASH(Dynamic Adaptive Streaming over HTTP)という2つのメディアコンテナファイルのフォーマットが主に使われるようになっています。
…
これらのメディアコンテナファイルのフォーマットの複雑さを解決するために、Apple と Microsoft は、CMAF(Common Media Application Format) と呼ばれる共通の規格の策定をMPEGに提出し、2018年1月にISO/IEC 23000-19:2018として正式に発行されました[1]。 - MP4のファイル構造を解説
- Vargol/spatial-media
Specifications and tools for 360º video and spatial audio. Modified for Google's VR180
- 3D 動画のアップロード
.mov または .mp4 コンテナに格納された、H.264 でエンコードされた動画
↑これはエラーになる。ffmpeg -i input_file.mkv -vcodec libx264 -x264opts "frame-packing=3:frame-packing- interpret=1:frame-packing-quincunx=0:frame-packing-grid=0,0,0,0" output_file.mp4
Matroska 形式、WebM 形式の動画
ffmpeg -i input_file.mkv -c copy -metadata:s:v:0 stereo_mode=1 output_file.mkv
- Spherical Video V2 RFC
サンプル
- d30835nm/VrMovie
360Video & VR180 verification samples. (360動画およびVR180の検証サンプル集)
疑問
-
Meta Quest,Steam VRを用いてVR180の動画を見るにはどの様な方法があるのか?
-
自身で作るUnityプロジェクトにVR180の動画を組み込むにはどの様な方法あるのか?
-
Googleが提案したVR180フォーマットは動画ストリーム、ファイル中のどこの部分の事なのか?またどの動画フォーマットで実装されているのか?
- ファイルの場合、主にコンテナ(MOV、MP4、MKV、WebM)のメタデータ、他にはH264 SEIトラックのヘッダーに実装される。
YouTube では、3D 動画で左右(LR)サイドバイサイド ステレオ レイアウトを使用できます。次の形>式で動画にステレオ メタデータを含めてください。
.mov または .mp4 に格納された st3d ボックス
.mkv または .webm に格納されたサイドバイサイド LR に設定したステレオモード要素
H264 SEI ヘッダーに格納された FPA メタデータ- MPEG-4、H.264/MPEG-4 AVC、H.265/HEVC、VP8~AV1で実装可能なのか?
- コンテナフォーマットとは無関係なのか?
- トランスポートとは無関係なのか?
VR180コンテンツ
- Musan VR channel
- VR180 Films
- 3D VR 180 MOVIE
- https://www.youtube.com/@user-so9qz3gv5t
投影方法(projection)の変換
- FFmpeg Filters Documentation / 11 Video Filters / 11.240 stereo3d
ビデオ,配信など
-
videojs / videojs-vr
-
Low Latency Streaming Protocols SRT, WebRTC, LL-HLS, UDP, TCP, RTMP Explained:
-
three.js / Learn / documentation / Textures / VideoTexture
-
ffmpeg で low latency DASH server 作ってみた
-
VR動画配信と低遅延化技術
-
WebRTC Native Client Momo
-
mdn web docs / References / Codecs used by WebRTC / Containerless media
WebRTC uses bare MediaStreamTrack objects for each track being shared from one peer to another, without a container or even a MediaStream associated with the tracks.
-
Unity+WebRTC+three.js+WebVRを使ってRICOH THETAの全天球画像を遠隔地のOculusでみる
-
WebRTC と WebCodecs&WebTransport 比較表
-
WebTransportでもWarp(超低遅延配信)がしたい!
-
SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181.
-
oscarmarinmiro / frame-stereo-component
A stereo component for A-Frame VR.
This component builds on the ['layer' concept of THREE.js] (mrdoob/three.js#6437) and is really two components in on -
Raspberry Pi Zero 2 WでWebRTC momoを動かしてみる
これはlibcameraが言うところのNative V4L2 ApplicationのひとつであるのでV4L2 Compat.soを効かせると 動くようになるはず。
-
V4L2 Compatibility Layer
V4L2 compatibility is achieved through a shared library that traps all accesses to camera devices and routes them to libcamera to emulate high-level V4L2 camera devices. It is injected in a process address space through LD_PRELOAD and is completely transparent for applications.
-
v4l2-compat.so
を含むパッケージはlibcamera-dev
- https://github.com/raspberrypi/libcamera-apps/issues/355
- bullseyeで実際に含んでいたのは
libcamera0
パッケージだった。
-
libcameraには
libcamerify
というLD_PRELOAD
を設定するランチャーある。 -
IMX477を使ったCSIカメラには純正のRaspberry Pi High Quality CameraとArducamなどのサードパーティのものがあるが、Bullseyes+Libcameraの環境でレガシーなRaspicamを使えるのは純正ものものだけ。
Photosensitive chip model Supported Raspberry Pi board model Supported driver type
...
IMX477 (Raspberry Pi official) All Raspberry Pi boards libcamera / Raspicam
IMX477 (third party) Raspberry Pi Compute Module libcamera -
StereoPi Example/FMETP STREAM
This is a cross-platform StereoPi receiver solution, via FMETP STREAM.
-
Ayame モードを 利用して Momo を動かしてみる
-
A-FRAME Samples
This is a WebVR sample with A-FRAME, mainly for Oculus Go.
これは A-Frame を利用した WebVR のサンプルで、Oculus Go を対象にしています -
【作ってみた】川崎重工製産業用ロボットduAro2をOculus Questで遠隔操作してみた
-
StereoPi
-
CosmoViewerNG for Oculus Quest/Quest2
- https://cosmostreamer.com/apps/cosmoviewer-ng-oculus/
- https://forum.stereopi.com/viewtopic.php?f=10&t=1118
We added MJPEG support too. This is an experimental feature. To play with it, you can > stream your MJPEG video to the app using a command like this:
raspivid -t 0 -w 1280 -h 720 -fps 30 -3d sbs -cd MJPEG -o - | nc 192.168.1.224 3001
Port 3001 is used for MJPEG only. Please note, that MJPEG streaming has its own issues in the stereoscopic mode.
-
<video>: 動画埋め込み要素
一部のブラウザー (Chrome 70.0 など) では、 muted 属性がないと autoplay は動作しません。
-
ayame-web-sdk-samples/recvonly.html
でroomId
、videoCodec
をスクリプト内で代入し、DOMContentLoaded
イベントでstartConn()
を呼び出すようにしてもストリーミングが開始されなかった。そこで<video>
要素でmuted
を加えたところロード時にストリーミングも再生するようになった。
-
-
Autoplay policy in Chrome
Chrome's autoplay policies are simple:
Muted autoplay is always allowed.
Autoplay with sound is allowed if:
VR180カメラ新製品
レビュー
【XR Kaigi 2023】「VRカメラ(360/180)の最新動向 2023」 https://youtu.be/-EqHc9asYiI?si=UBdxuqAf8cfUKDdL
Kandao VR Cam
2023年8月下旬より販売開始
TECHE 3D180VR
Calf - Professional 3D VR180 Camera
2023年6月 Kickstarterプロジェクト成立
2023年9月配送予定
ACFLOW Snap - All-in-One 360 Action Camera. Refund Guarantee
カメラモジュールが付け替え可能なアクションカメラ。カメラモジュールのバリエーションの中にVR180カメラがある。
2024年5月配送予定
VR.cam 02
VR180動画を配信できるWebカメラ。Webカメラという事なので単独では用いることは出来ないようです。単独でVR180の動画を記録できる高価なカメラはすでにあるので、あえてWebカメラにとどめることで手軽で入手し易い製品を目指したとのことです。
ビデオフォーマットは"VR180 MJPEG – SBS (Side By Side) Dual image"%20Dual%20image)と記載されています。VR180のメタタグを付けたMP4ストリームを得られるのかは公式サイトで言及している所を見つけられなかったのでわかりません。
YouTube StudioでVR.cam 02の映像を配信しても再生側ではVR180にならないそうです。
VR180動画として配信するには「エンコーダー配信」→「ライブ配信の設定」で「360° 動画」のスイッチを入れる必要があるようです。
2024年2月より販売開始
MV-HEVC、空間ビデオ、spatial video
Google SEG曰く
MV-HEVC(Multiview High Efficiency Video Coding)は、Apple Vision Proのステレオスコピック体験に使用されるステレオ動画規格です。MV-HEVCは、3D立体映像化された空間ビデオを作成するために使用されます。
"Apple HEVC Stereo Video Interoperability Profile (Beta)"
"Deliver video content for spatial experiences - WWDC23"
"iOS 17.2 + iPhone 15 Proで撮れる「空間ビデオ」をサングラス型ディスプレイで見よう(西田宗千佳) @TechnoEdgeJP"
"HEVCを超える映像符号化標準"
また「スケーラブル拡張」「マルチビュー拡張」「3D拡張」では、1つの符号化データで複数の映像(レイヤ)の伝送や蓄積が可能なマルチレイヤ符号化を実現しており、レイヤ同士の予測を取り入れた高効率の符号化が可能である。………「マルチビュー拡張」や「3D拡張」では、複数の視点映像(ビュー)を効率的に圧縮できるほか、デプス映像の符号化が可能であり、複数視点映像とデプス映像から、中間映像を生成するような自由視点映像アプリ―ケーションの実現が期待されている。
"Multiview High Efficiency Video Coding (MV-HEVC)"
Gstreamer x265enc のsrc padのprofileにMultiview Main (MV-HEVC)に該当する選択肢はみられません。(2023-12-12現在)
FFMpegでも使われている VideoLAN x265 のsuppored profileにMultiview Main (MV-HEVC)に該当する選択肢はみられません。(2023-12-12現在)
NVIDIA VIDEO CODEC SDKのマニュアルでサポートしているプロファイル一覧にMultiview Main (MV-HEVC)に該当する記述はありませんでした。(2023-12-12現在)
"NVIDIA VIDEO CODEC SDK - ENCODER - 1.2. NVENC Capabilities"
macOS でMV-HEVC ビデオファイルを二つに分割,二つのビデオファイルからMV-HEVC ファイルを作るためのツール。Swiftで書かれています。
魚眼レンズ、投影
映像情報メディア学会誌 / 69巻(2015)9号
新映像音響体験 / 2. 全天周撮影 / (2)魚眼レンズの投影方法
■ 2016年06月29日 [OpenGL][GLSL] 魚眼レンズ画像の平面展開