Author Topic: Kroozbox - PVD to media theatre solution  (Read 183966 times)

0 Members and 1 Guest are viewing this topic.

Offline Nono

  • User
  • ***
  • Posts: 64
    • View Profile
Kroozbox - PVD to media theatre solution
« on: October 09, 2008, 10:22:47 pm »
Hello Nostra, Rick, Gang,


Latest version of Kroozbox now supports LG smart TV and Syabas Flash based media player (C-300, Popbox, etc) with corresponding template.


Latest version 2.3 of Kroozbox (February 2013):
Kroozbox media player for NMT

Version 2.0 added title display on status line and 3D+mirror effect on images.

For PVD users versoin 1.8  now have a playlist for movie and series with multiple files (click once to play all).
Versoin 1.7 now includes a Music Jukebox.

For those new to the conversation:
The idea is to make the PVD database available to any Media theater system without any exporting/conversion/rekluging,etc.
I own a Media Tank Popcorn Hour based on Syabas chipset and I needed something that would give me access to PVD ripository from my TV automatically (no copy/export/update.. just turn it on).

I finally decided to write it in Java. I call it Kroozbox.

Basically, this is a SSDP (read "UPNP") device on top of a HTTP server used to stream out information from SQL database (like Firebird.. used in PVD). I have decided to put together a complete open system. Meaning it can work with any/all SQL database providing that a Java JDBC driver exists for it.

The package link above includes everything for PVD (and MySQL driver if someone needs them). You just need to have Java 1.5 and up installed and start it. Just one thing to configure in the database.properties file is the location of your .PVD file (read the README).
There is no hook into PVD application, so they can run independentely. All the syntax for SQL access are within the templates, easily customisable (had to do some reverse engeneering on your database Nostra  ;) ).

