Jump to content

Serenity for Android with Emby Server Support


kingargyle

Recommended Posts

kingargyle

Serenity for Android is an application I started about 5 years ago, when Google TV was all the rage.  It was developed due to the horrible state of TV applications, particularly for Plex at the time (the server I was using).   It also was a way for me to learn how to develop Android applications.   I was contacted several years ago about adding Emby support, and have finally gotten around to it.   Mainly because I'm migrating off my Plex server over to Emby, so any development I do going forward for Serenity will be Emby first focused.

 

Serenity's goal is not to do everything that the official Emby app does.  It'll focus on my primary use case which is Movies and TV Series watching and viewing.   With that said, I'm open to other features people may want.

 

The application is open source, and all milestone releases will be freely downloadable from the GitHub site.   Also, if you are interested in testing Beta builds of the app, you can do so through the Google Play store after this weekend, but the app is sold for $1.99 on the store just to help support my development costs.   If you don't want to pay, then you can always download the APK for free, and sideload it onto your device.

 

Serenity is focused only on TV applications, and should work on Amazon Fire TVs as well.  I personally have both Android TV boxes and Fire TV Sticks that I use at home, so the app will be tested on both platforms.

 

Features that are supported Currently:

1. Multiple user login (accounts need to be unsecured (i.e. no password))

2. Direct Stream and Transcoding playback based on supported codecs on the device.

3. Playback state and updates.

4. Browsing of Movies and TV Shows by Categories/Genres.

5. Use of Internal or External players.

6. Ability to use either Plex or Emby as your server.

7. Movie search

 

Items coming in the future:

1. Video Playback Queue

2. Toggle Watch/Unwatch status

3. User Authentication with password/pins

4. Channels for Android TV by User.

 

The project is open source, so if you want to provide a feature or additional functionality, pull requests are welcome.  If you want to build the app, check out the develop code, and try it on your device.

 

 

Project Site and Source: https://github.com/NineWorlds/serenity-android

  • Like 2
Link to comment
Share on other sites

kingargyle

What video player library does it use?

 

Internally it uses ExoPlayer.  Externally it has best integration with MxPlayer/MxPlayer Pro.

  • Like 1
Link to comment
Share on other sites

kingargyle

I actually got to this before the weekend.   I'll get it up on the Play store and post the Beta link this weekend.  In the mean time, you can download an APK, and see screen shots at the link below.  Please report any bugs here, or better open an issue on the projects GitHub page.   I've tested this with version 3.3.1 of Emby, but it should work for any of the recent servers.

 

Amazon Fire OS 5 users there is a crash on the first screen.  I have a fix for it, but will be a day before I get it.

 

Amazon Fire TV users may notice some scrolling issues, these issues do not appear to happen on Android TV devices.  I'm working with the developer of the widget I use to see if we can track down the issues.

 

Android TV users should be good to go with the apk below.

 

Download Link:

https://github.com/NineWorlds/serenity-android/releases/tag/v2.0.0-M5

Edited by kingargyle
Link to comment
Share on other sites

kingargyle

Here is the Open Beta testing link on the Google Play store.  If you don't want to get it from the Play Store and don't feel like paying the $2.00, you can get the APK as well from the link above.  Beta Testers help me work out bugs before I release it to the masses and you get new features first (even though there may be some bugs).

 

https://play.google.com/apps/testing/us.nineworlds.serenity

Link to comment
Share on other sites

adamstewiegreen

Will it work on FireTV? - Nevermind, I need to learn to read.

Edited by adamstewiegreen
Link to comment
Share on other sites

Here is the Open Beta testing link on the Google Play store.  If you don't want to get it from the Play Store and don't feel like paying the $2.00, you can get the APK as well from the link above.  Beta Testers help me work out bugs before I release it to the masses and you get new features first (even though there may be some bugs).

 

https://play.google.com/apps/testing/us.nineworlds.serenity

 

