This plugin generates json files used by deovr allowing you to play 2d and 3d video’s using the player.
Deovr looks for an index file /deovr of scenes as json files containing information on scenes.
This plugin generates these

Stash can act as a web server and serve files from a custom url, we will be using this to serve the json files generated by this plugin.
Edit config.yml and add a custom served folder option like the below, this will serve files from http://stash_url/custom/deovr/

  /deovr: /root/.stash/deovr

Unfortunatly stash does not allow you serve the index url /deovr so you will need a web service to serve this index file from this base url.
You need to map /deovr to /custom/deovr/deovr.json
See the nginx configuration on how to proxy this one url.


Download the git repo
To use copy the plugin to the plugins/ folder in your stash.
Reload plugins in stash and run the setup task to create tags in stash used for configuration.

Plugin usage

This plugin is configured by looking at tags applied to scenes.
Run the setup task to create these tags.

  • export_deovr – apply this tag to include it in the index
  • FLAT – Mark the video as 2d. This is the default if other projection tags are not configured.
  • DOME – 3D 180° projection, this is what most VR video’s use.
  • SPHERE – 3D 360° projection used by some earlier videos
  • FISHEYE – Fish Eye lense projection
  • MKX200 – 3D 200° projection used by SLR
  • SBS – Side by Side with the left eye taking up the left half of the video. This is the default for 3d video’s.
  • TB – Up Down with the left eye taking up the top half of the video.

plugin configuration

You will need to configure the domain / ip address so the urls are correct.
Edit deovr-plugin and specify the domain or ip address of the instance of the stash instance.


Nginx configuration

server {
	listen 80;
	listen [::]:80;

	server_name stash.home;
        client_max_body_size 0;
        location = /deovr {
           proxy_pass http://192.168.0.xx:9999/custom/deovr/deovr.json;

        location / {
           proxy_pass http://192.168.0.xx:9999;
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "Upgrade";
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $remote_addr;
           proxy_set_header X-Forwarded-Port $server_port;
           proxy_set_header X-Forwarded-Proto $scheme;


View Github