RenderHeads / UnityPlugin-AVProVideo

AVPro Video is a multi-platform Unity plugin for advanced video playback
https://www.renderheads.com/products/avpro-video/
232 stars 28 forks source link

Unable to play a higher res 360 video on Quest 3 #1774

Closed mb2882 closed 5 months ago

mb2882 commented 6 months ago

Please DO NOT LINK / ATTACH YOUR PROJECT FILES HERE

Describe the issue Trying to get a video to play in Meta Quest 3 headset and I keep getting the following error in Unity (with auto profiler connected) "Autoconnected Player" [AVProVideo] Error: Loading failed. File not found, codec not supported, video resolution too high or insufficient system resources.

This video is the NASA ISS Space Exploration 360 video. It plays just fine with using Unity's video player component and using a standard Unity skybox shader. Video also plays fine when running in the editor but I realize that's not on device so it's unclear why there is a resource error with the AVPro Android plugin when Unity is able to play it. I've tried multiple different settings on the Android platform specific tab of the media player too.

I tried Video API Exo player and Media player, both failed with the same error.
I also tried enabling OES Rendering and updating the skybox shader to use AVPro's VR/InsideSphere Unlit Android OES Only No luck with that so I also unchecked OES rendering and tried with a normal AVPro skybox shader VR/InsideSphere Unlit (stereo+fog) and couldn't get that to work either.

The original demo video that comes with AVPro sample scenes works just fine. Can the plugin not handle high resolution 360 stereo videos at this time?

Your Setup (please complete the following information):

To Reproduce

  1. Open up the the AVPro Demo_360stereo Unity scene
  2. Replace the video in the media player with the updated NASA video described above
  3. Build APK, video won't start, just shows all black environment inside the headset

Logs If applicable, add error logs to help explain your problem. "Autoconnected Player" [AVProVideo] Error: Loading failed. File not found, codec not supported, video resolution too high or insufficient system resources.

Screenshots If applicable, add screenshots to help explain your problem.

Videos Video is located here on youtube: https://www.youtube.com/watch?v=Seh-oDCoORM

Please DO NOT LINK / ATTACH YOUR PROJECT FILES HERE

Instead email the link to us unitysupport@renderheads.com

Chris-RH commented 6 months ago
  1. So the video works on the Quest 3 using Unity's video player?
  2. Have you tried a video with the H265 codec, as I believe there have been some issues with H264
  3. Could you provide a full logcat please.
mb2882 commented 6 months ago

Hey,

  1. Yes, video plays fine through Unity's video player. No need to re-encode. Video player component, rendering to a render texture that is applied to a skybox material. Following Unity's documentation on how to render a 360 video to a skybox

  2. Attempted a re-encode with h265 and it still didn't play in headset logcat.txt

  3. Logcat attached when I attempted the run with the h265 encoded video.

mb2882 commented 6 months ago

Got a couple other logcats for you. Hopefully you can decipher better what's going on with these than I can. Logcat_v02 = this is using another video I have, H264, also plays just fine with Unity's default video player, but doesn't play with the AVPro media player when in the headset. logcat_video02.txt

And this logcat is using the Cones-360stereo-2K30-H264.mp4 that comes with the demo materials. This one works properly in the headset.
logcat_AVPro_video.txt

Chris-RH commented 6 months ago

Are you streaming these or loading them from local storage? The error messages imply that either the directory doesn't exist or it can't be accessed Have you enabled Player Settings > Android > Write Permission > External (SDCard)?

mb2882 commented 6 months ago

I've got the box checked to use the write permissions on Android. When I start the app up, it even asks on the headset if I want to allow access to local storage, which I say yes to. But that still doesn't seem to get the videos to work.

I can try putting them in the same location as the AVPro examples. Maybe that will help. I'll report back soon!

Chris-RH commented 5 months ago

any luck?

mb2882 commented 5 months ago

Yep, it works if I put the video assets in the streamingAssets location where the other AVPro examples are located. Anywhere else in the project and it seems it can't find the video. This is good info for me so I can at least insure my videos are always in that location.

Thanks again for pinging me again about this! It had slipped off my radar for a bit.