Hi, i buy the app, however i subscribed to beta.

 

Going to look. I have Emby and Plex Server in the same LAN computer

 

I let you know how it works. Thanks.

  • Like 1
Link to comment
Share on other sites

CBers

Serenity's goal is not to do everything that the official Emby app does. It'll focus on my primary use case which is Movies and TV Series watching and viewing. With that said, I'm open to other features people may want.

 

 

So what does Serenity do that the official Emby server and apps don't do?

  • Like 2
Link to comment
Share on other sites

WilhelmStroker

I remember trying this a few years ago when my Ouya concole was my main plex client... Confused as the description says its for tablets too but that doesn't seem to work.

  • Like 1
Link to comment
Share on other sites

kingargyle

I remember trying this a few years ago when my Ouya concole was my main plex client... Confused as the description says its for tablets too but that doesn't seem to work.

 

The play store entry and a lot of the Wiki and web content hasn't been updated to state the new focus of the app.   Serenity below 2.0.0 does support tablets and TVs.  Serenity 2.0.0 and above is only for TVs.  I can't unfortunately change the play store description based on the beta channel.  I can only change that description once I release a production version of the app.

Link to comment
Share on other sites

kingargyle

So what does Serenity do that the official Emby server and apps don't do?

 

If you already are using the official Emby client, there is probably no need to use Serenity.   However there are a few slight differences.

 

1. Serenity is only focused on TV Show and Movie viewing.

2. It supports and integrates with external players like MX Player remembering playback position and watched status.

3. It has built into it a Video Playback Queue allowing you to queue up movies or tv shows and play them back to back (this currently is not working, but will be before the official release of 2.0.0).

4. The App is open Source meaning, the code is freely available for anybody to modify and enhance.  I use all the official documented APIs that Emby provides.  The app is licensed under an MIT license.

5. There is no restriction on how long you can play back the movies or tv shows.  The app is fully functional from the start.

 

I do not plan to support features that are only Emby Premiere... if you need those features like Live TV and such, then it is best to buy the official app.   

 

The original purpose of the app was to teach myself Android programming 6 years ago.  When Serenity was created there wasn't much available focusing on the TV for Android, now there is a lot more options.

  • Like 1
Link to comment
Share on other sites

CBers

2. It supports and integrates with external players like MX Player remembering playback position and watched status.

Not sure @@ebr ever got that part working, but everything else is already in the official apps I believe.

 

Nice to see other developers working with Emby. Good work.

Link to comment
Share on other sites

Jdiesel

Based on the discussion in the forums I think there is an appetite for a third-party Android App that is able to:

 

1. Direct play STRM files for those hosting media on Google Drive

2. Allow the passthrough of m3u links allowing those using IPTV provides to bypass the server and save bandwidth

 

 

Might be something worth considering if you want to attract more paying customs with features not available in the official apps. 

Edited by Jdiesel
  • Like 1
Link to comment
Share on other sites

He could, but with the app stores beginning to crack down on iptv apps that would be a bit of a risk.

Link to comment
Share on other sites

CBers

He could, but with the app stores beginning to crack down on iptv apps that would be a bit of a risk.

What does that mean for official Emby apps? Will you continue to support IPTV, or will you pull the plug so that you are able to stay in the app stores?

 

Just asking.

Link to comment
Share on other sites

Jdiesel

What does that mean for official Emby apps? Will you continue to support IPTV, or will you pull the plug so that you are able to stay in the app stores?

 

Just asking.

 

It is not that IPTV is the issue, it is that IPTV is be passed through the server to sanitize the links so the apps are not connecting directly to the IPTV providers. This way there is a buffer and the client isn't connecting to malicious sources which could jeopardize the app's ability to be in the app store. The downside is that it then uses the servers bandwidth when watching IPTV on a remote client. I personally like the way it currently works as it allows me multiple connections as my IPTV provider sees my server as a single IP but others have different requirements so options are always good.

 

