Open iamjen023 opened 4 years ago
Looks like JWPlayer has native VR playback capability of some kind: https://www.jwplayer.com/developers/web-player-demos/360-video/
That would be a cool value add. Perhaps in the next major release.
I'm definitely following this issue, as VR Support is a big missing point.
JWPlayer just deprecated the vr/360 support of it's player, so it's no use.
I found Video.js that is open source and with much support. It also has a VR plugin
I guess migrating to Video.js would be a huge undertaking, but it might help in other areas?
As for supporting VR on Stash itselft, we could have a dropdown list to specify the VR type of the video, in the Scene's edit tab. Depending on the type, it would load the plugin and set the variables accordingly.
I have some experience in TS but not in Go, if some people are willing to help I can try to build a quick demo.
It would be great to integrate with DeoVR player too.
There seems to be support for 360 video support in three.js. https://threejs.org/examples/?q=vide#webxr_vr_video https://github.com/mrdoob/three.js/
With some testing I could get stash to play back a video served from stash with the following problems:
As it is all based on browser technology you just need a
It would be great to integrate with DeoVR player too.
This would offload playback to DeoVR and for the most part looks like Stash would just have to make a JSON file that could be served to DeoVR with information Stash already has. It does look like it requires HTTPS though.
Just in case someone wants to work with deovr (which would be a great solution in my opinion), here my experiences with the features:
The Web-Player is very easy to implement, when the style and the script are given in the html (both can be integrated or downloaded from sources referenced here: https://deovr.com/app/doc/webvr-video). Simply create the video with the element
<deo-video>
<source src="PATH/TO/VIDEO" quality="RESOLUTIONHEIGHTp"/>
</deo-video>
So adding this to stash should be very straightforward.
The JSON generated on the other hand should be under /deovr url and does not require to be https. In fact, you can very quickly test the format of the JSON by installing xvbr (which is a standalone app, so it works very similar to stash and is as easy to setup), putting in some videos and calling the /deovr url. The JSON is generated by this code right here: https://github.com/xbapps/xbvr/blob/1a2de0b78de41148ec5b71c25a2f3210cf25080c/pkg/api/deovr.go , maybe this is helpful for getting a basic structure to work with.
If anybody wants to test, DeoVR support is now finished in PR #2105. You can access it directly from the VR browser, or (after enabing in settings), with a button in the scene player.
It requires HTTPS, that's a DeoVR limitation.
deovr does not need https to use the json api. if / when you you implement the video js plugin it will need https then.
Hmm, it seems to require it for Android. I can't seem to get it to work there. You're saying the desktop version doesn't need it?
Hmm, it seems to require it for Android. I can't seem to get it to work there. You're saying the desktop version doesn't need it?
It looks like just an Android requirement, from the Deo VR docs: https://deovr.com/app/doc
- How to configure servers The easiest way to stream video on demand (VoD) is to use progressive HTTP streaming which doesn't require any additional or special web server configuration. DeoVR player will download video header and based on this information will send HTTP Range requests to the web server in order to download necessary parts of the video file. HTTPS is required to ensure compatibility with all Android versions.
I can confirm that DeoVR under Windows does not require HTTPS, I've successfully used Tweeticoats stash-deovr plugin https://github.com/Tweeticoats/stash-deovr to generate Deovr json files and serve them under http in the DeoVR app.
Is this not completed via #3636?
Are there any plans to support vr videos I'm using xbvr for now but would like it to be all in one place