We are developing a VR app for the oculus go. The videos we're using are prerendert from a 3d Software, 4096x4096px, 360 degrees, stereo (top/bottom) h265 encoded. Actualy im using the Unity standart video player, render2tetxure and display on a large sphere.
At every end of a video we stand on a crossing and blend in multiple arrows for the user to choose the next path.
That all works well. But now i got 2 questions.
1) Is it possible to start a video from a given frame ? (lets say frame 100)
When im setting video.frame and call play(). The video always start from the first frame.
2) Can the videos that the user possibly can choose at a crossing, be prepared when reaching the end of the current video. How can this be done ? Can this be done in background while still playing the last frames of the current video? There is a maximum of 4 possible videos per crossing.
At last some screenshots for you to get an idea what it will look like.
Last I looked the built in Video Player had awful memory management. imho you'd be way better off using AVPro Video as a more solid playback solution.
It has startTime (which you can convert to/from frame number knowing your framerate) as well as caching (which you'd want for your branching)
public virtual void AddMediaToCache(string url, string headers, MediaCachingOptions options)
and for checking, Enum CachedMediaStatus:
|Cached||The media is cached.|
|Caching||The media is being cached.|
|Failed||The media is not cached, something went wrong - check the log.|
|NotCached||The media has not been cached.|
It's not cheap although it comes in different flavours (Core, Android only, Ultra etc.) and it has a fully working watermarked trial version so you can properly evaluate it before purchasing.