INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Theatreview plugin + Workaround for online services (PICS!)  (Read 10301 times)

brendonp

  • Recent member
  • *
  • Posts: 19
Theatreview plugin + Workaround for online services (PICS!)
« on: October 11, 2012, 11:27:48 pm »

I've been using MC for quite a few years and have been involved in software development for longer then I care to remember; while my days are now more management and architecting large scale web apps, everything is .NET based and I thought I might try my hand at extending MC.

My specific area of improvement for MC is the online services - while I appreciate the availability of Hulu and Youtube, there's obviously a fair bit of work to do to catch up with other players.

Unfortunately the documentation seems a bit sketchy on how to approach this - I see lots about automation, but nothing specific to TheatreView.

Thinking about the problem it occurs to me that a simple solution might be to generate library items on the fly for display in TheatreView - perhaps using Playlists, though I'm not sure how much meta data would be available...  By stuffing library items and creating virtual folders, one could conceivably generate the UI required (series/seasons/episodes/etc) without really needing to write any UI code per se...

Has anyone gone down this path?


--------------------------------------

Now for something completely different -

I picked up a subscription to NFL Game Rewind this eve (which prompted the above thinking).   Needing a quick and relatively painless way to get at it without a keyboard (cookies don't seem to play nice /w MC), I decided to simply create a webpage that logs me into to the Game Rewind player - here's the page:

<html>
<head>
</head>
<body onload="frmLogin.submit();">
   <form id="frmLogin" action="https://id.s.nfl.com/login" method="post">
      <input name="username" type="hidden" value="yourusernamehere" />
      <input name="password" type="hidden" value="yourpasswordhere" />
      <input name="vendor_id" type="hidden" value="nflptnrnln" />
      <input name="success_url" type="hidden" value="http://gamerewind.nfl.com/nflgr/console.jsp" />
      <input name="error_url" type="hidden" value="https://gamerewind.nfl.com/nflgr/secure/loginform" />
   </form>
</body>
</html>

I saved this as a local file on my machine that serves up the TheatreView for the TV and created a new Web Page item in theatre view.  Works pretty well!

Logged

MrHaugen

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 3774
Re: Theatreview plugin + Workaround for online services
« Reply #1 on: October 12, 2012, 02:15:41 am »

I would not even know where to start to create a Theater View plugin. We have support for plugins in Standard View, and you can do pretty much there. This ability is almost non existent in Theater View. You can run plugins in the background, but I've never seen any plugin accepting user input in Theater View. And that's a real shame. It makes well developed and feature rich user contributions a no-go. Things like online services and subtitle downloading are the first things that come to mind.

The problem here seems to me that JRiver does not look at it the same way. They focus a lot on bringing us the improvements them self. But as we all know, each company have limited resources. They can't do everything that the customers want. Especially a software company. A framework with plugin support in Theater View, together with a highly customization skin engine would make Theater View and services grow SO much faster than it does today.
Logged
- I may not always believe what I'm saying

brendonp

  • Recent member
  • *
  • Posts: 19
Re: Theatreview plugin + Workaround for online services
« Reply #2 on: October 12, 2012, 07:37:01 am »

MrHaugen - this would seem to match my limited search results!   I could see that generating a new UI in Theatre view might be possible by creating an item and intercepting a call to that item and displaying a completely custom screen, but I was concerned that the skinning and stylistic elements would be lost.

I'll do a little research into generating some playlists "on-the-fly" along with intercepting specific navigation requests - I'm not sure if it will work, but in theory it would allow one to generate some views in Theatre view without actually writing a UI style plugin....


JRiver dev team - if you happen to catch this thread and know that I'm barking up a wrong tree, please post back!
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72438
  • Where did I put my teeth?
Re: Theatreview plugin + Workaround for online services
« Reply #3 on: October 12, 2012, 07:53:36 am »

Thanks for thinking about this important area.  You're right that the documentation isn't up to date.  I believe you may be able to learn about it by looking at the weather plug-in or the news plug-in.  If not, ask a couple of questions and we'll see if we can help you get started.  It's an area we'd like to improve.
Logged

brendonp

  • Recent member
  • *
  • Posts: 19
Re: Theatreview plugin + Workaround for online services
« Reply #4 on: October 12, 2012, 08:41:54 am »

Hi Jim, I appreciate your quick reply - I quite understand the myriad of challenges and tough (and sometimes unpopular!) choices when developing software for large user bases !

I'll take a look at the weather and news plugins (source available?) for assistance.   

I'm also contemplating generating some custom Field/File entries that point to Hulu as a test based on the oembed data available for files to populate the data, along with a custom "MediaType" of Hulu, and some display rules in Theatre View to keep everything segregated.    I'm struggling a bit with this as it relies on some synchronization effort (read time delay) between an online service and the MC data store, but after reflecting a bit, it provides a nice abstraction that could be used with various online sources.   Configuration per source could be as simple as adding the login API and or web form data along with the appropriate Username/Password; with a simple framework it might be feasible to knock off a bunch of free & paid services in this manner.

On the downside, I'm not sure how to deal with missing or withdrawn data (ie, Hulu vs Hulu+) and I'm not sure of the performance limitations of the MC database given that we might be indexing hundreds of thousands of online media into a data store that may not be built for it (no knock to the system - obviously things are built to a given spec!).

-----------------------------------------------------

If none of this works out as planned, there is the opportunity for someone enterprising to set up a few online webpages to accomplish much of the same without "polluting" the MC database.  Theres a directory browsing ActiveX control that I came across in the forums somewhere last night (sorry, can't remember the name or attribution) that works pretty well - using this methodology, one could easily build an online media browsing service that renders nicely within a MC web window; given that hosting the service for a good volume of users would actually cost money, I'm not sure that it's viable for an independent developer to take on, but it might be an easy way for the JRiver team to open a new revenue source with less development effort than tackling the core of MC...

Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42372
  • Shoes gone again!
Re: Theatreview plugin + Workaround for online services
« Reply #5 on: October 12, 2012, 09:36:08 am »

A while back I started a brainstorming topic thinking about how we might support user-created code for online services better:
http://yabb.jriver.com/interact/index.php?topic=71440.0

The actual code to support a new service (say something like FunnyOrDie, PBS's Cove API, etc.) is often simple.  The playback, browsing, image loading, etc. code is already part of the program, so it's mostly a matter of wrapping the web service API and parsing the data.

It's just that we haven't figured out a good way to accomplish exposing this to third-party developers yet.
Logged
Matt Ashland, JRiver Media Center

MrHaugen

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 3774
Re: Theatreview plugin + Workaround for online services
« Reply #6 on: October 12, 2012, 10:58:04 am »

Good to know that you're still looking into this. It's a really important subject in my opinions, and it could open up endless possibilities if it's flexible enough.
Logged
- I may not always believe what I'm saying

brendonp

  • Recent member
  • *
  • Posts: 19
Re: Theatreview plugin + Workaround for online services
« Reply #7 on: October 12, 2012, 11:07:18 am »

Hi Matt - quite possible that I'm missing something, but I would think that what's really missing is the "browsing" aspect when a service contains lots of media.

I spent a few minutes this morning looking through how Hulu provides information for "API" use (not really published, that I could see), and parsing it for usage appears quite straightforward.  What I'm still unsure of is how to get the browsing of Series, Shows or even Networks to draw properly on the screen.   Ie, is there a way to generate custom rollers and categories, items, etc, etc within TheatreView on the fly?    It's possible that I just haven't seen the functionality in the documentation...

If this doesn't exist as an exposed feature, I'm currently leaning towards creating media items within the database in real time, likely using datetime stamps to cut down on load time by only loading un-scanned items (and probably some other filters as well - like only grabbing shows from a select list), and then adding in some custom TheaterView Library Items/Categories to control some of the navigation.   It's not perfect, but a great way to acheive goal #1 - WAF!
Logged

brendonp

  • Recent member
  • *
  • Posts: 19
Re: Theatreview plugin + Workaround for online services
« Reply #8 on: October 15, 2012, 03:03:55 pm »

So I spent a few hours this morning thinking about Hulu views and decided to try to use as much built MC functionality as possible - which has lead me to using playlists within Theater View along with some customized (but fairly normal!) Theater view menus.  

I wrote a few routines using MC as an COM object to grab data from Hulu, and here are my initial results.

A few notes:
  1) I've limited the amount of data coming from Hulu somewhat artificially to 40 shows per series, IIRC.
  2) All Series Art & Background comes direct from MC - took a while for some Series to appear, and some haven't finished yet
  3) Episode shots are direct from Hulu
  4) I haven't verified that the data is "complete", and I suspect it may not be - just a first stab at making Hulu a bit more user friendly!




