I was trying to figure out an ideal video resolution to record VR video in, for my HTC Vive VR headset. By ideal, I mean what video file resolution would take full advantage of the display’s resolution.
I am asking myself this question because I don’t think the current state of technology has a good answer and I want to know what recording resolution do I need to max out the amount of recorded detail.
It’s display resolution is 1080×1200 per eye, with a field of view of 110deg side to side and 100deg up and down.
That means that side to side, to cover 360 deg the ideal resolution should be 3534px (360/110*1080).
Up and down, to cover 180deg, the per eye resolution should be 2160 px (180/100*1200)
So the ideal 360deg file resolution should be 3534 x 2160px per eye. For stereo video, the vertical resolution needs to double, so it beomes 3534 x 4320. That’s very close to 6k resolution (4,992 x 3,744, which is 18MegaPixels)
Everyone that’s tried a VR headset in 2017 will attest to the the fact that the display resolution is rather poor. But even with this ‘poor’ display resolution we need 6k (18 MegaPixel) video to take full advantage of it. 6k video files are massive and working with them is not a simple task from a computational perspective. Only the very best/most powerful machines can handle smooth editing at these resolutions. 7680×4320
If we want to increase that display resolution to get a less pixelated image in the headset display, we are also going to have to increase the recorded video resolution. So even a modest 1.4x increase in headset display resolution on both axis (which results in a 2x total resolution increase) means that we need 10k video to use the display’s full potential. Going to 2x increase in display resolution on both axis (so a 4x increase in total resolution) means… I don’t think we even have resolutions that go up that high… 20k resolution?
I could not even speculate on what kind of internet connection and bandwidth you would need to stream that kind of video file from youtube.
All this being said, while a 4 times increase in resolution of the display is significant, it does not come close to full potential of what the eye can see and distinguish.
The current 4k video streams available on youtube do not contain enough information to take full advantage of the display resolution in today’s generation of headsets.
When the camera is on and recording while being attached to an external battery bank, the camera’s battery does not charge. In fact the battery level decreases. It decreases very slowly, but still decreases. The power consumption of the camera is higher then what the external bank can dump into the camera.
The documentation mentions the internal battery life is about 2 hours, and the charging time to full capacity is about 3 hours. So it makes sense that the external charger (even thought it’s a 2.4A charger) can’t deliver enough power to run the camera, let alone run the camera and charge the battery.
This means that the camera can’t be used for an unlimited amount of time, even if plugged into the wall. I don’t know how long the camera can stay on in this mode, but it’s substantially more then just using the onboard battery.
Also, it should be noted that if you want maximum battery life out of the camera, it’s best to plug it in right at the start of the operation of the camera, when the internal battery is fully charged. If you wait until the internal battery is depleted by any amount, an external battery bank or wall plug will be of less use then if the internal battery was full.
Spherical video is tricky. The process of stitching together multiple images to create a equirectangular projection image doesn’t give you an exact image resolution. So what resolution should I be outputing my video to? Too low a resolution and you’re loosing detail. Too high a rendered resolution and you’re wasting bandwidth as no more details are created when an images is scaled up.
In using the new Vuze Camera from HumanEyes, I wanted to figure out what the ideal rendered output should be to maximize image quality and minimize file size waste. It’s easy to output to 4096 x 4096 px and be done with it, but that resolution of is not easily playable by most devices today, and it may be a waste of bandwidth.
So the goal is to get a ballpark idea of what the final rendered resolution should be based on the data recorded by each sensor, in order to retain as much detail as possible from the raw footage to the youtube file as possible, in order so the viewing experience is as sharp as possible when viewed in 3D 360º, without wasting extra file size.
The resolution I came up with is 3200 x 2880 pixels. Read on to find out how I came to that conclusion.
Recently bought a GTX 1060 3GB GPU to use with an HTC Vive for VR games. The GPU worked well with an AMD FX-8130 CPU and 8 GB ram. Most games needed the settings to be turned down nearly to their lowest settings to allow the game to run at 90+fps so there would be no hickups in the video in the VR headset.
Because of this limitation, I was keeping an eye out for other GPUs, and came across a good deal on a GTX980Ti. Even thought this is one generation old (Maxwell architecture, vs the new Pascal which is what the GTX1060 card is).
I bought the card, brought it home, installed it, and saw virtually zero performance improvement in the games I tried. Imagine the disappointment. I just spent a few hundred $$ to gain zero performance 🙁 Read More
Ever since I bought the HTC Vive, I’ve been very interested in the current methods of capturing moments that can then be re-played back at a future time.
There is of course 360deg video, which gives you a flat spherical 2D image/video of the world around the subject at the time of recording. One better is 3D spherical video which gives 2 separate 2D video streams (one for each eye) to give you the feeling of immersion, by providing your brain with depth information due to giving each eye a separate image.
And that’s it. Well there’s video games, but that’s not really a recording.
Part of the immersion that VR gives you is the ability to see the VR space from your own perspective. Being able to look around is one ingredient to the immersion. Another layer to that is the ability to translate oneself laterally (move around) the environment.
I want to record the moment as a three dimensional scan of the environment. Upon playback you are afforded not just 360deg view but also ability to move around the scene to view the moment from different angles. And what if the moment captured wasn’t a snapshot in time, but rather many moments captured sequentially (like the frames of a movie) through which one could navigate and watch from any perspective?
This would not be a ‘video’ stream per say, but rather a data stream of three dimensional polygon data that would then be reconstructed at the time of playback.
Now the question is, how to accomplish this… …to be continued.