UPnP standardization for artwork
#16
(2015-02-25, 09:02)Montellese Wrote: Checkout https://github.com/xbmc/xbmc/blob/master...l.cpp#L266 (for video items) to see where certain properties are stored.
  • Year is embedded in dc:date
  • Premiered is stored in dc:date if set (otherwise Year is used)
  • Mpaa is stored in upnp:rating (whereas Rating is stored in xbmc:rating)
  • Studio is stored in dc:publisher

The others are really missing. Country should be easy to add but stream details might be a bit more difficult.

Thanks. By far the most work will be with the MB team to get these fields added. I just know that we will spend two months getting it all working, announce it, and have the first user say 'wah - the floor display of codec is missing' Big Grin
Reply
#17
Montellese,

Can you provide an example of how the artwork is encoded in a single field?

I imagine it is something like:

banner:banner.jpg,poster:poster.jpg ..?

Thanks,
xnappo
Reply
#18
(2015-02-25, 19:27)xnappo Wrote: Montellese,

Can you provide an example of how the artwork is encoded in a single field?

I imagine it is something like:

banner:banner.jpg,poster:poster.jpg ..?

Thanks,
xnappo

It's one tag for every artwork (similar to how other multi-value properties are serialized in the UPnP specification) i.e.
Code:
<xbmc:artwork type="poster">path/to/some/poster.jpg</xbmc:artwork>
<xbmc:artwork type="fanart">path/to/some/fanart.jpg</xbmc:artwork>
...
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
#19
Okay - I see. Thanks a lot.
Reply
#20
I have started working up a mapping for this for the MediaBrowser API here:

https://docs.google.com/spreadsheets/d/1...sp=sharing

The two main things lacking right now are art and the ability to resume. I think we have the art information we need now.

If 'lastPlayBackPosition' and 'Duration' - looks like both should be 'time in seconds' - are set correctly will resume in fact work?

Finally - can you possibly provide a Didl example? Would really help to see the resulting format.

Sorry for all the questions - really appreciate your help!

xnappo
Reply
#21
(2015-02-26, 17:06)xnappo Wrote: I have started working up a mapping for this for the MediaBrowser API here:

https://docs.google.com/spreadsheets/d/1...sp=sharing

The two main things lacking right now are art and the ability to resume. I think we have the art information we need now.

If 'lastPlayBackPosition' and 'Duration' - looks like both should be 'time in seconds' - are set correctly will resume in fact work?

Finally - can you possibly provide a Didl example? Would really help to see the resulting format.

Sorry for all the questions - really appreciate your help!

xnappo

A few comments on your spreadsheet:
  • For dc:date checkout http://www.w3.org/TR/NOTE-datetime
  • upnp:genre is not a single string that is concatenated. You add one element per genre.
  • upnp:episodeNumber is an integer calculated by "season * 100 + episode" but that will change in the future
  • upnp:lastPlaybackPosition is the resume position in seconds
  • upnp:playbackCount can be bigger than 1
  • res represents a resource and has several attributes
  • xbmc:uniqueidentifier is an identifier used by scrapers to identify an item so e.g. an ID from TVDB or from IMDB

I can try to get you a DIDL example but you should really look into the UPnP ContentDirectory specification.
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
#22
Thanks. The reason I asked him to request an example is because that's the best way to reduce the amount of question and answering we'll have with you. For example, for the images, my first question was, what formats and sizes do you want, e.g. should i just render original image info, or do you want url's for different formats like jpg, png, etc to give the renderer options, as well as different size options. Things of that nature.
Reply
#23
Montellese FYI - I am one of the developers of the Kodi MediaBrowser Addon - so I am familiar with the Kodi Python API and the MediaBrowser API. Luke is the primary developer of the MediaBrowser server - so he has the upnp expertise.

Thanks for your comments - the playbackCount comment was in relation to the MediaBrowser API translation as it only has the concept of watched/not watched.

xnappo
Reply
#24
OK here's a small DIDL response to a request for some movies: http://pastebin.com/JYX1qtTT
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
#25
Thanks a lot for taking on this development. It feels you are up to some grand here. This initiative may grow way beyond Kodi and MBS. I would love to believe that in the future, even the Sonys of the world will follow the specifications. A few thoughts / questions:

1) I love that the MBS team is starting to follow the Kodi convention for fanart et al. In a related thread, there was the idea to publish a proposed new convention in the UPNP forums. Is this still an option and would this require to take out some of the XBMC words from the code? If so, how much work will it be to later change these things in MBS?

2) Will this initiative also allow to translate watch-states from Kodi back to MBS?

3) How far are things from integrating UPNP into the Kodi local library. Not asking for an ETA, but curious whether there is worth to invest into skin MODs like the one here (http://forum.kodi.tv/showthread.php?tid=160603&page=2) or just to wait some more time and collaborate (MBS/Kodi) on a local library integration?


Yet again, I am sure that this will become a big deal. With MBS as server and Kodi as UPNP-integrated client, we have the full integration of the two, which stands very strong against alternative server/client solutions.

Thanks again guys!!!
Server: Asus Sabertooth Z77 | Intel Core i5 3.4 GHz | 16 GB DDR3 | 128 GB SSD, 82 TB (9 x 6 TB, 7 x 4 TB)
HTPC 1: Raspberry Pi 2 | HTPC 2: Raspberry Pi 2 | HTPC 3: Raspberry Pi
Reply
#26
Montellese, thanks for the info.

Steve1977 - we will have to see where things go. It would be nice if the expanded data made its way back to the upnp spec.
Reply
#27
(2015-02-28, 06:19)steve1977 Wrote: 3) How far are things from integrating UPNP into the Kodi local library. Not asking for an ETA, but curious whether there is worth to invest into skin MODs like the one here (http://forum.kodi.tv/showthread.php?tid=160603&page=2) or just to wait some more time and collaborate (MBS/Kodi) on a local library integration?

I was/am working on a lot of other stuff for the next release so I decided to not pursue getting the media import stuff ready for the next release but I will pick it up once I have more or less finalized all the other stuff I'm working on.
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
#28
Hi Montellese,

Does refID get translated into something I can get at from xbmc.getInfoLabel('ListItem.foo')?

Thanks,
xnappo
Reply
#29
refID is a UPnP specific property. You should really take a look at the UPnP specification. That way you get answers directly without having to wait for me to respond.
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
#30
Right now, our AddOn uses the MediaBrowser API to create listitems in the normal addon fashion. One of the listitem properties we set is the MediaBrowser item id. A background service monitors the currently selected list item, and determines appropriate item backdrop rotation based upon that.

MediaBrowser sets the uPnP ID field with the itemID on the MediaBrowser server. If you are making the ID available in the listitem, I can use the same code to provide rotating art when browsing through UPnP instead of the AddOn.

I should mention I asked Luke is MediaBrowser was setting the MB ID - and he said 'yes the regular uPnP id'. After looking at the spec I see there is 'refID' and 'ID'. In your code I see only refID being used - so perhaps the ID I would need isn't available.

xnappo
Reply

Logout Mark Read Team Forum Stats Members Help
UPnP standardization for artwork1