Here are some screen shots:

New item called Hulu2:



---------------------
View by Genre:



----------------------
Drill down to Series within Genre



-------------------------
Drill down to Episode (Skipped into season "2" - > note the 2 at the top of screen)


------------------------------
Showing Seasons with "Series" main menu (what was missed in Genre above!)


-------------------------------
Drill down to Episode within Season



-------------------------------
Attempt at view by "Network"  -- I'm going to need to grab something a little more obvious - the network tag that I'm using appears to switch by year!



---------------------------------
View by year - not sure that this is very exciting.....

Logged

drmimosa

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 690
Re: Theatreview plugin + Workaround for online services (PICS!)
« Reply #9 on: October 16, 2012, 09:00:30 am »

These screenshots look great! Would you consider making these plugins available to the JRiver community?

I would certainly be willing to pay a small fee for Theater View plugins along these lines (perhaps $5 for a single plugin, $20 for a bundle like Matt describes above with PBS, Funnyordie, Hulu... MLB.TV even?). JRiver users are an enthusiastic bunch of home entertainment geeks who really like to pay for functional software, the recent success of JRemote for iPad serves as a great example.

Exciting work, thanks for posting.
Logged

brendonp

  • Recent member
  • *
  • Posts: 19
Re: Theatreview plugin + Workaround for online services (PICS!)
« Reply #10 on: October 16, 2012, 09:38:08 am »