There are two templates, one for HD (High Definition) TV and one for SD (Standard Definition).  Choose the one you want from the config file. Of course, they can all be seen from the internet browser as well (port 8008 by default).(http://<your ip>:8008)

The download file size may seems a little big (6.4M) but I decided to include a small PVD file inside so you can just start the application without any configuration.

It can also be use to publish your PVD content directly online I guess (as I saw another user asking for it) but bare in mind that this is not a very efficient SQL extractor(no connection pool and request caching). So under heavy use (1000+ requests per minutes) it may barf and it is not build with security in mind.

I still need to do some code cleanup and mostly the documentation for configuration and templates building (this is where I think it shines - simple database acess language within the templates).

This should be considered beta release and I really need feedback.

Let me know. Thanks.
Nono






« Last Edit: February 08, 2013, 06:13:24 pm by Nono »

Offline rick.ca

  • Global Moderator
  • *****
  • Posts: 3241
  • "I'm willing to shoot you!"
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #1 on: October 10, 2008, 01:58:02 am »
WOW! Great job. Also, the ease of installation and clear instructions are much appreciated.

I hope you don't mind your post being moved. I think this is a more logical place to look for such "add-ons," and it won't get buried in support requests here.

I can offer a few comments after a brief trial. I don't have a theatre system, so I'm just accessing Kroozbox with my browser (in case that makes any difference to what I'm seeing).

I assume this is a bug... the All - Newest - A - B - C links are producing pages that do not filter-out "invisible" movies. My 700 movie database includes over 100,000 of those, making it a little difficult to find things that way. ;)  The genre links work as expected.

You'll need to add more means of filtering. I've seen most of the movies in my database. There's usually 50 or so I haven't seen or am likely to want to see again in the near future (in which case I've turned-off their seen flag). So while I'll want to see all my movies initially, I'd normally need to filter-out the seen ones to make a selection. For me, that's the most necessary one, but I suppose it would be desirable to be able to filter and sort in as many ways possible without cluttering the display or otherwise making the interface too confusing.

Clicking on a media link causes the media to play within the browser. I understand this is not the intended use, but in case anyone is interested in using Kroozbox in a browser, is it possible to change the links to the media is launched in the associated external application?

I'm impressed how it handles series—allowing selection of available seasons, then episodes.

Up/down navigation arrows mean different things to different people. Maybe the page navigation would be clearer with left/right arrows. I think it's more obvious that left means "back" and right means "forward."

I'm really unsure if this behaviour in a browser is relevant, but... I couldn't figure out how to navigate with the keyboard (which, in my mind, I need to establish as something my remote can emulate). Moving through links/covers with tab/shift-tab works fine, but the links aren't highlighted (as with a mouse-hover), so I can't tell where I am. Hmmm. Now that I think about it, it's definitely a browser issue—the same one that's been preventing me from browsing from the couch. :(

What are the prospect for user-modification of the information Kroozbox displays? Can users change things by tinkering with the template files, or is it more involved than that?

Offline Nono

  • User
  • ***
  • Posts: 64
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #2 on: October 10, 2008, 02:17:37 pm »
Quote
A - B - C links are producing pages that do not filter-out "invisible" movies

Indeed it does not. I saw the "visible" column in the database but didn't understand what it implies and just didn't include it in the SQL requests. So.. the question.. what does it mean and how can you make a movie invisible? I'll update the template.

Quote
You'll need to add more means of filtering

Adding filters is easy (kind of). i'll post an update for the "unseen" filter. Maybe I can add text search functionallity!? Don't forget that this is for TV viewing. At one point it becomes too much for a TV+ remote control interface.

Quote
is it possible to change the links to the media is launched in the associated external application?
I guess it could. I though it would already do that... strange... Right now, it is build with the Popcorn Hour in mind so the tag association is declare for it but it shouldn't have any impact on a PC calling the file. I'll play with it and let you know.

Quote
Hmmm. Now that I think about it, it's definitely a browser issue—the same one that's been preventing me from browsing from the couch
Noted.. I'll keep my eye open for a solution.

Quote
What are the prospect for user-modification of the information Kroozbox displays?
Kroozbox is completely open. I need to put a real documentation together for template building and adjustment.
Example: if you open one of the template html file you will see at the beginning a <!--DBINFO ...--> tag. this is were the database request are configured for the current page and relates to the HTML content tags below. There is a bunch of commands and flags that can be set there but most of the keyword are user configurable and relate to the column that are returned.

For instance, in you desire to have only the "visible" movies when you select the "all" movie link, you could replace the line:
Code: [Select]
SELECT "mid","origtitle","title" FROM "MOVIES" WHERE "MOVIES"."epid" IS NULL ORDER BY 2 ASC by:
Quote
SELECT "mid","origtitle","title" FROM "MOVIES" WHERE "MOVIES"."epid" IS NULL AND "MOVIES"."visible" = '-1' ORDER BY 2 ASC
in A-4.html and A-6.html.

No need to restart Kroozbox after a change - just a refresh of the browser. The templates are cached but it will update automatically if there is a date change on the file.

Thanks.
Nono

Offline nostra

  • Administrator
  • *****
  • Posts: 2852
    • View Profile
    • Personal Video Database
Re: Kroozbox - PVD to media theatre solution
« Reply #3 on: October 10, 2008, 04:57:58 pm »
Quote
Indeed it does not. I saw the "visible" column in the database but didn't understand what it implies and just didn't include it in the SQL requests. So.. the question.. what does it mean and how can you make a movie invisible? I'll update the template.

Generaly you need only visible movies ("visible" = -1). Invisible movies are automatically added from filmographies.
Gentlemen, you can’t fight in here! This is the War Room!

Offline Nono

  • User
  • ***
  • Posts: 64
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #4 on: October 10, 2008, 09:09:55 pm »
Understood.

I updated the templates with "visibility" check and added the "unseen" selection.
You can grab them here:
http://rapidshare.com/files/152769799/PVDTemplate.zip

Just overwrite the existing folders (PVDTemplate-HD and PVDTempplate-SD). Also some fix of SQL requests that were not giving appropriate results.

Cheers.

Offline rick.ca

  • Global Moderator
  • *****
  • Posts: 3241
  • "I'm willing to shoot you!"
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #5 on: October 10, 2008, 09:59:17 pm »
Quote
Don't forget that this is for TV viewing. At one point it becomes too much for a TV+ remote control interface.

Yes, as one who has tried to program everything into my remote control, I understand very well. :-[  It's a very challenging design issue. It's always nice to be able to do more with a remote, but if the result is just a little less simple or intuitive, the overall result is usually negative. What you need is selection scheme (i.e., method of zeroing-in on a movie) that is quick and intuitive, and works for most collections. To illustrate the problem, consider what you have now—selection by first letter of title or by genre. In the unlikely event I remember the title, I'm still going to be unhappy about having to scroll to first letter to find it. If I select the genre, I still may have 10 pages to wade through. For me, filtering out seen movies reduces the numbers to a manageable size, but others have much larger collections.

This make break the simplicity rule, or be a nightmare to implement, but here's a thought: Provide a set of useful selection criteria, for example: title, genre, viewed, year, rating, director, movie/series. They might be presented as icons across the top of the screen. For each one, when selected, present a manageable secondary selection that will fit on screen (e.g., titles: abc, def...; viewed: unseen, seen, all; year: decades; etc). Allow them to be applied in any order, each applied to the results of the previous. If that's not complicated enough, make sure one can "back up"—that is, undo the last filter without having to start all over again.
« Last Edit: October 10, 2008, 10:10:01 pm by rick.ca »

Offline rick.ca

  • Global Moderator
  • *****
  • Posts: 3241
  • "I'm willing to shoot you!"
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #6 on: October 10, 2008, 10:34:42 pm »
Quote
I updated the templates with "visibility" check and added the "unseen" selection.

Much better, thanks, but there's still a problem... The movie count after selecting All - Newest - A - B - C is still includes the invisible movies, and the navigation arrows attempt to use that—producing blank pages. Unseen works fine.

More on filtering... This is obvious, but it just noticed now—wish list movies are included, but are not distinguished from other movies. I suppose the best way to deal with that is to provide a configuration parameter to include/exclude them.

Offline Nono

  • User
  • ***
  • Posts: 64
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #7 on: October 10, 2008, 11:21:43 pm »
Quote
The movie count after selecting All - Newest - A - B - C is still includes the invisible movies

Oops.. didn't test very well - I don't have any invisible movie. Try this and let me know:
http://rapidshare.com/files/152800975/PVDTemplate2.zip

Quote
This make break the simplicity rule, or be a nightmare to implement, but here's a thought: Provide a set of useful selection criteria, for example: title, genre, viewed, year, rating, director, movie/series. They might be presented as icons across the top of the screen. For each one, when selected, present a manageable secondary selection that will fit on screen (e.g., titles: abc, def...; viewed: unseen, seen, all; year: decades; etc). Allow them to be applied in any order, each applied to the results of the previous. If that's not complicated enough, make sure one can "back up"—that is, undo the last filter without having to start all over again.

A few checkbox accross the top ("seen", "whish", "sort by rate", "by director", "by actor"..) along with a generic search box.. ok.. I'll think about it.

Offline rick.ca

  • Global Moderator
  • *****
  • Posts: 3241
  • "I'm willing to shoot you!"
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #8 on: October 11, 2008, 07:21:09 am »
Quote
Try this and let me know

The invisible movie problem seems to be resolved.

I thought I had found another problem where a handful of movies were appearing without a title. After struggling to see a pattern, I finally realized Kroozbox was displaying the original title, and these were the movies in my database that happened to have no original title. [Not the easiest thing to spot, since PVD only displays the original title if it exists and is different than the title.] From the templates, it looks like both titles are being retrieved, but I didn't attempt to figure out if some logic was being used to decide which title to display. From my data, it seems that only the original title is used. Since an original title doesn't have to exist in PVD, I would have thought Kroozbox would use the title, and perhaps instead the original title, if it exists.

Offline Nono

  • User
  • ***
  • Posts: 64
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #9 on: October 11, 2008, 04:00:01 pm »
Quote
From my data, it seems that only the original title is used. Since an original title doesn't have to exist in PVD, I would have thought Kroozbox would use the title, and perhaps instead the original title, if it exists.

Yes... the template display the "original title" (the "name" is use as a title tag in the link but that's about it).
You could always change the <!--ORIGTITLEDB-S--> tag to <!--TITLEDB-S--> in the HTML body of all the (A,C,D,E,U)-4.html and (A,C,D,E,U)-6.html files. But I'll make an update to the template to include a search box so I'll change that also.

I'll let you know.
Cheers.

Offline rick.ca

  • Global Moderator
  • *****
  • Posts: 3241
  • "I'm willing to shoot you!"
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #10 on: October 11, 2008, 08:34:59 pm »
Here's a rationale for title use: Some movies acquire a "popular" or "common" title in addition to their official original title. PVD provides for both, but they have a broader use. Title is used in the movie list, and may be changed to anything that makes it easier for the user to find the movie (e.g., an original foreign title translated to the user's language). If used in this way, original title (if available) will be displayed in the information card. So the appropriate use in Kroozbox would be to use title on the main page—since the purpose is to find movies—and perhaps original title for the title tag. On the details page, the original title (if available) could be used instead of title—since the movie has been found.

BTW, I haven't forgotten...

Quote
I still need to do some code cleanup and mostly the documentation for configuration and templates building

...I've been able to make some changes, but it's sort of hit and miss when I don't understand what's what. It does look very organized, however, so I expect modifications will be straightforward once the documentation is done.

Offline rick.ca

  • Global Moderator
  • *****
  • Posts: 3241
  • "I'm willing to shoot you!"
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #11 on: October 11, 2008, 09:59:03 pm »
Would you happen to know if I should be able to access Kroozbox from VLC media player? I've been trying to figure that out, thinking it might provide a more realistic simulation than a browser.

Offline Nono

  • User
  • ***
  • Posts: 64
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #12 on: October 13, 2008, 05:15:45 pm »
Quote
Would you happen to know if I should be able to access Kroozbox from VLC media player? I've been trying to figure that out, thinking it might provide a more realistic simulation than a browser.

Well you can surely stream the http of a movie to VLC (open stream->put he URL of the movie as specified in the movie detail page). But to use VLC as a front end - I doubt that there is an HTML browser in VLC (???). You should be able to get VLC to be the streamer of the movie when selected from the browser/movie detail page but I am unsure on how to do that. More a OS/browser/vlc config. I tried (a little) without success. I'll give it another shoot.

Please update to version 1.1. Link:
http://rapidshare.com/files/153628498/Kroozbox1.1.zip

Added search capabilities to the front end (by actor and movie name).
I didn't change the "original title" to the "title" in the template. For me the original title is more important. You can always change it in the template of course (as describe above). However, the movie search will dig the "original title" and "title".

I'll work on the template documentation this week (I should have the time). And I'll let you know.

Thanks.
Nono

Offline rick.ca

  • Global Moderator
  • *****
  • Posts: 3241
  • "I'm willing to shoot you!"
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #13 on: October 13, 2008, 09:30:21 pm »
Quote
I doubt that there is an HTML browser in VLC

I'm sure you're right. I saw a references to it having a "UPnP client" and a "HTTP server" so I imagined it might display Froozbox, but I think it just displays files it finds in a playlist. That's rather pointless. I still need a way to make the files play in their associated player, rather than the browser (which, BTW, has the VLC plugin—which obviously doesn't help). Wait a minute! That's my problem. The VLC plugin was trying (and failing) to play the file. Now the only problem with playing a file is Firefox had to "download" it, and my virus scanner has to scan it... ::)

Quote
Added search capabilities to the front end...

The search capabilities are fine—and I'm able to work them with my remote—but they seem kind of out-of-place in a theatre interface. I suppose my bias is as indicated before—most operations should be possible with a few direction key and select/enter presses. If possible, you should increase the font size used in the search boxes to at least the same as used elsewhere. And a nice embellishment would be to not require accented characters—so "leon" finds Léon, for example.

Offline Nono

  • User
  • ***
  • Posts: 64
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #14 on: October 13, 2008, 11:43:44 pm »
Quote
And a nice embellishment would be to not require accented characters—so "leon" finds Léon, for example.

HOuuuu.. that's a tough one. I'm trying to be as generic as possible related to database access. All the SQL requested are within the templates (as you may have seen). If you look in S4 and T4 you'll see that even to get to the level where diacritics are recognize was not easy (damn.. looking at it, I just realise that I forgot to put the COLLATE UNICODE on the movie search template - S4-6 - something to fix. grr). I understand your request (and agree with it) but unless there is something in SQL that I don't know, it won't happen.

I'll try to adjust the font aspect/size for the search. My issue here is really with the media box that doesn't always respond well (or the same as the browser) to HTML syntax.

I didn't tried very hard to look at Kroozbox for a web interface for PC. I'll try to see what can be done for VLC integration.

Cheers.
Nono

Offline rick.ca

  • Global Moderator
  • *****
  • Posts: 3241
  • "I'm willing to shoot you!"
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #15 on: October 14, 2008, 01:56:04 am »
Quote
HOuuuu.. that's a tough one.

Hey, this is why I like making suggestions—I'm completely unencumbered by knowledge of how to do anything.  ;D

Quote
...unless there is something in SQL...

I believe nostra has made a similar comment about Firebird's sorting/handling of special characters, so I suspect not.


Offline Knighted

  • Member
  • *
  • Posts: 13
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #16 on: October 14, 2008, 03:50:35 pm »
thanks for the great add-on.
seems to work great with the 64-bit version of IE.  When using the 32 bit version it crashes.  My OS is the 64 bit version of vista.
I also tried installing xbmc (windows version) http://xbmc.org to try to use it under that, but it wouldn't work.   I enabled the UPnP client in the options, and then added the upnp source in the video options.  upnp://192.168.1.100:8008, but with that it'd only browse the partition where xmbc and kroozbox were installed.  Chances are I'm just not doing it right.  Can anyone else get it working with xbmc?

Offline Nono

  • User
  • ***
  • Posts: 64
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #17 on: October 15, 2008, 02:14:04 pm »
I am unsure of what you want to accomplish but is there really such a thing as a URL with this form ? :
upnp://192.168.1.100:8008. If this URL relates to Kroozbox it would be on http://192.168.1.100:8008


Sorry cannot help you more (i am not familiar enough with xmbmc).

Offline rick.ca

  • Global Moderator
  • *****
  • Posts: 3241
  • "I'm willing to shoot you!"
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #18 on: October 15, 2008, 08:23:00 pm »
Quote
I am unsure of what you want to accomplish...

So am I. It's a challenge to get my mind around what these things do and how they might be used. So I thought it might be illuminating to "try to use it under" XBMC. I wasn't able to get it working—nor was I able to understand how it might "work." Isn't the purpose of Kroozbox the same as XBMC? I could understand the idea of XBMC having a plugin to do the same thing as Kroozbox—pull data from a PVD database—but not Kroozbox "running under" XBMC.

I wonder if this is the same as me thinking Kroozbox might run (under, with?) VLC media player. Both XBMC and VLC will run web servers. But I think in both cases the only purpose is to allow them to receive remote commands—their existence should not imply any capability beyond this.

Does this make sense, or am I underestimating what something like XBMC should be able to do with a UPnP service? ???
« Last Edit: April 27, 2009, 09:58:42 pm by rick.ca »

Offline Nono

  • User
  • ***
  • Posts: 64
    • View Profile
Re: Kroozbox - PVD to media theatre solution
« Reply #19 on: October 16, 2008, 08:41:22 pm »
Update to version 1.1a done at:
http://rapidshare.com/files/154675753/Kroozbox1.1a.zip

Few small bug fix and documentation added.

Cheers.