Render 360 videos in Direct2D

  360-degrees, c++, direct2d, winapi

I’m looking to import 360 videos into my video sequencer with the ability to change the view port at runtime.

For sample, I downloaded this vimeo video: https://vimeo.com/215984568.

As far as I understand technically, this is a common H264/H265 format which reads as such in my application already:

enter image description here

So as I get it, it’s all a point of which area to render and how to transform it.

  1. Is there a Source Reader interface that can handle the transform ? All I could find is the MediaPlayer UWP example (https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/play-audio-and-video-with-mediaplayer) which does not render manually.
  2. If not, is there some protocol that explains the methods of rendering of such videos? I found this OpenGL-based (https://medium.com/@hanton.yang/how-to-create-a-360-video-player-with-opengl-es-3-0-and-glkit-360-3f29a9cfac88) which I could try to understand if there isn’t something easier.
  3. Is there a hint in the MP4 file that it should be rendered as 3D ?

I also found How to make 360 video output in opengl which has a shader that I can port to Direct2D.

I know the question is a big vague perhaps, but couldn’t find any usable C++ code so far.

Source: Windows Questions C++

LEAVE A COMMENT