Improving the picture viewing features in XBMC.

  Thread Rating:
  • 3 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
Robotica Offline
Banned
Posts: 1,202
Joined: Aug 2010
Post: #1
As part of GSOC 2011, improving the picture viewing features is a task that still needs to be done. This topic is ment to give an overview of the current picture viewing features of XBMC. The ultimate goal of this topic is to gather information and ideas to improve the picture viewing features of XBMC.

In general HTPC-usage scenario, picture viewing is mainly ment for local picture viewing and centralizing your pictures. Just like with video's and music. Then it could become the central hub in your house to manage and enjoy (watch/stream/publish) your (family) photo collections. At this time and in the recent past, the core team wasn't very interested in those features since the focus is on the framework in general and more specifically video playback. But, as you can read in the mentioned GSOC-wiki page, a lot of work still needs to be done.

Luckily, 2 community members (Aardvark & Gwan) stepped in and shared their work with a few essential patches/bugfixes for a better picture viewing experience:
- enables playing of videos within a picture slideshow but still some bugs...
- Video thumbnails in Picture viewmode
- Support automatic scrolling of panoramas in slideshows Not in master
- Fixed Iptc parser under 64bit linux Fixed in Eden
- Better EXIF-handling Fixed in Eden
- Problem with next and zoom
- Exiting a slideshow brings you back to where you started (first viewed) you slideshow instead of where you ended it (last viewed). Fixed
- Mouse wheel isn't working (scrolling) in slideshow (tested in Openelec with Confluence on 10.1 & git) : Fixed for Eden

