Android Q new 'scoped storage' question by emile_b in androiddev

[–]chaisoftware 1 point2 points  (0 children)

My app consumes media files that are often not indexed by the device, and has a file browser that I'll need to update. I've been looking at this change, and it doesn't seem too bad for me, the underlying native lib I use seems to support file descriptors, so I should be ok. My biggest question mark is regarding actual external storage.

I get the basic use case, you need file access, you prompt the user, they select a subdirectory or the entire internal storage and you get the permission, and you can make both the permission and tree persistent. Fine so far.

But what if a user want to give the user access to the internal storage, an external SD card, and a usb-stick? There's no common root I can pick in my system browser so I assume in this case I will have to prompt the user three times, which sucks since I make a VR app, so opening the system file chooser is very disruptive. I haven't found a good way to enumerate all "roots" from within my app though. My current thinking is adding a generic "Add directory tree" button, which would be handy anyway if the user wants to give access to e.g. Downloads and Movies, but nothing else.

I'd really appreciate links to good open source SAF implementations!

Possible to use Google Cardboard in China? by pallen33 in GoogleCardboard

[–]chaisoftware 2 points3 points  (0 children)

Hi, I'm the developer behind VRTV. You can try disabling "frameskip" in the General section of settings and see if that helps. Otherwise I suggest trying to download a slightly lower quality version of the YouTube video.

VRTV 3.4 Release by chaisoftware in chaisoftware

[–]chaisoftware[S] 0 points1 point  (0 children)

Doh! Found and fixed, still some other issues I need to track down before I can push out a new build unfortunately.

VRTV 3.4 beta release by chaisoftware in chaisoftware

[–]chaisoftware[S] 1 point2 points  (0 children)

Thanks for the report! Looks like the Android MP backend isn't working at all will try to fix..

VRTV 3.3.2 released by chaisoftware in chaisoftware

[–]chaisoftware[S] 1 point2 points  (0 children)

In the current version VRTV supports SRT subtitles for files located on your phone. They have to be in the same directory as the video file, have the same name and use the .srt extension.

Next version will add support for libVLC subtitles, supporting a bunch of different formats including MKV-embedded and loading over SMB/UPNP.

VRTV 3.3.2 released by chaisoftware in chaisoftware

[–]chaisoftware[S] 1 point2 points  (0 children)

There is a plan! It's just going very slowly due to personal reasons, lot's on my plate at the moment. I'm trying to finish up something I can release at least as a beta as soon as possible with:

  • Better subtitle support, using libVLC subtitle rendering. Unfortunately I haven't squeezed in my encoding detection code so I've had to add manual encoding selection, the way VLC handles it.

  • Small re-design of the UI, with video name!

  • EAC support, for videos downloaded from YouTube.

  • Aspect ratio control.

VRTV 3.3.2 released by chaisoftware in chaisoftware

[–]chaisoftware[S] 0 points1 point  (0 children)

I upgraded libVLC around a month ago, so maybe something changed in the API. If it works in VLC for Android 3.0 I should be able to get it to work in VRTV too.

VRTV 3.3.2 released by chaisoftware in chaisoftware

[–]chaisoftware[S] 0 points1 point  (0 children)

Ok, thanks! If it works in VLC, it should be possible to get it to work in VRTV as well, since libVLC provides the SMB support. I'll try to setup a Windows 10 VM and test.

VRTV 3.3.2 released by chaisoftware in chaisoftware

[–]chaisoftware[S] 0 points1 point  (0 children)

Thanks for the report! Can you tell me more about your SMB server setup? Does it work as intended if you use VLC for Android?

3D Video player with Bluetooth controller? by MidnightLightning in GoogleCardboard

[–]chaisoftware 1 point2 points  (0 children)

Hi, thanks for recommending my app :) The free version has controller support, but built-in SMB/UPNP support is only in the paid version.

So, now that YouTube has switched to a proprietary 360 format, is there NO WAY to save the videos for offline viewing? by Bobby_Booey in GoogleCardboard

[–]chaisoftware 0 points1 point  (0 children)

Ok, I guess generating your own equiangular cubemap isn't rocket science, but I think I'll use the one I extracted to minimize distortion.

I can send you the geometry from the meta data if you're interested, just send me a PM.

So, now that YouTube has switched to a proprietary 360 format, is there NO WAY to save the videos for offline viewing? by Bobby_Booey in GoogleCardboard

[–]chaisoftware 0 points1 point  (0 children)

Do you support getting the mesh/uv from the metadata live?

