Closed matke-84 closed 5 months ago
Hi @elgatito @antonsoroko. I see you are working hard on the new update, and I am very happy about it. Elemntum has been one of my favorite addons for years. Is there any chance that this request of mine will be taken into consideration? I think it will mean a lot in the speed of opening any list. Thanks in advance.
@matke-84
If I understand correctly, this change will improve performance only for skins that use script.module.metadatautils. I checked 3 standard skins that I used (Confluence, Mimic-LR, Aeon Nox: SiLVO) - I do not see it in their dependencies. So for standard skins - maybe there will be some minor speed improvement because of smaller download size and maybe faster resize if skin uses even smaller size than the smallest size from your proposed sizes.
We use w1280 for tmdb for all image types. Not sure if it is big resolution. See https://github.com/elgatito/elementum/blob/efdcb9af863f3fca5cf63afe3c80da8249cc0ccb/tmdb/show.go#L507 for more technical details.
For fanart tv we use what they provide, since they have only 1 size. But you already know that. But unlike that tmdb helper we completely override all tmdb images with images from fanart tv if you enabled setting to use fanart tv, which makes more sense, imho.
But I think we can add simple option to change this default w1280 to different size, without changes like mixing images from tmdb and fanart tv. Personally I do not care about images, latest changes that I made were to simplify and standardize the image related code and to remove any image related discrepancies between trakt and tmdb lists (code was different , now it is the same). Thus it would be nice to have some pre-defined sizes, instead of defining out own sizes. I guess we can re-use sizes from https://github.com/jurialmunkey/plugin.video.themoviedb.helper/pull/638#issuecomment-1031073847 Does it sound ok?
@antonsoroko No. Nothing to do with metadatautils. My skin no longer uses metadatautils. The bottom line is not to use the highest resolution images when it is not necessary. Fanart images, posters and clearlogos are very often very high resolution from tmdb by default. Most skins do not need such a high resolution. This is to be noticed when you scroll through movies and tv shows, that all fanarts are displayed with delay. Images from fanart.tv serve mainly as a fallback for tmdb images because there is a much larger base on fanart.tv. Fanart.tv also offers some artwork that tmdb doesn't offer (tmdb only offers posters, fanart and clearlogo) so it is used for that as well. I see now that you downsized to w1280 but I think it was 4k for fanart some time ago. In principle, the scheme from the tmdb helper can be used. Just a note about the tmdb artworks. A lot of fanarts have text with roles, synopsis... on them and it looks very ugly. Try using it backdrop without iso_639_1 value for fanarts and backdrop with iso_639_1 value for landscape art. Unfortunately, fanart.tv is sometimes slow, but it is necessary and you have to leave it as an option when you turn on fanart.tv to display all other artworks (banners, cleararts, disk...). If I can do anything else, feel free to contact me.
@matke-84
@antonsoroko
This request requires properly rewritten Art selection. Taking in mind Trakt is not providing art at all, we first select Art from TMDB, and then if Fanart is available and configured - we overwrite TMDB Art with Fanart. And we always check for language in Fanart Arts, for any type of Art.
I don't see anything bad with implementing a proper Art selection, but this needs a good refactoring and clean setup for each Art type.
But just for "choosing size of image" - we can make simple change - set of sizes (borrowed from link i posted above) that user can select. Instead of hardcoded w1280, I mean.
But just for "choosing size of image" - we can make simple change - set of sizes (borrowed from link i posted above) that user can select. Instead of hardcoded w1280, I mean.
Yes, I support proposed setting to select quality that would translate into different sizes, depending on the type of Art. (as done in tmdbhelper)
@matke-84 please test these builds: windows x64 - plugin.video.elementum-v0.1.99-23-gd8f7ef7.windows_x64.zip android arm - https://disk.yandex.by/d/xjkApNnetlff4A
i used the following sizes:
// Original High Medium Low
ImageQualitiesPoster = []string{"original", "w780", "w500", "w185"}
ImageQualitiesFanArt = []string{"original", "w1280", "w780", "w300"}
ImageQualitiesThumbnail = []string{"original", "w780", "w500", "w185"}
you can see all available sizes here https://github.com/elgatito/elementum/pull/111
so if something does now look good - please tell me and i will change those values.
(also this build will post log messages into log file with the sizes that were used.)
Hi @antonsoroko. This is great news. First of all, thank you. I tested it. Here is my suggestion.
// Original High Medium Low
ImageQualitiesPoster = []string{"original", "w780", "w500", "w342"}
ImageQualitiesFanArt = []string{"original", "w1280", "w1280", "w780"}
ImageQualitiesThumbnail = []string{"original", "w780", "w500", "w342"}
Any resolution below w342 is too poor quality even for smaller screens. I see that you use a poster for thumbs, so that's what I wrote to you. In TMDb helper I think backdrop is used for thumbnail so it took me a while to figure it out. :-) I think you forgot about clearlogo (logo). It also supports the TMDb api. In that case, it would go like this.
// Original High Medium Low
ImageQualitiesClearLogo = []string{"original", "w500", "w500", "w300"}
This is why I mentioned that iso_639_1 is not used for fanart. It looks great for landscape thumb, but the fanart itself is pointless with this inscription. In TMDb helper how it is solved (it should be this).
https://github.com/jurialmunkey/plugin.video.themoviedb.helper/commit/e622468dadc91dcc353817223e942c3bca2348f5
Again, I'm just talking about the backdrop (fanart). I just don't know how it was solved in the elementum. I would certainly separate fanart and landscape thumbs images.
I'm here for anything you need.
@matke-84
I see that you use a poster for thumbs,
as i can see in Kodi wiki
The thumb.jpg image should only be used for episode artwork. It should not be used in any other area of the video library.
so despite the fact that we set it - it is used only for episodes, and in episodes TMDB only has "stills" (and we use that "still image" for everything in episode, see code in my PR for tmdb/episode.go
file)
in a nutshell:
Movie/Show: FanArt/Banner/Landscape = Backdrop Poster = Poster ClearLogo = Logo
Season: FanArt/Banner/Landscape = Backdrop Poster = Poster
Episode: FanArt/Banner/Landscape/Poster/Thumbnail = Still
Here is new build. Changes:
see new logic here - https://github.com/elgatito/elementum/pull/111/commits/2b7aedd93e0107750b06cfad75fc76ab0e8b816f
Download: plugin.video.elementum-v0.1.99-23-gd8f7ef7.windows_x64.zip
(tell me if you need build for different platform)
@burekas7 i guess you also might be interested in these new Art changes. at least you will not be surprised after new version will come out.
@antonsoroko First of all, thank you for the effort and time you invest together with @elgatito to improve our favorite plugin.
P.S. Speaking of episode thumbs, is it also covered by these changes, does the quality change with the settings change?
then i do not understand where is "fanart" on your screenshot?
I wrote on the picture. :-) But as far as I can see, you have taken care of it now. Thanks.
@matke-84
2.
tmdb helper uses fanart (backdrop) for thumbs in movies and tv shows.
looks like this is very specific for the skin you use. that's why i never have seen such issue. and Kodi official wiki says that thumbs is used ONLY for episodes. so looks like your skin for some reason use thumbs instead of fanart - which is incorrect, in my opinion. why? because thumbnail is basically a screenshot (that's why it makes sense only for episodes). and even this "tmdb helper" had to use a hack for this view - they set thumbs=fanart. standard skins does not use "thumbs" for movies/shows as i can see. even view called "Thumbs" in titan mod/titan bingie mod use "landscapes" but not "thumbs".
but that "Square" view in those titan skins uses thumbs.
my guess is that "Square" view was originally designed for episodes, but now you use it for movies/shows. which is not correct, imho. ideally, you should use different "views" for different video types. elementum supports that, click "Default view for ..." in context menu of any item to set default view. Also check elementum settings - bottom of appearance tab - it has all "Default view for ..." options.
but okay, i also will set thumbs=fanart. but this is a hack.
this is the result:
titan mod
titan bingie mod
P.S. Speaking of episode thumbs, is it also covered by these changes, does the quality change with the settings change?
yes. i use new "image quality settings" for everything.
you can read the code changes in PR - it is quite human readable, no need to know golang.
thanks for info! fixed.
I wrote on the picture. :-)
looks like i was mistaken about purpose of fanart and landscape. i thought that landscape must be used as background and fanart as "icon", but looks it it is vice versa. thanks.
windows https://disk.yandex.by/d/20qkkSdga6RHFA android tv https://disk.yandex.by/d/6sRgkYf8qmPxRQ
it also will log sizes and images used for different art - so if unsure about some image - you can check log file.
@antonsoroko
FanArt/Banner/Landscape/Poster/Thumbnail = Still
I think the poster when entering the episode level should show the poster of the season or the poster of the whole series if there is no season poster and not thumbs of an episode. It's like that in other plugins and it looks better.
I haven't had time to test it on Android yet, but I'll do that today, so I'll report the results. ;-)
@matke-84 1.
There must be some reason.
maybe they just do not want to explain to people why thumbnail is only for episodes :-) or they have not read Kodi wiki. or there is some old/historical reason that is obsolete now, but hacky code still exists. or there is undocumented reason. since i do not develop skins - i dunno :-)
anyway, now we also use this hack. test latest build plz.
2.
I tested with yesterday's build
please test the latest build, otherwise it is confusing to understand what is not okay from your point of view.
3.
the banners have no alternative. I would leave it as it was.
not sure what you mean. banner logic have not changed! we set banner to backdrop, and if TMDB has more backdrops - then we also do addAvailableArtwork() for banner (like for fanart and others). see current version of code here: https://github.com/search?q=repo%3Aelgatito%2Felementum+item.Art.AvailableArtworks.Banner+item.Art.Banner&type=code
and see my changes here https://github.com/elgatito/elementum/pull/111/files (search on page for item.Art.AvailableArtworks.Banner
and item.Art.Banner
)
4.
I think the poster when entering the episode level should show the poster of the season or the poster of the whole series if there is no season poster and not thumbs of an episode.
you can see the code
if episode.StillPath != "" {
item.Art.FanArt = ImageURL(episode.StillPath, fanArtQuality)
item.Art.Banner = ImageURL(episode.StillPath, fanArtQuality)
item.Art.Landscape = ImageURL(episode.StillPath, fanArtQuality)
item.Art.Thumbnail = ImageURL(episode.StillPath, thumbnailQuality)
item.Art.Poster = ImageURL(episode.StillPath, posterQuality)
item.Art.TvShowPoster = ImageURL(episode.StillPath, posterQuality)
} else {
// Use the season's artwork as a fallback
season.SetArt(show, item)
}
i think i already do exactly what you said. (and in season i have:
// Use the show's artwork as a fallback
show.SetArt(item)
)
5.
tmdb and fallback fanart.tv when there are no artwoks from tmdb - this would be good if possible with elementum also.
please create new issue about this. i have no plans to implement this feature in this PR since it is not connected to "choosing the quality of the artwork". our conversation is already diverted to TMDB->Kodi art mapping, which is also not connected to "choosing the quality of the artwork". let's keep things separated, otherwise it is hard to keep track of them and implement them without messing thing up. thank you.
P.S. The version you sent me works well on Android, all of what I have listed also happens on Android, but what is more noticeable is the difference in the speed of opening and switching between movies. We are going in the right direction. Great job so far. :-)
@antonsoroko
@matke-84
1.
So something was changed during the changes, as you can see. Kodi recognizes that it is actually a real banner and it is actually a backdrop with text
Even before this conversation I added banner, but new version was not released yet. Then during this conversation i added logo, as you requested.
But now i can see that our "fake" banners does not look good. I used backdrop as banner, but backdrop is much higher than banner supposed to be. from https://kodi.wiki/view/Artwork_types#banner
In the video library, banners are wide and short images that contain recognizable characters or props from the video and typically includes a clearly visible logo or the name of the movie, movie set or tv show.
To be clear - all 3 (1 elementum's old, 1 elementum's new, and 1 from other plugin) screenshots with banners looks bad in my opinion, since they use not a real banners.
(note about screenshots below: look at "Logan" on all my screenshots as a reference image)
If you enable fanart.tv - then you will see how it supposed to be with real banners:
Aeon Nox: SiLVO
bingie
But for TMDB the only good solution is to remove banners but keep logos:
Aeon Nox: SiLVO:
bingie
2.
It doesn't do what I mentioned.
i see now.
that's why we use comas in my language - to correctly separate phrases and make complicated thought look clear :-) i misread your message:
poster when entering the episode level should show the poster of the season or the poster of the whole series if there is no season poster and not thumbs of an episode.
as "use poster from a season/show ONLY if there is no thumbnail for an episode" :-D
right now we do this exactly, because it is faster to set all art of all episodes to "Still" image, rather than for every episode we will have to look back to season/show.
And this is how it looks with other plugins.
Does tmdb helper also set thumbnail? the view you use does not show it. Try with "bottom list" - it has thumbnail+poster+fanart.
Anyway, i did changes for episode and now we have thumbnail as episode Still, poster/fanart/landscape - taken from season/show.
Aeon Nox: SiLVO with view called "bottom list":
but i also set "available artworks" (so user can choose different art for video) via addAvailableArtwork() - e.g. i set "available fanarts" to "all backdrops" , but it looks like skin can use random image from this lists.
so now i changed logic for available artworks:
for fanarts - i take only backdrops with empty iso_639_1
,
for landscapes - i take only backdrops with non-empty iso_639_1
.
so i think now skin will always use only images w/o text for fanart (either default one or from "available arts") and only images with text for landscape.
Aeon Nox: SiLVO with view called "landscapes":
New version: windows https://disk.yandex.by/d/20qkkSdga6RHFA android tv https://disk.yandex.by/d/6sRgkYf8qmPxRQ
Changes: Do not set Banner to BackdropPath b/c of significant mismatch of needed size For tmdb episode take additional art from season/show fix for AvailableArtworks: FanArt should be without text, Landscape with text.
@antonsoroko 1.
To be clear - all 3 (1 elementum's old, 1 elementum's new, and 1 from other plugin) screenshots with banners looks bad in my opinion, since they use not a real banners.
If you enable fanart.tv - then you will see how it supposed to be with real banners:
Well, that's exactly why we need a third option, that when tmdb doesn't deliver an artwork or simply doesn't have it, such as a banner, clearart, cd... fanart.tv takes over those artworks as a fallback. :-)
Does tmdb helper also set thumbnail? the view you use does not show it. Try with "bottom list" - it has thumbnail+poster+fanart.
It shows the same as now elementum with the last version you sent me, as it should.
I'd say it's all settled now. It would be nice if someone else took a look. I have to look on android but there shouldn't be any difference. I will definitely let you know. Also, if I notice something unusual, I report it.
P.S. I noticed a small bug with the duration of the episodes, but I will make a new issue. Just take a look. And I will certainly make an issue for the third option for artwork. :-)
@matke-84
I'd say it's all settled now.
glad to hear that, b/c tbh i already tired of this Art-related things :-) thank you very much for testing!
btw, about
but what is more noticeable is the difference in the speed of opening and switching between movies.
is it on your android device? with which quality? is increase in speed really noticeable?
@antonsoroko
glad to hear that, b/c tbh i already tired of this Art-related things :-)
Come on, we just started. You know we have one more little thing. :-)
thank you very much for testing!
No, thank you very much for your time and effort.
is it on your android device? with which quality? is increase in speed really noticeable?
Yes. Xiaomi stick 4k. Nothing special. But you can really notice the difference. I set it to medium quality, you get a nice display and fast loading and especially switching between titles. I am very satisfied. That's why I said it would be nice if someone else could check.
@matke-84 i have MECOOL KM6 Deluxe, which has slightly more powerful CPU than Xiaomi Mi TV Stick 4K:
https://gadgetversus.com/processor/amlogic-s905y4-vs-amlogic-s905x4/ https://androidpctv.com/amlogic-s905y4-comparative/
see Geekbench tests. Also it has 4GB ram. (but I do not recommend to buy it, it has several annoyng issues)
but i use simple skin Mimic-LR and simple view "list" (that show image only for one selected item), because with "heavy" skin and "heavy" view - even with amlogic s905x4 and 4 GB of ram - Kodi does now work fast enough, in my opinion. you need at least cheap but modern mini-pc (with with real x86 CPU) for such workload, imho.
i tried to use "views" with images and tried low and high settings for image quality - but it is hard for me to compare, since i have not used images before - for me Kodi looks slow in any mode with images :-) but at least it looks like Kodi downloads images faster with low quality (b/c of smaller size).
@antonsoroko Ohhh it's a ferrari unlike the xiaomi stick 4k. :-) In general, Kodi is a bit heavy for weak devices. As you said, especially with skins that are a little heavier. All in all, I can feel the difference with the new settings. It just takes less time to download a smaller image, so it also affects performance.
@matke-84
Ohhh it's a ferrari unlike the xiaomi stick 4k. :-)
Nvidia Shield is a Ferrari :-) even after all these years. But the price is too high, imho.
Anyway, i hope this change will make elementum experience a bit more pleasant.
As the title says, it would be very good if this possibility existed. It's not just about the visuals, but it has a lot of influence on the speed of creation of the list. I participated in the improvement of the tmdb helper and the implementation of this option. You have a link with the discussion. The plug-in fen, which has a similar purpose as an elementum, also has this option and works fast as lightning. Currently, elementum pulls artwork of the highest quality, which affects performance, and it is especially pronounced on android devices and custom skins. Tmdb api supports this feature, fanart does not. But you can also do a combination of artwork from tmdb and fanart. Read the discussion a bit when you have time. I think you will be surprised at the difference in performance. 😉
https://github.com/jurialmunkey/plugin.video.themoviedb.helper/issues/617 https://github.com/jurialmunkey/plugin.video.themoviedb.helper/pull/638