NineWorlds / serenity-android

An Android client for the Plex and Emby Media Servers optimized for Television displays.
MIT License
178 stars 65 forks source link

Can't connect to server #414

Closed CBers closed 5 years ago

CBers commented 5 years ago

Just 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?

CBers commented 5 years ago

I have set up a 2nd (portable) Emby server, using port 8096, but I still get the spinning circle retrieving the user list.

There is only user (Portable) which has no password or PIN.

CBers commented 5 years ago

https://emby.media/community/index.php?/topic/63883-serenity-for-android-with-emby-server-support/page-2#entry662781

kingargyle commented 5 years ago

@CBers Thanks for the bug report. It may take a little bit to figure out what is different between your server and mine. I'm currently running on Emby Server 3.3.0, but will download a copy of the latest Beta version as well and try and test against that for this issue.

CBers commented 5 years ago

OK, thanks for the update David.

The main reason I installed it, is that the Emby ATV app I use on my Shield, has problems triggering HDR on my TV with cropped 4K content and as your app is using the same exoplayer, I wanted to see if your AP played it OK.

If so, I can give Eric (ebr) a kick 😀

Plex triggers HDR fine, as do a few external apps, just not the Emby ATV app.

On Sat, 15 Dec 2018, 23:58 David Carver <notifications@github.com wrote:

@CBers https://github.com/CBers Thanks for the bug report. It may take a little bit to figure out what is different between your server and mine. I'm currently running on Emby Server 3.3.0, but will download a copy of the latest Beta version as well and try and test against that for this issue.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/NineWorlds/serenity-android/issues/414#issuecomment-447606714, or mute the thread https://github.com/notifications/unsubscribe-auth/ABrNOL2-q6_wzLcA8gXbcJJNT3fxcb-cks5u5YyIgaJpZM4ZU33x .

kingargyle commented 5 years ago

I appreciate you giving it a test. I'm making a change now, to make sure that I use the discovered server information including port correctly. Give me a few days and I should have a new APK for you to test with. Also what server version are you running so I can try and test things locally with that server. Unfortunately my main machine is stuck on an older Emby Server version and can't upgrade that one.

As far as HDR, I leave everything to Exoplayer unless some transcoding happens. Best direct streaming is done with MKV and either AAC or AC3 audio.

kingargyle commented 5 years ago

@CBers I'm able to reproduce the issue with Emby Server 3.6.0. There is a new date format coming in for the users that wasn't there before. Putting this stack trace for my future reference:

12-15 19:50:26.410 3204-3241/us.nineworlds.serenity E/JobManager: error while executing job us.nineworlds.serenity.jobs.RetrieveAllUsersJob@f701554 java.lang.IllegalArgumentException: Invalid format: "2018-12-16T00:44:01.1498328+00:00" is malformed at "+00:00" at org.joda.time.format.DateTimeFormatter.parseLocalDateTime(DateTimeFormatter.java:900) at org.joda.time.LocalDateTime.parse(LocalDateTime.java:168) at us.nineworlds.serenity.emby.moshi.LocalDateJsonAdapter.fromJson(LocalDateJsonAdapter.kt:15) at us.nineworlds.serenity.emby.moshi.LocalDateJsonAdapter.fromJson(LocalDateJsonAdapter.kt:9) at com.squareup.moshi.kotlin.reflect.KotlinJsonAdapter.fromJson(KotlinJsonAdapter.kt:82) at com.squareup.moshi.JsonAdapter$2.fromJson(JsonAdapter.java:137) at com.squareup.moshi.CollectionJsonAdapter.fromJson(CollectionJsonAdapter.java:76) at com.squareup.moshi.CollectionJsonAdapter$2.fromJson(CollectionJsonAdapter.java:53) at com.squareup.moshi.JsonAdapter$2.fromJson(JsonAdapter.java:137) at retrofit2.converter.moshi.MoshiResponseBodyConverter.convert(MoshiResponseBodyConverter.java:45) at retrofit2.converter.moshi.MoshiResponseBodyConverter.convert(MoshiResponseBodyConverter.java:27) at retrofit2.ServiceMethod.toResponse(ServiceMethod.java:122) at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:217) at retrofit2.OkHttpCall.execute(OkHttpCall.java:180) at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall.execute(ExecutorCallAdapterFactory.java:91) at us.nineworlds.serenity.emby.server.api.EmbyAPIClient.fetchAllPublicUsers(EmbyAPIClient.kt:75) at us.nineworlds.serenity.emby.server.api.EmbyAPIClient.allAvailableUsers(EmbyAPIClient.kt:152) at us.nineworlds.serenity.jobs.RetrieveAllUsersJob.onRun(RetrieveAllUsersJob.java:24) at com.birbit.android.jobqueue.Job.safeRun(Job.java:229) at com.birbit.android.jobqueue.JobHolder.safeRun(JobHolder.java:132) at com.birbit.android.jobqueue.ConsumerManager$Consumer.handleRunJob(ConsumerManager.java:407) at com.birbit.android.jobqueue.ConsumerManager$Consumer.access$000(ConsumerManager.java:326) at com.birbit.android.jobqueue.ConsumerManager$Consumer$2.handleMessage(ConsumerManager.java:354) at com.birbit.android.jobqueue.messaging.SafeMessageQueue.consume(SafeMessageQueue.java:36) at com.birbit.android.jobqueue.ConsumerManager$Consumer.run(ConsumerManager.java:389) at java.lang.Thread.run(Thread.java:764)

