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
  #21  
Old 03-11-2016, 07:07 PM
tvmaster2's Avatar
tvmaster2 tvmaster2 is offline
SageTVaholic
 
Join Date: Jun 2005
Location: tarana
Posts: 4,240
Quote:
Originally Posted by davidb View Post
Thanks for the offer of financial support but I don't need any. I am curious what kind of hardware are you running the Air Video server side stuff on? I briefly tried it about a year ago but didn't spend much time with it. It sounds like I still need to keep my old e8400 sage server around but just running it on a different network than the rest of the house. That way I can still do testing on lower end hardware.
I run AirVideoHD on a quad core AMD processor, W7 32 bit with 4 gigs of ram. Seems to work fine. Every now and then, in a remote locale with lousy internet it's choppy. But mostly my iPad Air 2 is great. I use No-IP.org to test things at home, which gives me an out-of-house feed to test on.
__________________
Sage 9 server = Gigabyte AMD quad-core - 4 gigs - integrated ATI HD4200 chipset - SSD boot, Hitachi Deskstar show drives. HD-PVR - Colossus - Win7 32 bit. HD200/300ís networked. HDHomerun tuner. "If you've given up on Weird Al, you've given up on life" - Homer Simpson
Reply With Quote
  #22  
Old 03-11-2016, 08:18 PM
SageWizdom SageWizdom is offline
Sage Advanced User
 
Join Date: Oct 2013
Location: https://github.com/SageWizdom/SageConnect
Posts: 216
Quote:
Originally Posted by davidb View Post
Yes I certainly will.
Hooray! I'm on Centos 14.04, currently with 2 cores, but I can assign more cores if needed. When you're ready just PM me and let me know if there are any specific features you want me to test, or just overall usage.

Cheers!
Reply With Quote
  #23  
Old 03-11-2016, 08:41 PM
davidb's Avatar
davidb davidb is offline
Sage Advanced User
 
Join Date: Feb 2009
Posts: 134
Unfortunately the server side app only runs on windows.

Quote:
Originally Posted by SageWizdom View Post
Hooray! I'm on Centos 14.04, currently with 2 cores, but I can assign more cores if needed. When you're ready just PM me and let me know if there are any specific features you want me to test, or just overall usage.

Cheers!
Reply With Quote
  #24  
Old 03-11-2016, 08:55 PM
SageWizdom SageWizdom is offline
Sage Advanced User
 
Join Date: Oct 2013
Location: https://github.com/SageWizdom/SageConnect
Posts: 216
Quote:
Originally Posted by davidb View Post
Unfortunately the server side app only runs on windows.
A great excuse to install and play more with wine. If you don't mind (when ready) I'll still give it a try. Worst case I'll spin up a windows vm.
__________________
Server: Centos Server 14.04 LTS - 64Bit, VM in XenServer, 2 cores of a Intel i7, 2-4 GB Ram, 8 GB system Disk, 1.8 TB storage, SageTV V9.0.4.232, HDHR Prime x 1

Clients: PC Client x 1, HD-300 x 1, AppleTV x 2, WebClient (phone/tablet) x 3
Reply With Quote
  #25  
Old 03-11-2016, 09:00 PM
SageWizdom SageWizdom is offline
Sage Advanced User
 
Join Date: Oct 2013
Location: https://github.com/SageWizdom/SageConnect
Posts: 216
I realize I'm also happy to try and cross compile it (A) recognizing both the question of are you willing to share code and B) work to port any MS specific code). I do really enjoy the irony in needing to port/move the Mac support code from Windows (non Mac) to Linux (non Mac).
__________________
Server: Centos Server 14.04 LTS - 64Bit, VM in XenServer, 2 cores of a Intel i7, 2-4 GB Ram, 8 GB system Disk, 1.8 TB storage, SageTV V9.0.4.232, HDHR Prime x 1

Clients: PC Client x 1, HD-300 x 1, AppleTV x 2, WebClient (phone/tablet) x 3
Reply With Quote
  #26  
Old 03-12-2016, 12:23 PM
davidb's Avatar
davidb davidb is offline
Sage Advanced User
 
Join Date: Feb 2009
Posts: 134
Right now I am concentrating all my efforts into getting it into beta and then final release with a small set of features left on my todo list. I am more comfortable with windows even though my first programming job in the late 80's was c development on a Sun workstation. I also did a raspberry pi app to meter out water to my coffee pot in 12 or 24 oz increments 2 years ago.