Fixed in Frodo:
- A new (and faster!) JPEG-encoder: https://github.com/xbmc/xbmc/commit/1d99...6e5ef22dd6
- A thumbnail cache: Even more speed after initial browsing a folder. (for further optimization: http://trac.xbmc.org/ticket/12308 & http://forum.xbmc.org/showthread.php?tid=118967)
- localized EXIF-date: https://github.com/xbmc/xbmc/commit/d9ce...75b38d1afe (some extra skin work: https://github.com/xbmc/xbmc/pull/1020)
- problem with geotagged pictures: http://forum.xbmc.org/showthread.php?tid=106686&page=2

As a side-note, team-xbmc made some usefull fixes to the UPNP-protocol implementation in XBMC. Those fixes made sure that XBMC is utilizing the specs of the protocol better while it supports the current way the picture section works.

Altogehter, those improvements already made the picture viewing experience better from Eden and on. Still, the main problem with the current picture viewing part of XBMC is that picture viewing isn't managed from a database like with music and videos. This is known as the library feature of XBMC. Together with the GUI, this is the strongest part of XBMC but it isn't used for pictures. Besides, being not databased, picture addons become a lot more complex to add extra picture features to XBMC. Thus also for integrating with online services. In other words, the XBMC framework (including Addon Framework, JSON API, database layer (including import, export, cleaning), scraping/query mechanisms, GUi integration) doesn't fully leverage its own powers for pictures since there is no central database with metadata.

The current feature (when entering a view with thumbnails to browse folders and start a slideshow) just populate thumbnails and picture information once you enter a folder from your source. (In Frodo, a patch to cache all this will go in) This way, the database layer is skipped and the views are rendered on the fly. This makes browsing a larger (starting at 40+) picture collection rather slow due to slow thumbnail generation (there is a workaround-patch). You notice this when your scrolling through your picture collection is slower than in your video section. But more importantly, many features you would expect from XBMC, like scraping (all the meta-data from) your pictures and do some usefull things with it, aren't supported.

But also the lack of picture information (most missed: XMP-info. But also EXIF information & IPTC info is incomplete. See this example for available info.) is a great missed opportunity. Currently, metadata (only some XMP & ITPC information) is scanned from the picture when opening the folder. But the best info you could use in a slideshow, is missed (but there is a solution. The same information on which your picture management is based (see the addon mentioned below).

So there is lots of room for improvements in the picture section of XBMC.

Luckily, Solexalex developped the database backend and the queries to scrape the images. He made a great addon for this. Downside with this AddOn is that it can't easily provide the uniform way (database, Gui, JSON framework, Addon Framework and the slideshow feature) like XBMC works for the rest of your media. This means that other Addons (currently these picture addons are mostly addons that connect to online services) can not easily interact with this very important feature which isn't in the core.

That's why I think the features (database and queries) this addon provides should be part of the core of XBMC. I also think that Solexalex designed his Addon with integrating to the core in mind, from the start. Thanks to this, the AddOn could relatively easy be integrated in the current database backend (with the queries for scraping) in the core. On of the most important questions is wether this data needs to have it's database or if it should be integrated in another one.

Hopefully, this view is shared within the community and this posts may be the start of getting the picture library up and running.

But first, it would be great if some team-xbmc members and solexalex would give their opinion. What are the plans within team-xbmc related to pictures or is the team awaiting patches for those features? Does the proposed "porting-the-picture-addon-to-the-core"-approach sounds worth the effort?
(This post was last modified: 2012-11-27 21:33 by Robotica.)
find quote
Robotica Offline
Banned
Posts: 1,202
Joined: Aug 2010
Post: #2
Ps. I just noticed this pull request:
https://github.com/xbmc/xbmc/pull/508

Better metadata handling (all version off ITPC and also EXIF information)!

Even better: fetzerch has his own development branch for picture related work:
https://github.com/fetzerch/xbmc/commits...e-metadata
(This post was last modified: 2011-11-02 18:16 by Robotica.)
find quote
Robotica Offline
Banned
Posts: 1,202
Joined: Aug 2010
Post: #3
If that pull requests gets in, databasing the pictures (do sometiung useful with all the available meta data) might be the next thing? Looking at spiff comment it will get in after Eden is released..

And a few other bugs:
- Images displayed by slide-show do not fill width or height of screen;
http://trac.xbmc.org/ticket/12152
http://trac.xbmc.org/ticket/12155

Some other bugs, that needs some conformation:

- you can not exclude (via GUI settings) files from scan and/or file list views; This is important because i.e. synology NAS's creates "@eaDir" thumbnail folders which shouldn't be added to file list views.
- I can start the slideshow using 'start' button on MCE remote, but can't pause (and resume) or stop the slideshow.
- Another slideshow option: Show Data/time (info already is available by pressing 'o')
- Maybe add some options to match picture resolution to display resolution (now a picture of 3872x2592 isn't stretched to full screen (1366x768)
- should there be a keymap.xml for the slideshow? >> VDRFAN updated the keymap.xml to rotate images. but till no way to start a slideshow
- http://trac.xbmc.org/ticket/11330
- http://trac.xbmc.org/ticket/12379

Other picture-related requested and usefull features:
- Native support for PTP and MTP devices on Linux (so it's possible to directly browse from the media-device (i.e. usb connected camera or phone); appliances like openelec, Ubuntu live users and all other Linux users would greatly appreciate this feature;
- Preload more than one image during slideshow. This will greatly speedup scrolling in larger file lists views, preferable back and forward. (The number of preloaded images would ideally be set by the user via a GUI setting (at the slideshow tab in picture settings), either as an absolute number or the amount/percentage of memory used).
- Saving orientation: http://forum.xbmc.org/showthread.php?tid=115809
- Music vizualisation and slideshow integration: http://forum.xbmc.org/showthread.php?tid=68345
- View all pictures in folder when viewing from file manager

See JMarshall's suggestions: http://trac.xbmc.org/ticket/11174

Another bug, is that the random routine is not so random...
(This post was last modified: 2012-08-08 17:00 by Robotica.)
find quote
Jean-Max Offline
Senior Member
Posts: 165
Joined: Oct 2010
Reputation: 0
Location: France
Post: #4
Robotica Wrote:databasing the pictures might be the next thing?
Hello,

I just asked the actual problem of the PHOTO library not present :
http://forum.xbmc.org/showpost.php?p=924893&postcount=1

The only solution I founded to update the PHOTO library of my 4 XBMC devices is to copy the /Userdata/Database/Textures6.db file from one updated XBMC device to all others...

Thanks for all Smile

Jean-Max
- Openelec Eden Ion 2.0 X86-64 on ZBOX HD-ID11
- Openelec Eden Fusion 2.0 X86-64 on ZBOX Nano AD10
- XBMC Windows 12.3 & 13a on 3 PC W7 + 1 PC W8 64
- Skin: Modded Confluence Vol. 2
- XBMC Android X86 13a on Galaxy Tab 3 10.1
- XBMC data on NAS Thecus N7700 (7*1To, Raid 5)
- HDHomerun DVB-T netw tuner
find quote
Robotica Offline
Banned
Posts: 1,202
Joined: Aug 2010
Post: #5
Jean-Max Wrote:Hello,

I just asked the actual problem of the PHOTO library not present :
http://forum.xbmc.org/showpost.php?p=924893&postcount=1

The only solution I founded to update the PHOTO library of my 4 XBMC devices is to copy the /Userdata/Database/Textures6.db file from one updated XBMC device to all others...

Thanks for all Smile

It's good that you point out this solution to sync. to all other devices. Remember, this (textures6.db) is a thumbnailcache: http://wiki.xbmc.org/index.php?title=ThumbnailCache
find quote
Robotica Offline
Banned
Posts: 1,202
Joined: Aug 2010
Post: #6
Also I would like the opinion of some skinners on this. How do skinners think about those improvements (the database with meta data)? What functions should be provided to skinners? Are there specific views you can think for picture use?
Now, the picture information screen (press 'o' to see xx.xml) is used to show available meta information in the file view mode. This dialogue opens transparant over the picture. Most ITC information is not that interesting (but since this commit more fields on 64-bit Openelec), but once pr 508 is accepted, a lot more (and better) data will be available.
Maybe some other dialogue (transparant overlay?) could be used to present information. I'm also thinking of a sort of an OSD-screen but only used in slideshow. Here could be stored some options to overwrite the general settings:
- Amount of time to display each image
- View original picture
- Show now playing (music): popup when song changes
In the context menu, show video files in listing should overwrite the general setting for that file view/source.
find quote
Robotica Offline
Banned
Posts: 1,202
Joined: Aug 2010
Post: #7
For Linux users, a quick way of having faster thumb loading is using libjpeg-turbo. See this topic:
http://forum.xbmc.org/showthread.php?tid=106249
find quote
Robotica Offline
Banned
Posts: 1,202
Joined: Aug 2010
Post: #8
Does anyone has some links to the picture refactor, mentioned in this topic: http://forum.xbmc.org/showthread.php?tid=110639

TIA
find quote
Robotica Offline
Banned
Posts: 1,202
Joined: Aug 2010
Post: #9
Anyone?
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #10
doubt it - nobody has worked on it.
find quote
parslej Offline
Member
Posts: 93
Joined: Aug 2011
Reputation: 4
Post: #11
I'd like to have option to keep picture rotation.
When browsing pictures need everytime rotate same pictures by pressing R - shall be cfg option to save rotated img or at least remember last rotation angle...
find quote
Robotica Offline
Banned
Posts: 1,202
Joined: Aug 2010
Post: #12
parslej Wrote:I'd like to have option to keep picture rotation.
When browsing pictures need everytime rotate same pictures by pressing R - shall be cfg option to save rotated img or at least remember last rotation angle...

I saw your topic about that and added it post #3.
find quote
atv2xbmcuser Offline
Junior Member
Posts: 36
Joined: Nov 2011
Reputation: 0
Post: #13
I'd like to see the JPG/XMP star rating in the thumbnails view and I would like to be able to sort and filter the photos (e.g. for slideshow) based on the star rating.

That would be a very useful feature when you have a large collection of photos like I have.
(This post was last modified: 2011-12-07 10:35 by atv2xbmcuser.)
find quote
Robotica Offline
Banned
Posts: 1,202
Joined: Aug 2010
Post: #14
atv2xbmcuser Wrote:I'd like to see the JPG/XMP star rating in the thumbnails view and I would like to be able to sort and filter the photos (e.g. for slideshow) based on the star rating.

That would be a very useful feature when you have a large collection of photos like I have.

Yes, a database is needed for features like this. Did you try the Addon mentioned in the OP?
find quote
atv2xbmcuser Offline
Junior Member
Posts: 36
Joined: Nov 2011
Reputation: 0
Post: #15
I didn't try the addon "My Picture Database" yet, but I plan to do that. Is the addon suited for Apple TV 2-based XBMC?

In any case, I strongly support your initiative of integrating database support for pictures in XBMC core and hence allow features a like XMP star rating filering etc!
find quote
Post Reply