kingargyle commented 5 years ago

I have a fix for this issue, and I'm able to get the list of users correctly now on both Emby Server 3.3.0 - 3.6.0. I need to add a few unit tests around things and I should have an Test APK for verification in the next day or so.

CBers commented 5 years ago

Thanks for the update David.

On Sun, 16 Dec 2018, 01:12 David Carver <notifications@github.com wrote:

I have a fix for this issue, and I'm able to get the list of users correctly now on both Emby Server 3.3.0 - 3.6.0. I need to add a few unit tests around things and I should have an Test APK for verification in the next day or so.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/NineWorlds/serenity-android/issues/414#issuecomment-447609920, or mute the thread https://github.com/notifications/unsubscribe-auth/ABrNOAlTlDHdetyL0WSI45HFOurZAagIks5u5Z3zgaJpZM4ZU33x .

kingargyle commented 5 years ago

@CBers here is the link to the APK you can use to test. You'll need to remove the existing APK as the production version is signed with a different key than the milestone releases. Also make sure you have allow unknown sources enabled on your device so you can side load the APK. If you need help doing so let me know.

https://github.com/NineWorlds/serenity-android/releases/tag/v2.1.0-M1

This should allow you to see the users regardless of what port you have specified in your server setup. You shouldn't need to manually enter the server information as it should pick it up from the Discovered servers option.

As for the HDR, I suspect you'll run into the same issue as with the official app, as I saw that ebr had created a bug with ExoPlayer and it is still open. I suspect Plex created a fork of ExoPlayer that they never contributed a fix back to the project... (this is another reason why I stated moving away from Plex to Emby... their lack of contribution back to the open source community).

Regardless, I would appreciate any bug reports you find as you test. Particularly around when items are being direct played and when transcoding is taking place during playback.

CBers commented 5 years ago

Hi David,

thanks for that - I'll download and install in the next hour or so (watching the football/soccer at the moment).

Yes, I don't think the HDR will work either, but I wanted to test another Android TV app running against the Emby server but we didn't have one, until I remembered your app.

We used to have another 3rd-party app called TIAMAT written by RedShirt, but Luke and Eric forced him away a few years back, so we've had to put up with what we have, until now 😀

I'll report back anything I find, good or bad.

Thanks again, CBers (Keith).

On Sun, 16 Dec 2018 at 14:48, David Carver notifications@github.com wrote:

@CBers https://github.com/CBers here is the link to the APK you can use to test. You'll need to remove the existing APK as the production version is signed with a different key than the milestone releases. Also make sure you have allow unknown sources enabled on your device so you can side load the APK. If you need help doing so let me know.

https://github.com/NineWorlds/serenity-android/releases/tag/v2.1.0-M1

This should allow you to see the users regardless of what port you have specified in your server setup. You shouldn't need to manually enter the server information as it should pick it up from the Discovered servers option.

As for the HDR, I suspect you'll run into the same issue as with the official app, as I saw that ebr had created a bug with ExoPlayer and it is still open. I suspect Plex created a fork of ExoPlayer that they never contributed a fix back to the project... (this is another reason why I stated moving away from Plex to Emby... their lack of contribution back to the open source community).

Regardless, I would appreciate any bug reports you find as you test. Particularly around when items are being direct played and when transcoding is taking place during playback.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/NineWorlds/serenity-android/issues/414#issuecomment-447648851, or mute the thread https://github.com/notifications/unsubscribe-auth/ABrNOJ9_UjhrjZF8D0GYfum99hYZRppZks5u5l0lgaJpZM4ZU33x .

kingargyle commented 5 years ago

Yeah, I'm waiting for the Liverpool vs Manchester United match myself. :)

CBers commented 5 years ago

Yes, might watch that as well.

Currently watching the Chelsea game.

You in the US?

On Sun, 16 Dec 2018, 14:59 David Carver <notifications@github.com wrote:

Yeah, I'm waiting for the Liverpool vs Manchester United match myself. :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/NineWorlds/serenity-android/issues/414#issuecomment-447649633, or mute the thread https://github.com/notifications/unsubscribe-auth/ABrNOOigUk-tSfGHuERWCWdWHUZHTe6Fks5u5l-9gaJpZM4ZU33x .

kingargyle commented 5 years ago

Yeah, I'm watching the Brighton vs Chelsea game as well. Yeah, I'm in the US. Huge soccer fan, live in Columbus, and was involved in the battle to keep the Columbus Crew in Columbus... which it looks like we have done. #SaveTheCrew

