SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Clients Development
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageTV Clients Development This forum is for discussions relating to SageTV Open Source Clients Development.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 12-29-2015, 07:31 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
[Android MiniClient] Now in BETA



So, with this release, I've moved from ALPHA to BETA. This is not to mean that we are any more stable than the ALPHA builds, but, that I've met a milestone, and I'd like to focus on stability and performance.

This release includes the following..
- The HTTP proxy that was used to make sagetv appear as an http stream has been removed, since IJKPlayer now supports writing a custom data source. This is good for serveral reason, but mainly, it simplifies the communication code.
- for IJKPLAYER (the default player) PUSH (ie, LiveTV) should work. Seeking during a PUSH should work. So, if you previously had your settings set to PULL only, then you should be able to set it to DYNAMIC.
- I've added basic support ExoPlayer (you can turn it on in the settings). ExoPlayer is basically a really strict player, so, your mileage will vary. For example, while I can play mkv and mp4 files, I get no audio on some MKV files. PUSH mode doesn't support seeking, or will TS files be seekable in PULL mode (ExoPlayer "knows" ts files are not seekable and just prevents it). Over time I'll try to resolve the ExoPlayer issues, since, I do think that in the long run, using ExoPlayer will be better, but for now, IJKPlayer works pretty well for my needs.
- In the preferences, you can see your client ID (mac address), which is useful, since, if you need to find your client properties on the sagetv server, it'll be the same as this value.
- In the preferences, you can pull up a list of supported hardware decoders that is available on your device. This needs to be cleaned up, but it should give you some idea of what your device is capable of.

So, now that it is in BETA, the goals are...

- Implement a ton of logic around the player for error handling. Right now, if videos don't play, etc, sometimes the player crashes, sometimes you get a black screen... so I need to add in a bunch of error handling when things go wrong.
- Do some work on the navigation controls (remote buttons, and software buttons)
- Fix bugs