Some non playstore clients like the web app and ET are able to pass the source link directly to the client and bypass the server.

Edited by Jdiesel
Link to comment
Share on other sites

kingargyle

He could, but with the app stores beginning to crack down on iptv apps that would be a bit of a risk.

 

Yeah I'm looking to stay out of the gray areas.  This is mostly a side hobby project, that other's have found useful over the years.  It's my little way to give back to the various Open Source communities that I've benefited from over the years.  Plus a way for others to learn how to use the Emby APIs if they need an example.

 

There are some other features to help navigate and skip/pause through videos if you have a keyboard attached but that is less prevealant since Google TV's remotes with keyboards aren't around any more.

 

If people want a feature that I don't include in my version of the app, they can always fork it and implement it in their own version.

Edited by kingargyle
Link to comment
Share on other sites

kingargyle

Milestone 6 is available.  This is mainly a stability and navigation bug fix release.   There is a focus selection issue on the Season screen, just navigate off the item, and then back on to get the top row working.  I'll address this in Milestone 7.   

 

This release should have much better support for Amazon Fire TV devices (why are they still running 5.1???)   The release is in the Beta channel listed in post #5 in this thread, and you can also download it from the GitHub release page.  As always post any bugs here or preferably on the GitHub issue tracker.

 

https://github.com/NineWorlds/serenity-android/releases/tag/v2.0.0-M6

Link to comment
Share on other sites

kingargyle

Serenity 2.0.0-M8 is now available.  Fixes some additional issues in video playback, and restores ability to use FF/REW button remote control (primarily Amazon Fire TV devices) and game pad controller L1 and R1 buttons to quickly navigate large video collections.

 

https://github.com/NineWorlds/serenity-android/releases/tag/v2.0.0-M8

Link to comment
Share on other sites

  • 2 weeks later...
kingargyle

Serenity for Android 2.0.0-M9 - Release Candidate

 

Well it has been a long journey, but I'm to the point where I have most of what is needed working again.  Latest release candidate can be found here:

https://github.com/NineWorlds/serenity-android/releases/tag/v2.0.0-M9

 

This primarily fixes some search issues on Amazon Fire TV devices.

 

The release candidate has been uploaded to the Beta channel on Google Play.   Amazon App Store will be updated later in the week.

Link to comment
Share on other sites

kingargyle

And 2.0.0 submitted to Google Play and is live now.   Amazon App Store should be live tomorrow unless they find issues with it.

Link to comment
Share on other sites

  • 3 weeks later...
kingargyle

Serenity for Android 2.0.2 is rolling out to everyone now.   This is just a bug fix release with a few performance enhancements, and few crashes that were occuring for some uses when browsing the Seasons for a Series.   Also should have better handling of videos when the Home button or Back Button is pressed on the remote.  Videos should no longer play in the background.

Link to comment
Share on other sites

  • 3 weeks later...
kingargyle

Version 2.0.3 is rolling out to Android TV and Fire TV devices.  This adds the ability to Manually set the server if it isn't auto discovered, fixes a crash on the main menu that some users were experiencing, and improves Direst Streaming support for some MKV files that were wrongly identified.

Link to comment
Share on other sites

CBers

@@kingargyle - Just paid for and installed v2.0.3 onto my Shield, as I wanted to test something, but I can't get past the user selection screen - it just has a spinning circle. I only have 2 users, neither of which are hidden or have passwords.

 

I tried the listed servers, but couldn't get a list of users.

 

I tried entering the server details manually, but still couldn't get a list of servers.

 

Any suggestions please?

 

On a separate note, I think it would be an idea to have a Plex and Emby icon overplayed on the server name on the Server Selection screen, as I run both Plex and Emby, so it can be confusing.

 

Also, it might be nice to be able to give your "Preferred Server" a recognisable name as well.

 

Is there any way of editing or removing a server from the list?

 

Thanks.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...