Update library to separate files after video??

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
DJVege Offline
Donor
Posts: 231
Joined: Jan 2009
Reputation: 2
Question  Update library to separate files after video??
Post: #1
Thought I'd post a thought I had up for discussion.

One issue with exporting your library to separate files so that the info is stored with the media files is that you need to do this regularly or it will be out of sync.

What about an option whereby after watching/listening to media (whether you stop it halfway or finish it), xbmc will write the data to the separate file there an then. What delays/speed issues might implementing this introduce? Obviously xbmc will be updating the database AND be writing this out to file(s). If it does introduce speed issues / delays, is it possible to run it in a separate thread so that the user can continue to use xbmc?

I see possible issues with starting and stopping multiple files in quick succession (depending on how long updating the library and external files might take)....

But anyway, thoughts?

...DJVege...
HTPC: G840 + GT430 + 2GB RAM + 30GB SSD
Remote: iPad/iPhone + iRule + USB-UIRT // FireFly RF Remote
Software: XBMC Eden + Eventghost + Win7
find quote
AnalogKid Offline
Fan
Posts: 648
Joined: Feb 2009
Reputation: 141
Post: #2
(2012-04-06 06:32)DJVege Wrote:  Thought I'd post a thought I had up for discussion.

One issue with exporting your library to separate files so that the info is stored with the media files is that you need to do this regularly or it will be out of sync.

What about an option whereby after watching/listening to media (whether you stop it halfway or finish it), xbmc will write the data to the separate file there an then. What delays/speed issues might implementing this introduce? Obviously xbmc will be updating the database AND be writing this out to file(s). If it does introduce speed issues / delays, is it possible to run it in a separate thread so that the user can continue to use xbmc?

I see possible issues with starting and stopping multiple files in quick succession (depending on how long updating the library and external files might take)....

But anyway, thoughts?

I can see merit in this, but:

I think XBMC's fundamental philosophy is that the database is king. The NFO files are an aid to scraping / importing and useful for export, but there are 'supplemental' to core XBMC and that you already have the lastest information saved and stored... in the database. There's nothing to 'sync' with.

All of that said, I suspect I'm a little like you:
I don't trust the database. I wipe it regularly. I treat my NFO files as master! I keep my fan art and my thumbs in the highest resolution I can and let XBMC 'pull them' from my media. So ideally, I'd like my NFO files always up to date. This really is kinda like treating the NFO files as the database! (which is wrong).

The reason I behave this way (as many others do) is that I'm never 100% sure WHAT xbmc is going to do with my files. If I scrape a movie cover, I don't always know what resolution that image is, and I can't be sure of what XBMC will do to the image file if I 'export' my image files... will it reduce the resolution? will it re-encode an already lossy jpg?... I just don't know. So I download the covers myself (or with other tools). This makes me feel in control of my media and I just let XBMC 'read it' (never write it).

Until XBMC can overcome my fears, I'm not going to change my behaviour!
find quote
isamu.dragon Offline
Posting Freak
Posts: 974
Joined: Feb 2009
Reputation: 7
Location: T.A.R.D.I.S.
Post: #3
(2012-04-07 01:41)AnalogKid Wrote:  
(2012-04-06 06:32)DJVege Wrote:  Thought I'd post a thought I had up for discussion.

One issue with exporting your library to separate files so that the info is stored with the media files is that you need to do this regularly or it will be out of sync.

What about an option whereby after watching/listening to media (whether you stop it halfway or finish it), xbmc will write the data to the separate file there an then. What delays/speed issues might implementing this introduce? Obviously xbmc will be updating the database AND be writing this out to file(s). If it does introduce speed issues / delays, is it possible to run it in a separate thread so that the user can continue to use xbmc?

I see possible issues with starting and stopping multiple files in quick succession (depending on how long updating the library and external files might take)....

But anyway, thoughts?

I can see merit in this, but:

I think XBMC's fundamental philosophy is that the database is king. The NFO files are an aid to scraping / importing and useful for export, but there are 'supplemental' to core XBMC and that you already have the lastest information saved and stored... in the database. There's nothing to 'sync' with.

All of that said, I suspect I'm a little like you:
I don't trust the database. I wipe it regularly. I treat my NFO files as master! I keep my fan art and my thumbs in the highest resolution I can and let XBMC 'pull them' from my media. So ideally, I'd like my NFO files always up to date. This really is kinda like treating the NFO files as the database! (which is wrong).

The reason I behave this way (as many others do) is that I'm never 100% sure WHAT xbmc is going to do with my files. If I scrape a movie cover, I don't always know what resolution that image is, and I can't be sure of what XBMC will do to the image file if I 'export' my image files... will it reduce the resolution? will it re-encode an already lossy jpg?... I just don't know. So I download the covers myself (or with other tools). This makes me feel in control of my media and I just let XBMC 'read it' (never write it).

Until XBMC can overcome my fears, I'm not going to change my behaviour!
Ditto, plus you never know when XBMC may corrupt your database (Hasn't happened to me since Babylon). And like you I keep all my images locally, so that they are uniform throughout my network.

[Image: all-thin-banner@2x.jpg]
XBMC Server/Client:
Database Type: MySQL
OS: WIN7 64-Bit/XBMCbuntu CPU: i7/Intel Atom (Dual Core)
GPU: Nvidia GeForce GTX 760/Nvidia GeForce GT 520M RAM: 16GB/2GB (512MB GPU)
XBMC Version: Gotham/XBMCbuntu Gotham
find quote
Bstrdsmkr Offline
Posting Freak
Posts: 803
Joined: Oct 2010
Reputation: 17
Post: #4
A service addon could do this, and I doubt you'd notice the performance impact. The addon would listen for the onPlaybackStarted event. When it hears that event, sleep for 30sec (to reduce the possibility of stacking up a bunch of threads for stop/starting in quick succession), then write the info out during playback.
find quote
DJVege Offline
Donor
Posts: 231
Joined: Jan 2009
Reputation: 2
Post: #5
My thinking was it serves as a great backup in case your database gets corrupted; in case an upgrade fails and you have to start your library from scratch; in case you want to move to a centralised database etc... You will always be able to get your database back via an "Update library".

...DJVege...
HTPC: G840 + GT430 + 2GB RAM + 30GB SSD
Remote: iPad/iPhone + iRule + USB-UIRT // FireFly RF Remote
Software: XBMC Eden + Eventghost + Win7
find quote