When the app is solid and full featured I would like to explore what it would take to port to linux. The app is written in c# and uses Nancy for the web server which is open source and I have seen reports of people using it on linux. No promises but I am interested!

David

Quote:
Originally Posted by SageWizdom View Post
I realize I'm also happy to try and cross compile it (A) recognizing both the question of are you willing to share code and B) work to port any MS specific code). I do really enjoy the irony in needing to port/move the Mac support code from Windows (non Mac) to Linux (non Mac).

Last edited by davidb; 03-12-2016 at 12:48 PM.
Reply With Quote
  #27  
Old 03-12-2016, 01:16 PM
Taddeusz Taddeusz is offline
SageTVaholic
 
Join Date: Nov 2004
Location: Yukon, OK
Posts: 3,919
Quote:
Originally Posted by davidb View Post
Right now I am concentrating all my efforts into getting it into beta and then final release with a small set of features left on my todo list. I am more comfortable with windows even though my first programming job in the late 80's was c development on a Sun workstation. I also did a raspberry pi app to meter out water to my coffee pot in 12 or 24 oz increments 2 years ago.

When the app is solid and full featured I would like to explore what it would take to port to linux. The app is written in c# and uses Nancy for the web server which is open source and I have seen reports of people using it on linux. No promises but I am interested!

David
Since ASP.NET 5 is capable of running from Apache on Linux it would be possible. However, it would be better to have the backend run as a plugin from SageTV. The SageTV community is overall more technically knowledgeable. However, making something that runs separate from SageTV will also leave out the less technical of the community not to mention prospective users.
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3
Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver
Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD
Reply With Quote
  #28  
Old 03-12-2016, 01:29 PM
davidb's Avatar
davidb davidb is offline
Sage Advanced User
 
Join Date: Feb 2009
Posts: 134
I actually have a small Java plugin that updates my database when media is added or removed from Sage.

I chose to implement the rest of the server side app as a separate app, simply because I am more comfortable developing in C# and C++ than Java.

David

Quote:
Originally Posted by Taddeusz View Post
Since ASP.NET 5 is capable of running from Apache on Linux it would be possible. However, it would be better to have the backend run as a plugin from SageTV. The SageTV community is overall more technically knowledgeable. However, making something that runs separate from SageTV will also leave out the less technical of the community not to mention prospective users.
Reply With Quote
  #29  
Old 03-14-2016, 07:41 PM
SageWizdom SageWizdom is offline
Sage Advanced User
 
Join Date: Oct 2013
Location: https://github.com/SageWizdom/SageConnect
Posts: 216
Quote:
Originally Posted by davidb View Post
The app is written in c# and uses Nancy for the web server which is open source and I have seen reports of people using it on linux. No promises but I am interested!
Cool, when I'll look into nancy and c# on linux. To what Taddeusz mentioned, if we can get it working, perhaps someone can help build a Sage plugin that acts as a wrapper and installs / configures whatever needs to be done.
__________________
Server: Centos Server 14.04 LTS - 64Bit, VM in XenServer, 2 cores of a Intel i7, 2-4 GB Ram, 8 GB system Disk, 1.8 TB storage, SageTV V9.0.4.232, HDHR Prime x 1

Clients: PC Client x 1, HD-300 x 1, AppleTV x 2, WebClient (phone/tablet) x 3
Reply With Quote
  #30  
Old 03-25-2016, 06:39 AM
BitBass BitBass is offline
Sage Advanced User
 
Join Date: Dec 2007
Posts: 84
Quote:
Originally Posted by davidb View Post
Maybe I am missing something but I don't see the value in an Apple TV sage app. I would expect most existing Sage users already have and HD300 extender. For new people Stuckless's Android client looks like a great option that can already provide access to Sage.
The AppleTV works great as a Plex client, and I can get to the other online services very easily. I also have the HD300 for the extender right now, but it would be very nice to not have to flip back and forth, or rely on the HD300 staying alive.

I know the AppleTV is expensive compared to other options, but my understanding is that the video requirements are the same across the Apple devices. I would hope that creating the AppleTV app would be a change of View only, and not require changes to the MC part. Am I oversimplifying?

I'm thankful you're taking this on, regardless if you end up with an AppleTV app. If nothing else, I should be able to Airplay it!
__________________

Win7 VM -4gb ram
Ubuntu 14.04 VM -4gb ram (attempting with OS v9)
3 extenders through the house
Plex integration
HDHR
Reply With Quote
  #31  
