Service based multimedia desktop
Open, Needs TriagePublic

Description

Description

KDE already has the awesome Akonadi for PIM, extend this concept to other areas, like multimedia, ebooks...

Inspired by the tvshows kioslave from the age of Nepomuk [1], and Kodi: imagine setting a content type for a directory (such as tvshows, movies, music, ebooks...), and a backgroud service automagically parses information from files, as well as fetch additional metadata from various sources, and stores it locally.
This database would then be available through an API, making the implementation of a Media Center, or any multimedia application as simple as creating models/views over stored data, and of course playing, but there is Phonon for that...
This could also allow easy services like Ampache, DLNA to be implemented on top of the same data.

This description could be summarized as "rip out all indexing infrastructure out of media players, and put it on top of Baloo"
Don't reinvent the wheel, reuse existing infrastructure, like Kodi scrapers.

What it will take

Extend the baloo indexing service to index multimedia files, and fetch/save more metadata.
Add an accessor library to the data.
Coordinate with the Kodi project, and reimplement parts as standalone.

How we know we succeeded

Multimedia players only need to implement a UI, the database is provided by the service.
Dolphin can browse tv shows, movies, ebooks, and show relevant metadata.
Plasma Media Center. ?

Relevant links

[1] https://trueg.wordpress.com/2012/02/11/season-posters-anyone/

I am willing to put work into this

bednar. -- mainly the kodi scraper implementation. I already have a PoC.

I am interested

  • add your name
bednar created this task.Jun 14 2019, 1:34 PM

I'm afraid I don't actually understand what's being proposed here. :)

ervin added a subscriber: ervin.Jun 23 2019, 12:31 PM

I'm afraid I don't actually understand what's being proposed here. :)

I do think I suspect what it's about, and that could turn out interesting. I strongly advise putting more work in wording and detailing that proposal though. As Nate's reaction indicates otherwise it might be overlooked by most people when the time comes to evaluate it.

Hi,

Thanks for the ping, haven't had time to reword yet.

bednar updated the task description. (Show Details)Jun 23 2019, 8:46 PM

I would be very interested to hear more about your plans. You also may discover that Baloo already provides a lot in the area of multimedia files database.

Thanks for the clarification, @bednar! I think everything you're asking for at this point is more or less already available though, right? Baloo indexes multimedia files and makes detailed metadata available via the KFileMetaData framework. Application developers can use these existing tools to access that data and build media players with a custom UI. In fact @mgallien's Elisa music player already does all of this.

Can you clarify what it is you would like to see done beyond that? It is just your Kodi idea? If so, I would recommend that you focus on doing that, and I'm not sure how much sense it makes to have this as an official, overarching KDE-wide goal.

One more thing: "only need to implement a UI" may be underestimating the tremendous difficulty of this endeavor. :) It's not something you just throw on top of a data source over a weekend. Even with a robust data source (which we already have), writing a UI that users actually want to use is challenging and time-consuming.

mgallien added a comment.EditedJun 25 2019, 1:12 PM

In fact, if you want to access web services to get multimedia data, there are no frameworks to do it. Plasma Media Center has a lot of those components. They could serve as a good way to bootstrap such a framework.
In order to have pervasive integration of DLNA or ChromeCast, there are no easy pervasive solution in KF5 frameworks.
A KDE wide goal could be to add such support to many KDE applications.

@ngraham "Only need to implement a UI" was meant as "would not need to worry about indexing and databasing"

I think that about a third or half of what I am proposing is already available. The idea is to add external data sources. Currently music is indexed, along with tags from the files. What I propose is to extend this indexed data with data from the internet (Such as band members, description etc), and to do this by using already existing (GPL) grabbers, instead of running KDE's own.
I know of libvalhalla, which is unmaintained (http://libvalhalla.geexbox.org/), and Kodi.

Where this could really shine is with video files: There is almost no metadata in video files, so the concrete idea is this:
A folder is marked as containing movies, a video file is added to a folder, based on filename, it tries to get more information (actors, plots...) from the scrapers, and indexes this. This happens in a background process. Elisa could get a "Movies" section, "just" by adding a new Baloo query.

The DLNA/Chromecast was more of an example of potential clients for the indexed data. I'm not thinking about concrete application support, but about a potential background service -- possibility of headless server. A kind of ui-less Elisa.
Leaving this link here:https://www.lesbonscomptes.com//upmpdcli/libupnpp-refdoc/refdoc/html/index.html

So would it be accurate to say that this goal involves creating frameworks allowing abstract access to remote multimedia files (pictures, streaming video, etc), and then integrating these into KDE apps?

If so, which KDE apps do you envision would benefit from this feature, and how?

lydia added a subscriber: lydia.Jul 19 2019, 9:56 AM

I think we need to move this proposal a bit more away from a specific solution towards an aspiration. How are we going to make the world better? What stories are we going to be able to tell once it is done?

lydia added a comment.Aug 3 2019, 3:58 PM

Are you going to adapt the proposal based on the comments so we can have it ready for the voting in 1.5 weeks? (Please move it to the appropriate column when ready.)

lydia assigned this task to bednar.Aug 3 2019, 4:07 PM
lydia added a comment.Aug 13 2019, 8:50 PM

Quick reminder that there are two days left before the voting starts. Please make any changes you still want to make soon and let's move it to the ready for voting column.

@bednar Sadly this wasn't ready in time, the idea was nice...

[spam comment removed by sysadmin]