Hi drmimosa,

I'll definitely make this available to the community, though not likely on a for-profit basis as I'm not sure I'm interested in the support burden (though I'll leave the option open!)

It's currently not in "plugin-in" format, it's just an application that I start up while MC is running and "feed" the data to MC.   There are several hurdles to cross to make it really useable, and a few questions to answer yet - if you'd like to provide some input, I'm happy to take comments and thoughts into account.

At a useability level, here are some of the things that I don't know how I'd like to handle:

1) How to choose what to display ...

In the screenshots above, I asked the system to grab me data from ABC, NBC & FOX;  the reality is I'm likely interested in only a handful of shows on Hulu - do we really want to clutter up the display with shows that I simply won't watch?   I'm thinking perhaps that something like the Hulu "queue" might be in order, though with better options - ie, queue an entire "show", rather than individual items.   Perhaps add some date or seasons filters (ie, queue Grey's Anatomy season "9").

2) How often to update the display...

- I haven't been able to generate show listings "on the fly" from Hulu; it appears that it takes a while for MC to push data onto my Theatre View pages, even though I can see it in regular view (I suspect that there's some background processing going on).  

3) Sorting...
 
- I created a number of items in Theatre View to sort by Genre, or Series, Year, etc, etc,.   I've found that Series/Season is probably the most useable (I actually wound up putting Series/Season as a subsort under every other type of sorting).   Is there anything else that is required.

4) Hulu+

I'm not sure if there's anything required for Hulu+ or if this is all taken care of by MC (I suspect it is).   Reading the raw data doesn't seem to be affected by whether or not a user has Hulu+, as you can tell Hulu which sort of data you want without any credentials (playing back a Hulu+ show obviously requires credentials).

Anyhow, any thoughts that you might have are appreciated.   If I get a chance to wrap this into a plugin sometime this week, I can throw it out for you to test if you like.



Logged

muzicman0

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1239
Re: Theatreview plugin + Workaround for online services (PICS!)
« Reply #11 on: October 16, 2012, 03:59:16 pm »

this is awesome...one thing I would like to ask for is the possibility to view subscriptions...we have some subscriptions to old TV shows that we are watching, but they are not in our que.

currently, I just created a link to Hulu Desktop on my main screen, and that works OK, but if I could stay in MC, that would be awesome!