Old 03-25-2016, 08:15 AM
davidb's Avatar
davidb davidb is offline
Sage Advanced User
 
Join Date: Feb 2009
Posts: 134
I get frustrated every time I look at documentation for developing for Apple TV. The Apple TV has a 64 bit processor, 2 GB of ram and either 32GB or 64 GB of storage. This is decent and sounds great but upon looking further I read that " your app can only access 500 KB of persistent storage that is local to the device" NOTICE they said KB and not MB so in other words on a device with a minimum of 32GB of storage an app can only store 1/2 meg of data! If you need more they want a developer to use ICloud.

The way my app is designed is my server code maintains a sqlite database of all show titles, series info and descriptions as well as movie titles and descriptions. The first time an authenticated IOS device(IPAD, iphone) connects to the server it sends this complete database to the ios device as well as a version number for the database. Subsequent invocations of the app will then tell the server what version number of the database it has and the server will only send database changes since that version number.

Our Sage currently has 2,182 shows and movies on it. The complete database that gets initially sent the first time to the IOS device is 968,704 bytes. The database that tracks changes to sage has 18 items which mean show added, show deleted, movie add, movie deleted or a change in the title and or description. These are the changes in our sage since 13 days ago. This file is only 8,192 bytes. This is what is sent down to IOS when a device hasn't connected in the past 13 days.

The way this is designed means you will be able to view all your movies on your IPAD/IOS device, and not have to separately encode each movie, I was also able to download them for viewing when you don't have cell data coverage. Since Apple has an artificial restriction, that you can't play local HLS files, the download feature is not currently available for offline playing. I may be able to get the download feature working without the separate encoding step, or I may not. I haven't resolved that question yet. This is the reason the app is not released now. By not having to encode the files in a separate step, this allows for streaming a show or movie as soon as its recorded. It also eliminates the extra storage requirement of keeping the .mp4 and the encoded files both for each recorded item.

So, because of the 500 KB limit on the Apple TV on storage for the application, the entire design that I am using now, will not be able to run on the Apple TV. It should have been able to, if it were not for the artificial limit on storing for each application. It does work on the IPhone and the IPad, that don't have the artificial restriction on storage.

Regards,
David

Quote:
Originally Posted by BitBass View Post
The AppleTV works great as a Plex client, and I can get to the other online services very easily. I also have the HD300 for the extender right now, but it would be very nice to not have to flip back and forth, or rely on the HD300 staying alive.

I know the AppleTV is expensive compared to other options, but my understanding is that the video requirements are the same across the Apple devices. I would hope that creating the AppleTV app would be a change of View only, and not require changes to the MC part. Am I oversimplifying?

I'm thankful you're taking this on, regardless if you end up with an AppleTV app. If nothing else, I should be able to Airplay it!
Reply With Quote
  #32  
Old 03-25-2016, 09:20 AM
Taddeusz Taddeusz is offline
SageTVaholic
 
Join Date: Nov 2004
Location: Yukon, OK
Posts: 3,919
Fortunately, or unfortunately, that's not the design pattern that Apple recommends. They want apps to intelligently load/unload content as its being displayed onscreen or near to being displayed. There are some good presentations from last year's WWDC that explain dynamic content loading.

A good example of this in action is the Plex app. For both remote and synced content it shows the same structure. But when not in contact with the server only synced content can be displayed. My only problem with their newer iOS app is that the server's availability doesn't automatically change the app between displaying remote or synced content display. They force the user to manually change context.

Personally, I don't see the point in keeping a local copy of the database. Especially when the server is unavailable. IMHO, from a user point of view displaying stuff that is not immediately available would be frustrating. For mobile (eg iPad & iPhone) it makes more sense to me to display only the content that is immediately available. Think about this, even if there's some obvious indication of whether an item is synced why subject the user to wading through everything just to find the stuff that they can play?

Obviously at this point I can't know how you've structured your app. And I don't mean this as a direct attack. From your description it sounds like, for a mobile app, it's not using resources most efficiently. I have 64GB devices but it still frustrates me when apps seem to unnecessarily consume storage. Since Apple is still selling 16GB devices as their entry level with no expansion capabilities it falls on the developer to create the most effective and efficient experience for their users.
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3
Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver
Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD
Reply With Quote
  #33  