CBers commented 5 years ago

Nice.

Once the game is over, I'll update the app and let you know.

Thanks again.

On Sun, 16 Dec 2018, 15:03 David Carver <notifications@github.com wrote:

Yeah, I'm watching the Brighton vs Chelsea game as well. Yeah, I'm in the US. Huge soccer fan, live in Columbus, and was involved in the battle to keep the Columbus Crew in Columbus... which it looks like we have done.

SaveTheCrew

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/NineWorlds/serenity-android/issues/414#issuecomment-447649915, or mute the thread https://github.com/notifications/unsubscribe-auth/ABrNOJ9aTVgzQOssFvRSh88HvipuLvPdks5u5mDFgaJpZM4ZU33x .

CBers commented 5 years ago

Hi David.

Just installed the updated app and I can now connect to my Emby server.

However, most movies that I play are transcoded and any of mh 4K movies don't play at all, the progress bar just sits at 00:00, not even displaying the duration of the movie.

All of my movies Direct Play in the Emby app, so not sure why they don't in Serenity.

The (horizontal) scrolling is slow and you lose focus if you stop and want to start again, but i can live with that for now.

There's no details page for a movie, which would be a nice addition, so that you can see details etc.

I know this is started as a "for my use only" app, but it might be worth adding extra things.

Not sure what I can provide in way of logs etc., but if you let me know, I'll see what I can do.

Thanks.

On Sun, 16 Dec 2018, 15:06 Keith Daley <cbers62@gmail.com wrote:

Nice.

Once the game is over, I'll update the app and let you know.

Thanks again.

On Sun, 16 Dec 2018, 15:03 David Carver <notifications@github.com wrote:

Yeah, I'm watching the Brighton vs Chelsea game as well. Yeah, I'm in the US. Huge soccer fan, live in Columbus, and was involved in the battle to keep the Columbus Crew in Columbus... which it looks like we have done.

SaveTheCrew

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/NineWorlds/serenity-android/issues/414#issuecomment-447649915, or mute the thread https://github.com/notifications/unsubscribe-auth/ABrNOJ9aTVgzQOssFvRSh88HvipuLvPdks5u5mDFgaJpZM4ZU33x .

kingargyle commented 5 years ago

There are probably multiple reasons.

For Horizontal scrolling, you can do a faster scroll by hitting the FF and REW buttons on your remote.

What additional details do you need for the movie? I currently don't provide items like Actors, Directors, etc.

As for the direct play, I'm going to start another bug to track getting more things to direct play, particularly if you have an MP4 container... right now most stuff should direct play if you have an MKV container (most of my stuff is in MKV with AC3 audio). I'll close this issue out as the primary bug is fixed now. I'll tag you in the Direct Play bug and we can work through that.

kingargyle commented 5 years ago

Direct Play improvements, https://github.com/NineWorlds/serenity-android/issues/415

CBers commented 5 years ago

Hi David.

I would say that 99% of my content is in the MKV format, especially the 4K content, so should play direct on the Shield. Audio is a mixture of DD, DTS and/or Atmos.

There are no true FF/RW buttons on the Shield remote.

I'd just like to see some more details for the item about to be played, whether it is a TV episode or a Movie, but if you've chosen not to include that, it's not an issue, but I think others might like it.

I'll take a look at the new issue you've raised. Do you know how many Serenity users you have, as it would be nice to get more feedback.

I hope I'm not pushing you in a direction you don't want to go with this app, so if I am, let me know and I'll shut up 😀

Thanks.

On Sun, 16 Dec 2018, 15:54 David Carver <notifications@github.com wrote:

There are probably multiple reasons.

For Horizontal scrolling, you can do a faster scroll by hitting the FF and REW buttons on your remote.

What additional details do you need for the movie? I currently don't provide items like Actors, Directors, etc.

As for the direct play, I'm going to start another bug to track getting more things to direct play, particularly if you have an MP4 container... right now most stuff should direct play if you have an MKV container (most of my stuff is in MKV with AC3 audio). I'll close this issue out as the primary bug is fixed now. I'll tag you in the Direct Play bug and we can work through that.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/NineWorlds/serenity-android/issues/414#issuecomment-447653813, or mute the thread https://github.com/notifications/unsubscribe-auth/ABrNOHJuNGkQtPnMA4Sz2QCfJM83EnKsks5u5myggaJpZM4ZU33x .

kingargyle commented 5 years ago

@CBers for Emby... not many. I have about 600 total and that is with not having updated the app in over 4 years until I made the switch to Emby this last year. Most of my users are on Fire TV. With a Shield, you should be able to use a Game Pad, and then the L1 and R1 buttons to accomplish the same FF/RW functionality. Unfortunately Google decided to go even more bare bones than the Fire TV did on their remote.

Most of the users are still users of Plex, and figure it will take a while for things to move along with Emby.

I'm always looking for feedback on how to improve things beyond just my own use case, I use Serenity in many ways as an experimentation platform that I don't get to do in my day job as an Android platform.