If there is anything I can help on Hulu and/or netflix, I would be happy to help.

mm0
Logged

brendonp

  • Recent member
  • *
  • Posts: 19
Re: Theatreview plugin + Workaround for online services (PICS!)
« Reply #12 on: October 16, 2012, 05:32:12 pm »

Hi muzicman0 - I'm not a hulu expert, and actually had never heard of subscriptions until you mentioned it.    Sounds much like the question I had above about "how to choose what to display".   I had assumed that Hulu only had a Queue simply because I was used to seeing it in MC. 

The question is - to use the "Hulu subscription", or create another subscription built into MC and/or a plugin.   The only advantage to re-creating things within an MC plugin would be flexibility - ie, limit subscription to "Season 3 through 6" of M.A.S.H or something similar, or perhaps subscribe to "Discovery Channel", or subscribe to "any show with Steven Colbert" (giving you Colbert Report + some of The Daily Show + any guest appearances where he's listed in actors/credits).


It looks like Netflix provides data formatted the same way as Hulu... might be good once I get this Hulu thing off the ground (cancelled my Netflix last year as I just didn't watch it much, but would pick it up to play around with)....
Logged

drmimosa

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 690
Re: Theatreview plugin + Workaround for online services (PICS!)
« Reply #13 on: October 17, 2012, 12:26:00 pm »

Brendonp, thanks again for your work and for lending your expertise to the JRiver community. The payment offer still stands if you change your mind about plug-in support!

I'm also not a Hulu+ subscriber, so I can't offer comment on this service, what it adds to the website. There's so much on the site already, I have never been tempted to upgrade.

I see two areas where your above screenshots could really improve the current Theater View Hulu menus:

1. Regular access to specific TV shows: Say you always watch Daily Show, Colbert, and 10 Rock. Ideally, these could have separate menu items with current episodes listed first. You've already described this above in your descriptions of subscriptions, perhaps these could possibly be just customized search scripts that the each user can set up. I'm usually only interested in the most recent episodes of these shows, so here I would rarely use a menu hierarchy.

2. Improved general browsing: Genre/show/season groupings would be very helpful. It's currently difficult to start watching from season one and then pick up next time where you left off. Hulu already has a simple, clear genre/show/season menu on their non-premium webpage: http://www.hulu.com/tv/popular/shows

Now, I'd like to give the JRiver team some praise, the current interface works really well, sound is spectacular, picture is superb. Both of my above points can be done already: for example, search pulls up regularly viewed shows, just type "south park" and you are good to go with recent episodes.

Browsing could stand the most improvement, however. From the current menu, I use the "popular clips" and "popular trailers" the most, popular clips show what is trending on the site, popular trailers have a good selection of previews and most are worth checking out. However, the other menu items just have too much information at once, genres are jumbled, the episodes titles aren't clear, etc. If a hierarchical structure is possible, that would permit real browsing of the site's contents.

Thanks again, hope this input helps in your efforts. It looks like you have a nice work-around for a new menu set up already!

 

Logged

brendonp

  • Recent member
  • *
  • Posts: 19
Re: Theatreview plugin + Workaround for online services (PICS!)
« Reply #14 on: October 18, 2012, 08:49:32 am »

Hi drmimosa - thanks again for the offer!

With respect to your questions/comments - I like your thinking, and both items make sense (#2 was my initial goal, and it's working pretty well for me!).    As it turns out, the area I'm struggling with is displaying the items on the screen in a reasonable amount of time - I'm currently doing the seach up front and waiting for MC to draw the items.

 ie, for your example #1, I had no problem just sourcing recent episodes of Daily Show & Colbert and throwing them in a category that displays under the main roller - however when I create the playlist it doesn't seem to appear immeately in Theatre View.   Typically I open / close TheatreView a couple of times and then it appears.   I doubt this has anything to do with actually opening/closing TheatreView, more likely just a lag is display of a playlist.   I've fired off a couple of questions to the MC team and hopefully they'll be able to point me in the correct direction.

Browsing presents much of the same problem - I can make it work well enough for my purposes, but it's not really "real time" right now.   Not a big deal for me as I'm not a frequent user, but it could be anoying to a someone who uses it frequently.
Logged

SpeedD408

  • World Citizen
  • ***
  • Posts: 152
Re: Theatreview plugin + Workaround for online services (PICS!)
« Reply #15 on: October 22, 2012, 01:17:35 pm »

I'm liking were this is going.  If you need a tester let me know.
Logged
Media PC: Ryzen 3900X, Asus ROG Crosshair VIII Hero, 16GB RAM, Sabrent 1TB Rocket NVMe PCIe 4.0, NVidia 1070 GPU
Software: JRiver MC 26.0.22, AnyDVD HD 8.4.4.0
Audio Processor: Lynx AES16e (FW: 14.1) w/ Aurora 16-VT (FW: 31)
Amp: Emotiva MPS-2
Speakers: Ascend Acoustics Sierra Towers w/RAAL & Horizon w/RAAL and Sierra-2's as surrounds
Sub: Dual Rythmik Audio FV15HP
TV Tuner: HD HomeRun Prime

MrHaugen

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 3774
Re: Theatreview plugin + Workaround for online services (PICS!)
« Reply #16 on: October 23, 2012, 02:33:26 am »

I've not read all of this. To much to dig into for one that can't access Hulu without creating a VPN connection to the US... But anyway, I have a few questions.
Does this work on library server clients as well as standalone installations? And if it works with library server clients, would it not be a hellish experience when you have to restart all the time to refresh the TV Show posters?

If this is the case I would suggest JRiver look at a way to activate the TV Show images without a restart. I find it very annoying on my rather static TV shows. But as I add 3-6 new shows each month, it takes a few restarts to make Theater View look good. I can only imagine how irritating it have to be in such a huge library as Hulu...
Logged
- I may not always believe what I'm saying

brendonp

  • Recent member
  • *
  • Posts: 19
Re: Theatreview plugin + Workaround for online services (PICS!)
« Reply #17 on: October 23, 2012, 07:33:22 am »

speedd408 - I've been away a bit (and am off on business trips most of this week as well), but as soon as I tidy things up, I'll release it for testing.

MrHaugen - two points...
1) VPN - I don't have a perfect solution, but I do have my VPN connection as one of the options in Theatre View - not perfect, but it's easy to connect by selecting the option...

2) TV Show pictures for individual shows are actually listed within the Hulu data that I'm scraping, so I'm currently downloading them and associating them with the individual episodes; what I don't seem to get automatically are the Series/Season pictures (ie, what you'd see as a DVD cover).   I haven't looked to see if MC exposes this, but it's probably worthwhile checking, as mine often takes a few hours before it comes up.
Logged

