Downloading 3DVR videos from YouTube and making them work on different devices can be quite a hassle.
For example, at the time of writing most mobile cpus won't be able to handle 60fps 3D 360 at 4096x4096 resolution,
but there may be other issues like video players not being able to handle Googles Equi-Angular Cubemap (EAC) projection.
"Bruh, why even download though, when I can simply use the YouTube app or web-browser?"
Nothing lasts forever, sometimes YouTube channels and videos disappear for one reason or another.
Sometimes you may want to watch videos offline, or put them on a device to save bandwidth or for a better experience.
Maybe you have a Plex server, where you can enable DLNA and simply stream your videos over Wi-Fi to a device using Skybox VR without going through the SMB hassle.
Prerequisites:
This guide uses youtube-dl, so make sure to download a copy first.
Downloading 180 3DVR is farly straightforward, let's use Venus Reality's Charlotte 06 video as an example:
At the time of writing this will download a .webm container with the following codecs:
Which should play fine on most players like Skybox VR, the problem is that some metadata like video description and download url won't be stored in the file.
Even when adding the parameter --add-metadata the additional metadata wont be stored in the webm for some reason (bug?).
Since webm is essentially a mkv limited to certain codecs like VP9, and since mkv can contain any combination of codecs anyway,
we can fix this by specifying mkv as output format, our new base command line becomes:
Now assume we have an older device or we are not able to stream our downloaded video from our home server/computer due to slow Wi-Fi.
Instead of re-encoding the video, it is possible to specify which version of the file to download from YouTube.
To list the available codecs/resolutions/framerates for a video, use -F:
To download a version with customized encodings of the video, specify the format code from the first column, video codec first, then audio-codec.
For example, using these formats:
251 webm audio only DASH audio 167k , opus @160k, 4.33MiB
303 webm 1920x1080 1080s60 4368k , vp9, 60fps, video only, 128.25MiB
Our new command line becomes:
The process for 360 3DVR is similar, but as stated earlier, your device might not be able to to handle 4096x4096.
You may want to move to a lower resolution like 315:
315 webm 3840x2160 2160p60 16338k , vp9, 60fps, video only, 385.90MiB
Again, let's us Venus Reality's Queenie 03 video as an example:
When opening this file you will notice that it has the EAC projection mentioned earlier.
This is fine if you are using a player like Skybox VR, where there is a button for "YouTube" projection, but what if your player does not support EAC?
Don't panic, Top-Bottom (TB) encodings are still available, but you have to specify an empty user agent.
Note that the available formats may differ depending on user agent, so if you change user agent, make sure to list formats again:
Now download the video with an empty user agent:
When opening this file it should now be a regular Top-Bottom 360 3DVR video.
Edit: In fact, the seams are currently not perfect with EAC when using Skybox VR, so right now it may be better to go for Top-Bottom anyway.
As for now, that's all there is to it!
Happy Downloading!
For example, at the time of writing most mobile cpus won't be able to handle 60fps 3D 360 at 4096x4096 resolution,
but there may be other issues like video players not being able to handle Googles Equi-Angular Cubemap (EAC) projection.
"Bruh, why even download though, when I can simply use the YouTube app or web-browser?"
Nothing lasts forever, sometimes YouTube channels and videos disappear for one reason or another.
Sometimes you may want to watch videos offline, or put them on a device to save bandwidth or for a better experience.
Maybe you have a Plex server, where you can enable DLNA and simply stream your videos over Wi-Fi to a device using Skybox VR without going through the SMB hassle.
Prerequisites:
This guide uses youtube-dl, so make sure to download a copy first.
Downloading 180 3DVR is farly straightforward, let's use Venus Reality's Charlotte 06 video as an example:
Code:
youtube-dl https://www.youtube.com/watch?v=mozVUUnsGOI
At the time of writing this will download a .webm container with the following codecs:
Video: VP90 3840x1920 59.94fps [V: English [eng] (vp9 profile 0, yuv420p, 3840x1920) [default]]
Audio: Opus 48000Hz stereo 3072kbps [A: English [eng] (opus, 48000 Hz, stereo) [default]]
Which should play fine on most players like Skybox VR, the problem is that some metadata like video description and download url won't be stored in the file.
Even when adding the parameter --add-metadata the additional metadata wont be stored in the webm for some reason (bug?).
Since webm is essentially a mkv limited to certain codecs like VP9, and since mkv can contain any combination of codecs anyway,
we can fix this by specifying mkv as output format, our new base command line becomes:
Code:
youtube-dl --add-metadata --merge-output-format mkv https://www.youtube.com/watch?v=mozVUUnsGOI
Now assume we have an older device or we are not able to stream our downloaded video from our home server/computer due to slow Wi-Fi.
Instead of re-encoding the video, it is possible to specify which version of the file to download from YouTube.
To list the available codecs/resolutions/framerates for a video, use -F:
Code:
youtube-dl -F https://www.youtube.com/watch?v=mozVUUnsGOI
To download a version with customized encodings of the video, specify the format code from the first column, video codec first, then audio-codec.
For example, using these formats:
251 webm audio only DASH audio 167k , opus @160k, 4.33MiB
303 webm 1920x1080 1080s60 4368k , vp9, 60fps, video only, 128.25MiB
Our new command line becomes:
Code:
youtube-dl --add-metadata --merge-output-format mkv -f 303+251 https://www.youtube.com/watch?v=mozVUUnsGOI
The process for 360 3DVR is similar, but as stated earlier, your device might not be able to to handle 4096x4096.
You may want to move to a lower resolution like 315:
315 webm 3840x2160 2160p60 16338k , vp9, 60fps, video only, 385.90MiB
Again, let's us Venus Reality's Queenie 03 video as an example:
Code:
youtube-dl --add-metadata --merge-output-format mkv -f 315+251 https://www.youtube.com/watch?v=5FjTAXQ-DqM
When opening this file you will notice that it has the EAC projection mentioned earlier.
This is fine if you are using a player like Skybox VR, where there is a button for "YouTube" projection, but what if your player does not support EAC?
Don't panic, Top-Bottom (TB) encodings are still available, but you have to specify an empty user agent.
Note that the available formats may differ depending on user agent, so if you change user agent, make sure to list formats again:
Code:
youtube-dl -F --user-agent "" https://www.youtube.com/watch?v=5FjTAXQ-DqM
Now download the video with an empty user agent:
Code:
youtube-dl --add-metadata --merge-output-format mkv -f 315+251 --user-agent "" https://www.youtube.com/watch?v=5FjTAXQ-DqM
When opening this file it should now be a regular Top-Bottom 360 3DVR video.
Edit: In fact, the seams are currently not perfect with EAC when using Skybox VR, so right now it may be better to go for Top-Bottom anyway.
As for now, that's all there is to it!
Happy Downloading!
Last edited: