Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

Oculus DK2 - display a video at a specific time

sanso.simonesanso.simone Posts: 2
Dear all,

My goal is to play a video on the oculus DK2, by selecting the time instant of the video to be displayed with the current position of a Falcon Novint robot.

I have tried using TouchDesigner and the CHAI3D-oculus module, but I did not manage to display any video on the Oculus DK2.

Applications playing videos from the Oculus store work perfectly fine. Therefore, I was thinking of starting one of these apps (such as "Open VR Video Player" that allows selecting a video within a specific path) to select the specific time, from the robot's position (read in the program running in C++ on visual studio 2015), at which the video should be displayed. Could that be doable?

Did anyone try to perform a similar setup? Does someone have any recommendation?

Thanks a lot in advance for your help!



  • volgaksoyvolgaksoy Posts: 69 Oculus Staff
    Hi Simone,

    You can use any open source video player code and send the decoded video image data into a quad layer using the Oculus SDK. Video players usually output using the YUV color format, so you might have to do a conversion to RGBA before copying it into the VR quad layer. Also, depending on the frame rate of the video, you might have to keep submitting the same video frame a few times to keep up the 75 Hz frame rate requried by the DK2 HMD and 90 Hz for CV1.
  • MarttiMartti Posts: 9
    I use ffmpeg and OpenGL to play videos and sound together with DK2. There is a tutorial on ffmpeg http://dranger.com/ffmpeg/

  • sanso.simonesanso.simone Posts: 2
    @volgaksoy thanks for your answer, are you aware of any example helping me getting started? I have tried checking all the examples given in the Oculus SDK but could not find any information about playing a video.

    Today I have been trying to use the Oculus module of CHAI3D (development for the Falcon Novint robot), I get the following error when I try playing a video : 

    {!ERROR!} [Kernel:Error] OVR Error:
    Code: -1005 -- ovrError_InvalidParameter
    Description: Null chain pointer provided
    OVRTime: 1299.699263
    Time: 2019-01-25 18:01:13 [842:361:500]

    Strangely, I can hear the sound of the video but I cannot figure out where the program is failing to display it on the Oculus.

    Here's the repository of the solution given by CHAI3D: https://github.com/chai3d/chai3d
    The same error shown above appeared for all the examples.

    Thank you very much in advance for any advise,

  • volgaksoyvolgaksoy Posts: 69 Oculus Staff
    There are different samples out there beyond our SDK. For example FFMPEG (see licensing to make sure it works for you) is one such example as well as Microsoft's Media Session that's part of the Media Foundation API https://docs.microsoft.com/en-us/windows/desktop/medfound/media-session. Althought they're deprecated, you can find compilable video playback samples here: https://github.com/pauldotknopf/WindowsSDK7-Samples/tree/master/multimedia/mediafoundation

    I believe SimplePlay is one such example, but you would not want to use them directly since Microsoft has updated APIs. But it should get you started. Be aware that almost none of those samples are efficient and do not use D3D11 or the GPU properly. For that, you'd want to look at this doc: https://docs.microsoft.com/en-us/windows/desktop/medfound/supporting-direct3d-11-video-decoding-in-media-foundation

    What you need is that once a video frame is decoded, convert to a regular RGB color format our SDK supports, and then copy it into a SDK quad layer (or directly render your own quad into an EyeFov layer). As for how you need to render a quad layer or EyeFov layer, you can see our OculusRoomTiny (ORT) samples in the native SDK download zip. We have GL, D3D11, D3D12, Vulkan versions of the same sample packaged in there. ORT only uses a single EyeFov layer. For quad layers and more advanced use of the SDK, see the OculusWorldDemo sample also in the SDK download zip.
Sign In or Register to comment.