Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Android TV support on the server side #22

Open
torshie opened this issue Mar 19, 2020 · 10 comments
Open

Add Android TV support on the server side #22

torshie opened this issue Mar 19, 2020 · 10 comments
Assignees
Labels
enhancement New feature or request question Further information is requested
Milestone

Comments

@torshie
Copy link

torshie commented Mar 19, 2020

With Android TV support on the server side, we can enjoy all the goodies of NymphCast without the burden (cable hazard, space, money ) of an extra device.

@MayaPosch
Copy link
Owner

What do you mean exactly with 'Android TV support' in this context? Have the NymphCast server implemented as an Android TV app?

@MayaPosch MayaPosch added the question Further information is requested label Mar 22, 2020
@torshie
Copy link
Author

torshie commented Mar 22, 2020

@MayaPosch Yes. I'm not sure whether it's possible to do that, considering all those restrictions on Android TV.

@MayaPosch
Copy link
Owner

A quick look shows that SDL2 is supported on Android, as is ffmpeg. This might be a realistic proposition :)

I guess it would be nice to have a local GUI for NymphCast-on-Android-TV as well. This is something that might be generally useful, even outside of Android TV. A more Roku-like experience, basically.

It appears that Android TV apps are standard Android apps, looking at the documentation. This should mean that one can test it on any Android device before deploying it on an Android TV device, if I'm not mistaken.

@torshie
Copy link
Author

torshie commented Mar 24, 2020

Yes, Android TV apps are standard Android apps, in fact you can install and run many Android apks directly on an Android TV, e.g. a browser app.
However TV apps are usually controlled with a remote, while phone apps are controlled with a touch screen, so the UI part may need some work.

@MayaPosch MayaPosch added the enhancement New feature or request label Apr 8, 2020
@MayaPosch
Copy link
Owner

To implement Android TV support, it appears that the easiest way might be to create a NymphCast client app that communicates with an (unmodified) NymphCast Server instance that runs as a background service. Because the client app would launch the background service, this would prevent the service from being killed by the OS.

Exact implementation details and maybe other options need some more brainstorming on, I think.

@fransvanberckel
Copy link

fransvanberckel commented Apr 21, 2020

I searched for, how this is done by Chromecast receiver v2 / Chromecast built-in, on Android TV. They are using com.google.cast.* and com.google.android.apps.mediashell. These are libraries as a background services. Got to be always running. It's well documented, now ...

https://github.com/thibauts/node-castv2
https://github.com/topics/chromecast-receiver
https://developers.google.com/cast/docs/caf_receiver/
https://support.google.com/chromecastbuiltin/answer/6121012 (latest 173230)

@MayaPosch MayaPosch self-assigned this Dec 27, 2022
@MayaPosch MayaPosch added this to the v0.2 milestone Dec 27, 2022
@SpiderUnderUrBed
Copy link

Any updates?

@MayaPosch
Copy link
Owner

MayaPosch commented Sep 14, 2024

@SpiderUnderUrBed I have created a version of NymphCast Server that runs on Android (with Android TV compatibility), but after submitting it to the Google Play Store it reported a crashing issue on x86_64 Android that I have been unable to replicate so far. On AArch64 Android it seemed reasonably stable.

For the upcoming v0.2-alpha0 pre-release I'll add an APK to the pre-release page, and there are build instructions in the documentation folder for those who want to try. I'll add more detailed instructions as soon as this stabilises somewhat.

@SpiderUnderUrBed
Copy link

An apk to the pre-release page will be nice, but the app isnt appearing on the play store on android tv. It would be difficult to get this working if you had to download the apk, put it on a usb, then try and open it on the tv. But doable.

I'll be sure to try once v0.2 comes out.

@MayaPosch
Copy link
Owner

MayaPosch commented Sep 14, 2024

Yeah, it's not available yet on the store due to the x86_64 stability issue. I recall being able to replicate it with an x86_64 Android VM identical to the one that their automatic testing system uses, but haven't found the time yet to debug and fix it. Since NCS runs fine on x86_64 Linux and Windows, it's a bit of a weird issue.

I might just put an AArch64-only version on the Play Store to bypass it, in addition to the APK on the pre-release page.

Edit: NCS is suddenly available on the Play Store after all, no idea why: https://play.google.com/store/apps/details?id=com.nyanko.nymphcast

Seems the x86_64 crashing issue was on Google's side after all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants