I know this is fundamental shift in the design of MB and is not a trivial task. But, from my own experience with MB, it would be a welcome change with everyday use.
Please let me explain.
What I AM asking is that you separate the metadata full refresh and library validation from the Media Browser UI at startup and move it to it’s own console app that can be scheduled to run in the background.
Clone the current logic just as it is, decouple it from the UI and move it to a new app. An option to the config file could be added with the default being that MB behaves exactly how it does now. Manual refreshes via the keyboard or remote should not change in behavior or functionality, only the initial startup refresh should be cloned/moved. File and Directory watchers should still behave as they do now as well.
Essentially, with this new option enabled Media Browser will only be reading from the cache, leaving all back-end processing such as validation and imagecache generation to the new app. I'm sure there are many “enthusiasts” here that would disagree that this change is even needed. I think the discussion on CacheAllImagesInMemory hints that it is acceptable to require fairly beefy hardware to use MB comfortably. I respectfully disagree. Personally, I believe that simply moving the Full refresh and validation to a service will allow MB to be very very fast on moderate hardware and maybe even solve some problems with cache corruption.
Let the UI portion of MB do what it does EXTREMELY well…display my media. And, leave all the heavy lifting to a console app.
-Sinjen
Yerp, this has actually been approved for a while :) I just need some time to get to do it.
While I agree that this is a good design goal (and moving to a service will open up a lot of other possibilities), I don’t believe it will achieve any increased performance given the same hardware.
Sam, please correct me and explain if I'm wrong about that…
To me, this is the #1 feature that would make the biggest impact. Media Browser has always been a bit laggy with my folder of thousands of media. Having it as a service will make a dramatic difference.
This is THE EXACT feature I've been wishing for since, well, the very moment I started using MediaBrowser. You got my “Wish-Star”.
This would be a welcomed addition. I have recently upgraded to a 64 bit system and 8gb of ram to host the cache on a ram drive. But once built I had to navigate through the entire library to get it to populate (at considerable time).
Obviously the system would take the same amount of time/resources to do this either way, but it would be nice to have an automated way to force everything to re-load.
Thumbs up.
Somehow I missed this post. Might just have to pull a wish for this one!
i think this is a Pretty Big Deal.
I've just been pondering over the possibility of something, just out of personal interest really. Would it be possible for me to disable the collection refresh code in a personal build off of the trunk? I haven’t looked at the code and I'm in work right now but I'd like to see just how quick it would be without the media management side of things.
My idea would be to run the trunk, get my caches all sorted and then uninstall and install my custom trunk, which should just use what I have in the caches? I realise this is a niche request but I'm interested to see the benefits if it is indeed possible.
I make this my last wish.
When can we expect more info about how and when?
Maybe this would be a good time to look at making this change with the next version?
As a new user of Media Browser, I am kind of shocked that my video’s don’t appear right away. I'm moving from a PS3 based Media Center to a full blown HTPC. I am running an i5 750 with 4GB of ram, and a Solid State Harddrive (A bit over-blown for a HTPC, but I have other uses for it if needed).
I'm quite surprised that my 650GB worth of Television and Movies takes about 15 minutes to ‘fully’ be viewable after I open up media browser. This data is “right there” (local media data from MCM) and should be viewable very very soon after restart…
I deal with a lot of software at work that need to keep meta data in sync. The reality is, anything that “Pulls” has performance issues in some way. The only systems that really work well get a “Push” for the data saying it has changed. This is difficult (if not impossible) for some software to complete.
Ideally it would refresh a directory only when it sees the change date is different (I know this isn’t always reliable in all versions of windows, so that’s a show stopper)
If we could resolve this issue, then I think it’s near a perfect product. I have a few more days of evaluating it before I donate… but I think all the developers have done a great job so far.
Swapped a wish over for this… This would by far make MediaBrowser perfect for me…
Would be great if the WebService could hook into this instead of only running when media browser is running… Then the MediaBrowser-RC plugin would work without mediacenter needing to be running…
Definitely definitely will be leaving my wish on this one
Sam just posted a wonderful little utility for performing a library refresh externally from Mediabrowser. You can find it here Oh no, my meta data refresh process is all stuck
-Sinjen
Does anyone think this might be useful if created as an oData provider?
If so, the mediabrowser library could power a lot more than just the MCML in MediaCenter. Perhaps even players for Mobile devices (smartphones, etc).
I think this would be a great addition to the program as a whole, but I personally would probably have to disable it.
A fairly big chunk of my media is on an external drive. I only turn it on when using media browser, so I assume using this (i.e. having it rebuild when my external drive is turned off) would remove all the external drive’s items from the media browser cache, right?
Noticed that this is updated to complete – I presume that is code complete??
Any idea when we can expected this wish to be released?
Thanks
Do I understand it right? One will have the choice to run library validation as a service on request (or scheduled)? Does this mean that if you have your media on a network share which is for whatever reason not online, and if you have this service set off, one could still enter MB and scroll through the media library because all is loaded from the local cache and no validation takes place, unless requested?
I def. need this new option. I think it will solve my current issue when loading MB. I wanted to show my support for MB and this fix, and donated yesterday.
I assume that this isn’t in the latest 2.2.9 release. When is the projected date?
Thanks for such a great program guys.
Hi
Using Draco Beta and love this service … thanks :–)
I'm running MCE on a dedicated server directly connected (HDMI) to my flatscreen TV. This connection is using a account without password to make it MCE remote controll & family friendly. Draco was installed using this account.
When accessing my server (using remote desktop connection) I notied that Service tray icon can’t be seen nor configured!
Is there any way that service icon could be visable and accessable from any user/session?
Mittaa,
You can easily set a password for the account that logs in and just have it auto-login upon startup.
Please have a look at this article for a how to. I do this on my dedicated HTPC’s and it works very very well.
Regards,
-Sinjen
Sinjen,
I would like to make it a bit more clear :–)
The “MB” account is a dedicaded account used for accessing MCE using TV remote control only (no keyboard). When server starts my children/wife can log in without using a password. This session is nearly always running and can’t be accessed using RDP! This is how I want it to be and its working fine.
When I need to do anything else but using MCE, i'm used to run a second session using RDP and another account (password protected). In this way I don’t have to interupt my family if they are watching a movie. Unfortunately I can’t access and configure MB service from this “administrative” session.
OK no big deal … but it raise two questions:
Who triggers service/tray application startup? Is it on machine level (any user) or a destinct user?
The first user who starts MB or the Configurator will cause the service app to load in that user’s session.
With your configuration, you will not be able to access (or run) the service app because it will be running in another user’s session and we restrict it to one instance for the whole machine. It would be no different than if, say, that user was running MS Word. You would not be able to see or interact with that instance of Word either. The difference here, is we won’t let you run it again in your user space.
ebr,
OK I think i get it now :–)
Service tray icon can only be seen by the session that was run first. So two concurrent sessions (A and B) running on same machine would be no problem :–)
So am I right in thinking that this service will run through the process which usually starts when you start MB before you actually start MB? I currently turn my HTPC on and go make a cup of tea, come back and go in to MB which then takes around a minute to load up. Would this service change to turn HTPC on, make cup of tea, go in to MB which loads straight away? Up until recently I was using a ramdrive to make the process quicker, if this saves me from having to set up the ramdrive again (the trial expired) then I'll gladly donate again :)