Old 03-25-2016, 09:38 AM
davidb's Avatar
davidb davidb is offline
Sage Advanced User
 
Join Date: Feb 2009
Posts: 134
Yes I agree that current approach I am using for IOS is not appropriate for Apple TV. With Apple TV you can assume your sage is local.

With IOS my first design criteria was offline operation. I wanted to be able to watch with no cell coverage. Over the past year I have made many airplane flights while watching recording content on my app. This summer we were staying outside of Denali in Alaska. Cell coverage was non existent but yet we had over 30 downloaded shows and movies we could watch. Items are only downloaded when requested otherwise they are streamed from the server. I feel this is the best approach. The app has a separate menu for downloaded content.

Quote:
Originally Posted by Taddeusz View Post
Fortunately, or unfortunately, that's not the design pattern that Apple recommends. They want apps to intelligently load/unload content as its being displayed onscreen or near to being displayed. There are some good presentations from last year's WWDC that explain dynamic content loading.

A good example of this in action is the Plex app. For both remote and synced content it shows the same structure. But when not in contact with the server only synced content can be displayed. My only problem with their newer iOS app is that the server's availability doesn't automatically change the app between displaying remote or synced content display. They force the user to manually change context.

Personally, I don't see the point in keeping a local copy of the database. Especially when the server is unavailable. IMHO, from a user point of view displaying stuff that is not immediately available would be frustrating. For mobile (eg iPad & iPhone) it makes more sense to me to display only the content that is immediately available. Think about this, even if there's some obvious indication of whether an item is synced why subject the user to wading through everything just to find the stuff that they can play?

Obviously at this point I can't know how you've structured your app. And I don't mean this as a direct attack. From your description it sounds like, for a mobile app, it's not using resources most efficiently. I have 64GB devices but it still frustrates me when apps seem to unnecessarily consume storage. Since Apple is still selling 16GB devices as their entry level with no expansion capabilities it falls on the developer to create the most effective and efficient experience for their users.
Reply With Quote
  #34  
Old 04-10-2016, 08:41 PM
ptaylor ptaylor is offline
Sage Aficionado
 
Join Date: May 2004
Posts: 308
Sorry to jump in here, (and maybe it has been mentioned) but could you fork your app into two, one for IOS devices, and another for tvOS devices?

That would let you use your current methodology for IOS devices, and a more tvOS centric approach for the AppleTV.

On the plus side, as a developer, that may mean customers will buy both apps, assuming its a paid app. I expect that the vast majority of SageTV users would happily pay for both apps, assuming they have IOS & tvOS devices, as long as the prices were reasonable.

On the negative side, two versions means more work for you maintaining two code bases. MrMC (a fork of KODI) uses this approach.
Reply With Quote
  #35  
Old 04-10-2016, 08:45 PM
Taddeusz Taddeusz is offline
SageTVaholic
 
Join Date: Nov 2004
Location: Yukon, OK
Posts: 3,919
Quote:
Originally Posted by ptaylor View Post
Sorry to jump in here, (and maybe it has been mentioned) but could you fork your app into two, one for IOS devices, and another for tvOS devices?

That would let you use your current methodology for IOS devices, and a more tvOS centric approach for the AppleTV.

On the plus side, as a developer, that may mean customers will buy both apps, assuming its a paid app. I expect that the vast majority of SageTV users would happily pay for both apps, assuming they have IOS & tvOS devices, as long as the prices were reasonable.

On the negative side, two versions means more work for you maintaining two code bases. MrMC (a fork of KODI) uses this approach.
It doesn't have to be that difficult. There can be a common codebase used for both apps in the same project.
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3
Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver
Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD
Reply With Quote
  #36  
Old 04-10-2016, 09:31 PM
davidb's Avatar
davidb davidb is offline
Sage Advanced User
 
Join Date: Feb 2009
Posts: 134
At the moment my focus is just on IOS with the server side stuff running on windows. The app will be free. I am unclear why someone would even want to access Sagetv from AppleTV when the hd-300 extenders are still available and the Android app from stuckless is available. My son will be moving into an apartment in the fall and the tentative plan is get the shield device for him to be able to access our sage setup from it using Stuckless's Android app. Maybe I am missing something, it certainly wouldn't be the first time!

BTW as soon as I get my taxes done I am going to submit the IOS app to the Apple testflight beta program so it really is imminent. How long they take to review an app or whether it will pass on the first try I don't know.

David