MrHaugen

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 3774
Re: Theatreview plugin + Workaround for online services (PICS!)
« Reply #18 on: October 23, 2012, 04:18:59 pm »

2) TV Show pictures for individual shows are actually listed within the Hulu data that I'm scraping, so I'm currently downloading them and associating them with the individual episodes; what I don't seem to get automatically are the Series/Season pictures (ie, what you'd see as a DVD cover).   I haven't looked to see if MC exposes this, but it's probably worthwhile checking, as mine often takes a few hours before it comes up.
It's because those covers need a client restart before they show up. Everything that is put into the cover art directory I presume. Like TV Show art, season art, artist art and so on. It's a very big problem in my opinion, because many people never shuts down MC less and less. PC's go to sleep or hibernate each day. Not shutdown. At least not for HTPC's I believe.

*EDIT*
The actual problem is that the Server needs to get updated each time it get's new cover art like TV Show covers. It needs to enter a view with the TV Shows for it to trigger the thumbnail creation process. Or something alone those lines.
Logged
- I may not always believe what I'm saying

Ekpen

  • Citizen of the Universe
  • *****
  • Posts: 686
Re: Theatreview plugin + Workaround for online services (PICS!)
« Reply #19 on: January 27, 2013, 09:52:13 pm »

Greetings:
Any update on this topic? I will like to have my Amazon prime access added to this if it is possible. Wife will like to watch some shows off Amazon.
Is it possible?
Thanks.
Ekpen
Logged
Pages: [1]   Go Up