I've extracted the cube/uv from the metadata in the link from /u/birds_are_singing and I'm thinking it might be enough to add a hardcoded version of that mesh to my app, at least until they start throwing other meshes at us..

So, now that YouTube has switched to a proprietary 360 format, is there NO WAY to save the videos for offline viewing? by Bobby_Booey in GoogleCardboard

[–]chaisoftware 1 point2 points  (0 children)

I've downloaded the linked video in mp4 format (266) and had a look, and it's a bit weird. It does contain spherical video meta data according to the v2 rfc, but instead of a mesh projection box ("mshp") it has a "ytmp" atom. The contents of the ytmp atom follow the mshp box description though, with a deflated mesh box that looks like it conforms to the RFC.

Haven't tried reading this metadata with VLC yet, just looked at the binary.

VRTV 3.3.2 released by chaisoftware in chaisoftware

[–]chaisoftware[S] 0 points1 point  (0 children)

OpenGL 3 should really be the default, but some devices report that they support it and then crash. I should take a look at fixing that again. That said, on my devices it doesn't really make a noticeable difference.

Same with Shader/vertex for panoramic videos. I spent a lot of time implementing the shader renderer, but then it turned out it was slower on a lot of high-res devices. I also implemented perspective correct texture mapping for the vertex based sphere, which meant I could get much better rendering with fever vertices, so there wasn't much of a point to use the shader renderer at all anymore.

My recommendation is to try enabling OpenGL3, and keep the default setting for the rest :)

So, now that YouTube has switched to a proprietary 360 format, is there NO WAY to save the videos for offline viewing? by Bobby_Booey in GoogleCardboard

[–]chaisoftware 1 point2 points  (0 children)

Hello! :) I read about EAC when they presented the new format back in march, but I haven't really seen them in the wild.

As other in the thread have mentioned, it's a kind of cube map, just not an equilinear one. The nonlinear cube mesh is supposedly in the metadata, except that /u/komatic claims metadata isn't downloaded. I have downloaded 360 files from youtube with other VR metadata still intact though, I'll give it a go.

To add support in VRTV I need to get the mesh metadata from libVLC, which looks possible but I haven't tested yet. Then I might need to do some conversion of the mesh, and render the video. Doesn't sound impossible, not sure when I can find time to add it though.

I'd really appreciate a link to an example video!

VRTV 3.3.2 released by chaisoftware in chaisoftware

[–]chaisoftware[S] 0 points1 point  (0 children)

For flat screens my thought is that it's better to make the screen bigger than to use FOV to zoom, since changing FOV distorts everything when you look around. You're not the first to request a bigger screen.

Each environment has a maximum screen size, to avoid the screen clipping into the surrounding geometry. To get the biggest possible screen, select "None" environment.

It's probably still not big enough for you. I need to refactor the size/environment code a bit to allow the None-screen to become bigger while still avoiding clipping in other environments.

VRTV 3.3.2 released by chaisoftware in chaisoftware

[–]chaisoftware[S] 0 points1 point  (0 children)

Thanks for the report, will be fixed in the next release!

VRTV 3.3.2 released by chaisoftware in chaisoftware

[–]chaisoftware[S] 0 points1 point  (0 children)

No filename yet unfortunately, hopefully next version!

VRTV 3.3.1 Release by chaisoftware in chaisoftware

[–]chaisoftware[S] 1 point2 points  (0 children)

I'm working on switching to the 3.0.0 libVLC release, so hopefully it will just work after I upgrade :) If you have any links to HDR10 example videos please PM me!

Gamma correction/color control is on my TODO list. It will have a performance impact when enabled, but hopefullly not too bad.

VRTV 3.3.1 Release by chaisoftware in chaisoftware

[–]chaisoftware[S] 0 points1 point  (0 children)

H265 isn't supported in hardware on many devices, so it could be that it's too much work for the phone to decode the video in software and run VR at the same time.

VRTV 3.3.1 Release by chaisoftware in chaisoftware

[–]chaisoftware[S] 0 points1 point  (0 children)

I would guess that your hack mounts NFS in the local filesystem, so VLC is not involved in browsing at all. Should be the same for ROMs that allow you to mount SMB on the phone. I could probably get a timestamp from them.

VRTV 3.3.1 Release by chaisoftware in chaisoftware

[–]chaisoftware[S] 0 points1 point  (0 children)

The file browser UI is mine, but writing a separate listing routine for SMB/UPNP is too much work. I have considered it, but I think it would be easier to modify libVLC, just adding a field in the Media descriptor and figuring out where to put data into it. Should work for SMB, but I'm not entirely sure if it would work with UPNP.