Quote:
Originally Posted by ptaylor View Post
Sorry to jump in here, (and maybe it has been mentioned) but could you fork your app into two, one for IOS devices, and another for tvOS devices?

That would let you use your current methodology for IOS devices, and a more tvOS centric approach for the AppleTV.

On the plus side, as a developer, that may mean customers will buy both apps, assuming its a paid app. I expect that the vast majority of SageTV users would happily pay for both apps, assuming they have IOS & tvOS devices, as long as the prices were reasonable.

On the negative side, two versions means more work for you maintaining two code bases. MrMC (a fork of KODI) uses this approach.
Reply With Quote
  #37  
Old 04-11-2016, 09:41 AM
Tiki's Avatar
Tiki Tiki is offline
Sage Icon
 
Join Date: Feb 2005
Location: Southwest Florida, USA
Posts: 2,009
Quote:
Originally Posted by davidb View Post
At the moment my focus is just on IOS with the server side stuff running on windows. The app will be free. I am unclear why someone would even want to access Sagetv from AppleTV when the hd-300 extenders are still available and the Android app from stuckless is available.
Well, first I will say that I don't own an AppleTV and am unlikely to buy one. But if I did, I would want to be able to access SageTV from it. If I was already invested in the AppleTV, I probably wouldn't want to get an AndroidTV device.

Also, the HD300's are not still available. You may be able to find a used one on EBay from time to time, but they are no longer manufactured or sold as new.

Also, the Android mini-client is still not perfect. It's getting better all the time, but there are still a lot of limitations. It's possible that there are some things that your app does (or could do) better.

With all that in mind, I can see why there would be interest in using your app on an AppleTV.
__________________
Server: Ryzen 2400G with integrated graphics, ASRock X470 Taichi Motherboard, HDMI output to Vizio 1080p LCD, Win10-64Bit (Professional), 16GB RAM
Capture Devices (7 tuners): Colossus (x1), HDHR Prime (x2)
,USBUIRT (multi-zone)
Source:
Comcast/Xfinity X1 Cable
Primary Client: Server Other Clients: (1) HD200, (1) HD300
Retired Equipment: MediaMVP, PVR150 (x2), PVR150MCE,
HDHR, HVR-2250, HD-PVR
Reply With Quote
  #38  
Old 04-11-2016, 04:13 PM
ptaylor ptaylor is offline
Sage Aficionado
 
Join Date: May 2004
Posts: 308
As you might have guessed, I already have an AppleTV, and I would be very interested in a good SageTV app for it. I'm not using SageTV currently, but switching back to it would be pretty easy.
Reply With Quote
  #39  
Old 04-11-2016, 04:42 PM
davidb's Avatar
davidb davidb is offline
Sage Advanced User
 
Join Date: Feb 2009
Posts: 134
I have the SageTV but don't have AppleTV.

David

Quote:
Originally Posted by ptaylor View Post
As you might have guessed, I already have an AppleTV, and I would be very interested in a good SageTV app for it. I'm not using SageTV currently, but switching back to it would be pretty easy.
Reply With Quote
  #40  
Old 04-20-2016, 09:13 PM
SageWizdom SageWizdom is offline
Sage Advanced User
 
Join Date: Oct 2013
Location: https://github.com/SageWizdom/SageConnect
Posts: 216
I also have Apple TV's but am also happy to say, no pressure. I'm just happy people are working on and building on SageTV. I'm excited to see your app once available and if you are ultimately open to extending it further, awesome and thanks!

Keep up the great work.
__________________
Server: Centos Server 14.04 LTS - 64Bit, VM in XenServer, 2 cores of a Intel i7, 2-4 GB Ram, 8 GB system Disk, 1.8 TB storage, SageTV V9.0.4.232, HDHR Prime x 1

Clients: PC Client x 1, HD-300 x 1, AppleTV x 2, WebClient (phone/tablet) x 3
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
ROKU Questions, Plex Questions ThePaladinTech The SageTV Community 16 08-26-2013 10:53 PM
Newbie questions... hardware questions bigRoN18 Hardware Support 9 10-13-2010 02:50 PM
MVP Questions... vvulture SageTV Media Extender 4 05-02-2007 04:06 PM
HD OTA Questions crowland Hardware Support 8 02-14-2007 05:06 PM
Questions regarding 2.2.3 srcurtis SageTV Beta Test Software 0 01-22-2005 01:51 PM


All times are GMT -6. The time now is 05:59 PM.


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