So, if there are bugs, that you encounter, you should enter them. At this point, we are looking at stabilizing and then getting the code ready for an actual release. (I'll publish to play store in a few weeks).

Also, keep in mind that this is a sub topic area, so, you can create new threads for new discussions, etc, instead of just using a wagon thread
Reply With Quote
  #2  
Old 12-29-2015, 07:51 AM
moothekow moothekow is offline
Sage Advanced User
 
Join Date: Oct 2008
Posts: 88
Outstanding work, thank you Stuckless.
Reply With Quote
  #3  
Old 12-29-2015, 08:09 AM
dinki's Avatar
dinki dinki is offline
Sage Expert
 
Join Date: Mar 2006
Posts: 682
Thank you again for the time and work you've put into this.

I won't be able to try this for a couple of days, but were you able to test any MPEG2 720p recordings that were problematic for some of us? Do you have any settings suggestions for these type of streams/recordings?
__________________
Intel Core i5-2500, 16GB RAM, OMV Linux 4.17, 3 TB of Data
SageTV 9 Docker, Open DCT Docker
Silicondust HDHomeRun Duo + Quatro
Sage Mini Client on Amazon Fire Sticks and Android TVs
Reply With Quote
  #4  
Old 12-29-2015, 08:16 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by dinki View Post
Thank you again for the time and work you've put into this.

I won't be able to try this for a couple of days, but were you able to test any MPEG2 720p recordings that were problematic for some of us? Do you have any settings suggestions for these type of streams/recordings?
I do have some test mpeg2 recordings. In IJKPlayer, they both play, but... the 720p file appears to play ok, both on my phone and Shield TV, but the 1080i video is pixelated. I suspect that even though the shield tv supports mpeg2, it's still using a software decoder. On ExoPlayer if I true to play both these files, then neither of them play, and ExoPlayer will ONLY play stuff for which it has a hardware decoder.

I'll consider MPEG2 support to be on the bug list. I need to go back to IJKPlayer Devs to determine how I can tell if a hardware decoder is used, etc.
Reply With Quote
  #5  
Old 12-29-2015, 08:26 AM
dinki's Avatar
dinki dinki is offline
Sage Expert
 
Join Date: Mar 2006
Posts: 682
Hmm.. Surprising as the 1080i files played fine in previous versions but the 720p files were pixelated.

Yes, any improvements to these is much appreciated as this is the native format of the original HDHRs which are the only devices I'm using since cutting the cord. Thanks again.
__________________
Intel Core i5-2500, 16GB RAM, OMV Linux 4.17, 3 TB of Data
SageTV 9 Docker, Open DCT Docker
Silicondust HDHomeRun Duo + Quatro
Sage Mini Client on Amazon Fire Sticks and Android TVs
Reply With Quote
  #6  
Old 12-29-2015, 08:47 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by dinki View Post
Hmm.. Surprising as the 1080i files played fine in previous versions but the 720p files were pixelated.

Yes, any improvements to these is much appreciated as this is the native format of the original HDHRs which are the only devices I'm using since cutting the cord. Thanks again.
You are right, I had them reversed so 720p is pixelated, 1080i is fine But in either case, I don't think hardware decoding is happening.
Reply With Quote
  #7  
Old 01-01-2016, 02:05 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
FYI, there is a BETA 2, which just adds some navigational enhancements.

I tried using the client on the nvidia shield, but the playback controls really annoy me

So, I implemented a stateful key handler whereby the key presses mean something diferent depending on the state of the application. This has some drawbacks, since, I don't always know the real state of the application. For example, I know when a video is playing, but I don't know if a sagetv dialog poped up over the video. So, there may be cases where this is going to be annoying but hopefully those cases are rare.

So, as of this build, when a video is playing (playing or paused) the follow key presses are mapped
SELECT = PAUSE/PLAY
RIGHT=SKIP FORWARD
LEFT=SKIP BACKWARD

I think this makes interacting with the video a bit nicer (in my mind).

Later, I'm hoping to make this configurable, but for now, I'll probably just be trying things as I use the client.
Reply With Quote
  #8  
Old 01-03-2016, 02:42 AM
foolio foolio is offline
Sage Advanced User
 
Join Date: Aug 2004
Posts: 173
Beta version not working on note4. Playback won't start on tecorded/live Mpeg2 TS files. Used to work fine on alpha versions. Also, much more sluggish interface

Reverted to alpha 0.1.7 and it works again

Last edited by foolio; 01-03-2016 at 02:45 AM.
Reply With Quote
  #9  
Old 01-03-2016, 05:10 AM
paulie's Avatar
paulie paulie is offline
Sage Advanced User
 
Join Date: Nov 2007
Location: Ireland
Posts: 158
Brilliant work !
__________________
Paulie
Reply With Quote
  #10  
Old 01-03-2016, 06:24 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
I was just reviewing what changed from the ALPHA to BETA release, and there are ALOT of changes, unfortunately.

I upgraded the graphics engine (what is used to render the UI) for version 1.6 to 1.7.
I upgraded ExoPlayer and IJKPlayer
removed http datasources and now uses native datasources for each player
lots of other minor fixes, etc.

So, going from Alpha to Beta would mean lots of changes.

Going from Beta 1 to Beta 2, is a lot less changes.
- Added better navigation
- Some minor refactoring to the IJKPlayer and ExoPlayer to share more common code.
Reply With Quote
  #11  
Old 01-03-2016, 07:54 AM
nyplayer nyplayer is offline
SageTVaholic
 
Join Date: Sep 2005
Posts: 4,997
Quote:
Originally Posted by stuckless View Post
I was just reviewing what changed from the ALPHA to BETA release, and there are ALOT of changes, unfortunately.

I upgraded the graphics engine (what is used to render the UI) for version 1.6 to 1.7.
I upgraded ExoPlayer and IJKPlayer
removed http datasources and now uses native datasources for each player
lots of other minor fixes, etc.

So, going from Alpha to Beta would mean lots of changes.

Going from Beta 1 to Beta 2, is a lot less changes.
- Added better navigation
- Some minor refactoring to the IJKPlayer and ExoPlayer to share more common code.
on the Nexus player while watching TV I bring up the options I then highlight the cancel button hit the middle select button and all it does is pause the video. It appears the round button is mapped to pause. I cannot even select a show using the miniguide as all it does is pause the video.
__________________
Channels DVR UBUNTU Server 2 Primes 3 Connects TVE SageTV Docker with input from Channels DVR XMLTV and M3U VIA Opendct.

Last edited by nyplayer; 01-03-2016 at 07:57 AM.
Reply With Quote
  #12  
Old 01-03-2016, 08:05 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by nyplayer View Post
on the Nexus player while watching TV I bring up the options I then highlight the cancel button hit the middle select button and all it does is pause the video. It appears the round button is mapped to pause.
That sounds about right. This was part of the navigation changes that was mentioned earlier.

Basically, when a video is present, the "select" button becomes a pause/play toggle.

As noted, this will have some side-effects with sagetv since, I can't tell when sagetv is popping up a dialog over video, of when the dialog goes away.

My feeling is that using the round button (select) to toggle pause play is more user friendly and consistent with other players, and that dialogs over video is used far less than the actions of pause/play.

In addition to select being pause/play toggle, right and left become ff/rew.

If there are other actions that you want to use you can get to those actions using the on screen navigation controls (press and hold select).

Eventually, I'll have to provide a mapping tool, since I'm sure everyone will have their own preferences in terms of what the 5 buttons do.

I mainly did the pause/play toggle for select, because pausing the video and resume is something that you'll likely do quite a bit during playback, and actually getting a video to pause prior to this involved using a series of keystrokes and was cumbersome.

What are you using from the SageTV options menu, during video playback?
Reply With Quote
  #13  
Old 01-03-2016, 08:13 AM
nyplayer nyplayer is offline
SageTVaholic
 
Join Date: Sep 2005
Posts: 4,997
Quote:
Originally Posted by stuckless View Post
That sounds about right. This was part of the navigation changes that was mentioned earlier.

Basically, when a video is present, the "select" button becomes a pause/play toggle.

As noted, this will have some side-effects with sagetv since, I can't tell when sagetv is popping up a dialog over video, of when the dialog goes away.

My feeling is that using the round button (select) to toggle pause play is more user friendly and consistent with other players, and that dialogs over video is used far less than the actions of pause/play.

In addition to select being pause/play toggle, right and left become ff/rew.

If there are other actions that you want to use you can get to those actions using the on screen navigation controls (press and hold select).

Eventually, I'll have to provide a mapping tool, since I'm sure everyone will have their own preferences in terms of what the 5 buttons do.

I mainly did the pause/play toggle for select, because pausing the video and resume is something that you'll likely do quite a bit during playback, and actually getting a video to pause prior to this involved using a series of keystrokes and was cumbersome.

What are you using from the SageTV options menu, during video playback?
I like to look at details and right now I cannot also ... I use the miniguide while watching livetv and I cannot select a channel I am interested to changing to. Up down scrolls through the miniguide but I cannot select a channel.... There already is a pause play button on the nexus remote.

Also sometimes I have to leave so I like to bring up options and record the show.

PS How do I stop live TV? If watching LiveTV there is no way to exit the miniclient.
__________________
Channels DVR UBUNTU Server 2 Primes 3 Connects TVE SageTV Docker with input from Channels DVR XMLTV and M3U VIA Opendct.

Last edited by nyplayer; 01-03-2016 at 08:58 AM.
Reply With Quote
  #14  
Old 01-03-2016, 10:07 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by nyplayer View Post
I like to look at details and right now I cannot also ... I use the miniguide while watching livetv and I cannot select a channel I am interested to changing to. Up down scrolls through the miniguide but I cannot select a channel.... There already is a pause play button on the nexus remote.

Also sometimes I have to leave so I like to bring up options and record the show.

PS How do I stop live TV? If watching LiveTV there is no way to exit the miniclient.


I added an option in the preferences to turn off the Stateful remote. One issue with Android TV is that every remote is different. The Shield, for example, doesn't have a pause/play button

But to answer your question about stop...
1. Hit back button (it should stop)
2. Long press SELECT, it will bring up the on screen navigation, from there, you can do all sorts of actions, pause, play, navigation, stop, and event exit the mini client (top left X).

EDIT: On a tablet, swipe in from the left, and it will enable the same on screen navigation controls.

Last edited by stuckless; 01-03-2016 at 10:11 AM.
Reply With Quote
  #15  
Old 01-03-2016, 10:07 AM
foolio foolio is offline
Sage Advanced User
 
Join Date: Aug 2004
Posts: 173
0.03 we orks again on note 4. Thanks!
Reply With Quote
  #16  
Old 01-03-2016, 10:08 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713


BETA 3 is ready. I found a number of issues that crept into the beta 2 release... hopeuflly this fixes the IJKPlayer playback issues that people were experiencing.
Reply With Quote
  #17  
Old 01-03-2016, 10:47 AM
aklaro aklaro is offline
Sage User
 
Join Date: Nov 2011
Location: Montreal
Posts: 8
Version .03 works fine now on TabPro 10.1.

Thank you.
Reply With Quote
  #18  
Old 01-03-2016, 12:16 PM
nyplayer nyplayer is offline
SageTVaholic
 
Join Date: Sep 2005
Posts: 4,997
Sean,

Great work but unless the OTA HD streams produced by SageTV from the Hdhomeruns are fixed it just will not play them. It is quite frustrating because I have OTA and Cable tuners if I get an OTA channel instead of the cable equivalent it just will not play.
__________________
Channels DVR UBUNTU Server 2 Primes 3 Connects TVE SageTV Docker with input from Channels DVR XMLTV and M3U VIA Opendct.
Reply With Quote
  #19  
Old 01-03-2016, 01:22 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by nyplayer View Post
Sean,

Great work but unless the OTA HD streams produced by SageTV from the Hdhomeruns are fixed it just will not play them. It is quite frustrating because I have OTA and Cable tuners if I get an OTA channel instead of the cable equivalent it just will not play.
Unfortunately, I can't really control that. Out of curiosity, is this using ExoPlayer or IJKPlayer, or both?

Are the files produced by Hdhomeruns MPEG-PS? If so, I just got confirmation from ExoPlayer that they will not be supporting MPEG-PS. I've asked what it would take, to actually support it, and why they are not intending to support it.
Reply With Quote
  #20  
Old 01-03-2016, 02:29 PM
nyplayer nyplayer is offline
SageTVaholic
 
Join Date: Sep 2005
Posts: 4,997
Quote:
Originally Posted by stuckless View Post
Unfortunately, I can't really control that. Out of curiosity, is this using ExoPlayer or IJKPlayer, or both?

Are the files produced by Hdhomeruns MPEG-PS? If so, I just got confirmation from ExoPlayer that they will not be supporting MPEG-PS. I've asked what it would take, to actually support it, and why they are not intending to support it.
Sage muxes them to MPEG-PS. If I choose not to mux them using SageTV by changing encode_digital_tv_as_program_stream=true to false... then the files Sage creates gives a spinning circle and sage has trouble playing them and handling them.

I guess until this is fixed in SageTV it just will never work on ExoPlayer . ... hopefully someone will look into a KODI PVR plugin.
__________________
Channels DVR UBUNTU Server 2 Primes 3 Connects TVE SageTV Docker with input from Channels DVR XMLTV and M3U VIA Opendct.

Last edited by nyplayer; 01-03-2016 at 02:44 PM.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
MiniClient Information Taddeusz SageTV Github Development 5 09-10-2015 11:11 AM
Miniclient? BobbyDing General Discussion 3 09-08-2015 11:53 AM
OSD doesn't work in Linux miniclient 6.6 Grant.Edwards SageTV Linux 1 08-27-2011 04:37 PM
Linux Placeshifter/Miniclient Fails scsever SageTV Linux 1 08-23-2011 10:20 PM
Does miniclient work with SageTV 7? bkbonner SageTV Beta Test Software 1 09-10-2010 12:54 AM


All times are GMT -6. The time now is 12:54 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.