Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Update to WebXR #285

Closed
wants to merge 94 commits into from
Closed
Show file tree
Hide file tree
Changes from 90 commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
d742fd1
Updating node-sass version (to remove python2 dependency)
Dec 2, 2022
d3fba93
Husky update
Dec 2, 2022
139f797
[KJSL] Swap webvr ro webxr polyfill packages
Dec 5, 2022
a46b98d
Example of having both polyfills - rewritting plugin.js to use the ne…
kevleyski Dec 5, 2022
dc28b05
[KJSL] Swap webvr ro webxr polyfill packages
Dec 6, 2022
f41dc2a
Merge pull request #1 from kevleyski/main
kevleyski Dec 6, 2022
dbc1073
[KJSL] Swap webvr ro webxr polyfill packages
Dec 6, 2022
cd30806
[KJSL] Swap webvr ro webxr polyfill packages
Dec 6, 2022
eecdbba
Merge pull request #2 from kevleyski/main
kevleyski Dec 6, 2022
d6821ab
[KJSL] Swap webvr ro webxr polyfill packages
Dec 7, 2022
842abed
Merge pull request #3 from kevleyski/main
kevleyski Dec 7, 2022
6de443d
[KJSL] Swap webvr ro webxr polyfill packages
Dec 7, 2022
b318d28
[KJSL] Swap webvr ro webxr polyfill packages
Dec 7, 2022
6d4ff0a
[KJSL] Swap webvr ro webxr polyfill packages
Dec 11, 2022
e02ce1d
Merge pull request #4 from kevleyski/main
kevleyski Dec 11, 2022
70a1611
chore: Swap webvr ro webxr polyfill packages
Dec 11, 2022
e0d1c48
Merge pull request #5 from kevleyski/main
kevleyski Dec 11, 2022
36e7cdc
chore: Swap webvr ro webxr polyfill packages (continue to use webvr p…
Dec 12, 2022
c8330f7
Merge pull request #6 from kevleyski/main
kevleyski Dec 12, 2022
56ad5f3
chore: Swap webvr ro webxr polyfill packages (adding basic controller…
Dec 14, 2022
a8d1459
Merge pull request #7 from kevleyski/main
kevleyski Dec 14, 2022
856a183
chore: Swap webvr ro webxr polyfill packages (add iOS permission chec…
Dec 20, 2022
8d88ec5
Merge pull request #8 from kevleyski/main
kevleyski Dec 20, 2022
7c0c62b
chore: Swap webvr ro webxr polyfill packages (add iOS permission chec…
Dec 20, 2022
46c7207
Merge pull request #9 from kevleyski/main
kevleyski Dec 20, 2022
7bf68a5
Update src/big-vr-play-button.js
kevleyski Dec 20, 2022
1cc47ef
Update src/plugin.js
kevleyski Dec 20, 2022
13d2b02
Merge pull request #1 from MetaCDN/main
kevleyski Dec 20, 2022
2603836
chore: Swap webvr for webxr polyfill packages (PR fix ups)
Dec 20, 2022
ff858af
chore: Swap webvr for webxr polyfill packages (PR fix ups)
Dec 20, 2022
de6db15
Merge pull request #10 from kevleyski/main
kevleyski Dec 20, 2022
80f9e0c
chore: Swap webvr for webxr polyfill packages (PR fix ups - part reve…
Dec 20, 2022
448eb88
chore: Swap webvr for webxr polyfill packages (PR fix ups - only show…
Dec 21, 2022
8fb0579
Merge pull request #11 from kevleyski/main
kevleyski Dec 21, 2022
538dca1
(revert accidental file delete)
Dec 21, 2022
cf6277d
chore: Swap webvr for webxr polyfill packages (PR fix ups - clicking …
Dec 21, 2022
07c7f54
chore: Swap webvr for webxr polyfill packages (PR fix ups - clicking …
Dec 21, 2022
c5c6a58
Merge pull request #12 from kevleyski/main
kevleyski Dec 21, 2022
35ed850
chore: Swap webvr for webxr polyfill packages (PR fix ups - testing o…
Dec 23, 2022
8441f77
Merge pull request #13 from kevleyski/main
kevleyski Dec 23, 2022
9ce1f15
chore: Swap webvr for webxr polyfill packages (PR fix ups - testing o…
Jan 24, 2023
a6528ac
chore: Swap webvr for webxr polyfill packages (PR fix ups - adding 18…
Jan 25, 2023
33d206b
Merge pull request #14 from kevleyski/main
kevleyski Jan 25, 2023
91cfea0
chore: Swap webvr for webxr polyfill packages (PR fix ups - adding 18…
Jan 25, 2023
b0ebafd
Merge pull request #15 from kevleyski/main
kevleyski Jan 25, 2023
dc23443
chore: Swap webvr for webxr polyfill packages (PR fix ups - deprecate…
Jan 25, 2023
72ae5d3
Merge pull request #16 from kevleyski/main
kevleyski Jan 25, 2023
62c45b4
three version up
kevleyski Jan 27, 2023
0e1c4a1
three version up
kevleyski Jan 27, 2023
3261832
(three.js version)
kevleyski Jan 27, 2023
9ed1171
Merge pull request #17 from kevleyski/main
kevleyski Jan 27, 2023
b180074
three.js version API differences
kevleyski Jan 27, 2023
55d53dc
Merge pull request #18 from kevleyski/main
kevleyski Jan 27, 2023
8adb558
three.js version API differences (part revert to allow webvr to still…
kevleyski Jan 27, 2023
3264b5e
Merge pull request #19 from kevleyski/main
kevleyski Jan 27, 2023
f8ea3cb
three.js version revert back to v129 as 130 breaks renderer.getSize
kevleyski Jan 27, 2023
c9f5903
Merge pull request #20 from kevleyski/main
kevleyski Jan 27, 2023
466267b
cubemap verticies
kevleyski Jan 27, 2023
da9c89c
fix up 180 mono
kevleyski Jan 27, 2023
c3b9b4f
Merge pull request #21 from kevleyski/main
kevleyski Jan 27, 2023
c4bd610
Move to latest THREE.js (0.149.0)
kevleyski Jan 27, 2023
a4c12ac
Use latest THREE.js
kevleyski Jan 27, 2023
3786a9d
Merge pull request #22 from kevleyski/main
kevleyski Jan 27, 2023
5943617
chore: Swap webvr for webxr polyfill packages (PR fix ups - fix up VR…
Jan 29, 2023
70c5f29
Merge pull request #23 from kevleyski/main
kevleyski Jan 29, 2023
37fe825
chore: Swap webvr for webxr polyfill packages (PR fix ups - fix up 18…
Jan 30, 2023
e444322
Merge pull request #24 from kevleyski/main
kevleyski Jan 30, 2023
d890f20
chore: Swap webvr for webxr polyfill packages (PR fix ups - cubemap)
Jan 31, 2023
89ab083
chore: Swap webvr for webxr polyfill packages (PR fix ups - cubemap)
Jan 31, 2023
dc27ea8
chore: Swap webvr for webxr polyfill packages (PR fix ups - cubemap)
Jan 31, 2023
cd05e47
Merge pull request #25 from kevleyski/main
kevleyski Jan 31, 2023
a2b1aa0
chore: Swap webvr for webxr polyfill packages (PR fix ups - cubemap b…
Jan 31, 2023
ad1b413
Merge pull request #26 from kevleyski/main
kevleyski Jan 31, 2023
c58338c
chore: Swap webvr for webxr polyfill packages (PR fix ups - UI) (#27)
kevleyski Mar 31, 2023
4a58148
(more tests/examples)
kevleyski Jul 6, 2023
48fd17b
(more tests/examples)
kevleyski Jul 6, 2023
46fd3b1
(fix up PR #273 merge)
kevleyski Jul 6, 2023
a029bba
Merge remote-tracking branch 'metacdn/main' into from-metacdn
mister-ben Dec 5, 2023
9438d65
bump vjs packages and remove husky
mister-ben Dec 11, 2023
e5c98ee
remove husky
mister-ben Dec 11, 2023
4b497b8
Math -> MathUtils
mister-ben Dec 11, 2023
7c3a0bb
temp test debug logging
mister-ben Dec 11, 2023
5416b09
temp test debug logging with currentTime
mister-ben Dec 12, 2023
6987e4a
temp test debug logging check promise status
mister-ben Dec 12, 2023
ab6f04d
temp test known good mp4
mister-ben Dec 12, 2023
d744739
temp test codec log
mister-ben Dec 12, 2023
4a365e5
temp test codec log
mister-ben Dec 12, 2023
8802ae3
rename sphere geometry
mister-ben Dec 12, 2023
edb18d2
Revert test logging
mister-ben Dec 12, 2023
4576704
fix test
mister-ben Dec 12, 2023
7e62cd4
RoundedRectangle is not a constructor
mister-ben Dec 19, 2023
aaf320a
test immersive session support
mister-ben Dec 19, 2023
162d3fa
Don't enter immersive automatically
mister-ben Dec 20, 2023
f32085a
Use three.js's button only
mister-ben Dec 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ When you've made your changes, push your commit(s) to your fork and issue a pull
Testing is a crucial part of any software project. For all but the most trivial changes (typos, etc) test cases are expected. Tests are run in actual browsers using [Karma][karma].

- In all available and supported browsers: `npm test`
- In a specific browser: `npm run test:chrome`, `npm run test:firefox`, etc.
- While development server is running (`npm start`), navigate to [`http://localhost:9999/test/`][local]


Expand Down
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ Maintenance Status: Stable
- [`projection`](#projection)
- [`'180'`](#180)
- [`'180_LR'`](#180_lr)
- [`'180_TB'`](#180_tb)
- [`'180_MONO'`](#180_mono)
- [`'360'`, `'Sphere'`, or `'equirectangular'`](#360-sphere-or-equirectangular)
- [`'Cube'` or `'360_CUBE'`](#cube-or-360_cube)
Expand Down Expand Up @@ -73,7 +74,11 @@ The most recent versions of:
* Mobile
* Chrome on Android
* Safari on iOS

* Headsets
* Meta Quest Browser
* Rift (via Chrome browser)
* WebXR plug-in (Chrome/Firefox)

## Caveats
* HLS captions on safari will not be visible as they are located inside of the shadowRoot in the video element and we cannot get access to them.

Expand Down Expand Up @@ -218,6 +223,10 @@ The video is half sphere and the user should not be able to look behind themselv
Used for side-by-side 180 videos
The video is half sphere and the user should not be able to look behind themselves

#### `'180_TB'`
Used for top/bottom 180 videos
The video is half sphere and the user should not be able to look behind themselves

#### `'180_MONO'`
Used for monoscopic 180 videos
The video is half sphere and the user should not be able to look behind themselves
Expand Down Expand Up @@ -294,7 +303,7 @@ This project is a conglomeration of a few amazing open source libraries.

* [VideoJS](http://www.videojs.com)
* [Three.js](http://threejs.org)
* [webvr-polyfill](https://github.com/borismus/webvr-polyfill)
* [webxr-polyfill](https://github.com/immersive-web/webxr-polyfill)
* [Omnitone](https://googlechrome.github.io/omnitone)

## Support ##
Expand Down
28 changes: 28 additions & 0 deletions examples/180-tb.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>videojs-vr Demo</title>
<link href="../node_modules/video.js/dist/video-js.css" rel="stylesheet">
<link href="../dist/videojs-vr.css" rel="stylesheet">
</head>
<body>
<video width="640" height="300" id="videojs-vr-player" class="video-js vjs-default-skin" controls playsinline>
<source src="../samples/video_180_TB.mp4" type="video/mp4">
</video>
<ul>
<li><a href="../">return to main example</a></li>
</ul>
<script src="../node_modules/video.js/dist/video.js"></script>
<script src="../dist/videojs-vr.js"></script>
<script>
(function(window, videojs) {
var player = window.player = videojs('videojs-vr-player');
player.mediainfo = player.mediainfo || {};
player.mediainfo.projection = '180_TB';

var vr = window.vr = player.vr({projection: '180_TB', debug: true, forceCardboard: false});
}(window, window.videojs));
</script>
</body>
</html>
30 changes: 30 additions & 0 deletions examples/360-tb-2.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>videojs-vr Demo</title>
<link href="../node_modules/video.js/dist/video-js.css" rel="stylesheet">
<link href="../dist/videojs-vr.css" rel="stylesheet">
</head>
<body>
<video width="640" height="300" id="videojs-vr-player" class="video-js vjs-default-skin" controls playsinline>
<source src="../samples/cc_oceanside_beach.mp4" type="video/mp4">
</video>
<ul>
<li><a href="../">return to main example</a></li>
</ul>
<script src="../node_modules/video.js/dist/video.js"></script>
<script src="../dist/videojs-vr.js"></script>
<script>
(function(window, videojs) {
var player = window.player = videojs('videojs-vr-player');
player.mediainfo = player.mediainfo || {};
player.mediainfo.projection = '360';

// AUTO is the default and looks at mediainfo
var vr = window.vr = player.vr({projection: '360_TB', debug: true, forceCardboard: false});
}(window, window.videojs));
</script>
</body>
</html>
Binary file added examples/img/controls_back10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added examples/img/controls_button.xcf
Binary file not shown.
Binary file added examples/img/controls_exitimmersive.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added examples/img/controls_forward10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added examples/img/controls_pause.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added examples/img/controls_play.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 4 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@
<iframe width="700" height="400" src="examples/360.html" allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen="" allow="gyroscope; accelerometer; xr"></iframe>
<ul>
<li><a href="test/debug.html">Run unit tests in browser.</a></li>
<li><a href="examples/180.html">180 video example</a></li>
<li><a href="examples/180.html">180 video example (left/right)</a></li>
<li><a href="examples/180-tb.html">180 video example (top/bottom)</a></li>
<li><a href="examples/180-mono.html">180 video example (monoscopic input)</a></li>
<li><a href="examples/360-cube.html">360 Cube Video example</a></li>
<li><a href="examples/360.html">360 Video example</a></li>
<li><a href="examples/360-two.html">Another 360 Video example</a></li>
<li><a href="examples/360-tb.html">360 TB Video example</a></li>
<li><a href="examples/360-tb.html">360 TB (top/bottom) Video example</a></li>
<li><a href="examples/360-tb-2.html">Another 360 TB (top/bottom) Video example</a></li>
<li><a href="examples/eac.html">EAC video example</a></li>
<li><a href="examples/eac-lr.html">EAC LR video example</a></li>
<li><a href="examples/fluid.html">"Fluid" video size example</a></li>
Expand Down
Loading