Open AKotov-dev opened 1 year ago
Приветствую!
Изначально, в API сервера возвращает ссылки на постеры в низком разрешении. Строка кода
return self._item_info['poster'].replace('thumbs/w220', 'orig')
выполняет подмену части ссылки, чтоб всегда использовался постер в оригинальном разрешении.
Ваши изменения в коде приводят к тому, что все постеры выводятся в низком разрешении.
Возможно постер в высоком качестве просто долго подгружается, из-за этого он у Вас не отображается.
Попробуйте в модуле код функции
def get_poster(self):
return self._item_info['poster'].replace('thumbs/w220', 'orig')
заменить на код
def get_poster(self):
from .web import Filmix
api = Filmix()
poster_url = self._item_info['poster'].replace('thumbs/w220', 'orig')
if not api.url_available(poster_url):
poster_url = self._item_info['poster']
return poster_url
Это изменение добавить проверку на доступность постера. Если по какой-то причине постер в высоком качестве не доступен, будет использоваться постер в низком качестве.
Благодарю. Сейчас применил изменения. Эффект такой, что теперь категория "Фильмы" открывается с паузой ~2 мин (у меня скорость канала 6Мбит/Сек), а после открытия - как и прежде: какие-то постеры отображаются (в хорошем качестве), а какие-то замещены черной картинкой с кинокамерой, т.е. не отображаются. Видно, что он пытается его показать (присутствует пауза, т.е. он куда-то там лазает), но такое ощущение, что по причине того, что не может смасштабировать полученное, соответственно не может и запихать его в правый фрейм (не знаю, как правильно назвать часть окна, где размещается постер Коди).
Скорей всего, KODI просто не успевает подгрузить картинку. Попробуйте сделать получение постеров только низком качестве, установив функцию с кодом
def get_poster(self):
return self._item_info['poster']
Все постеры будут в низком качестве и должны будут быстро прогружаться
Большое спасибо, так заработало. :) Пожалуй так и оставлю.
Мой "крутой" медиа-центр - это компьютер с P4, возрастом около 17 лет + пульт от старого TV. К нему уже привык и готовлю "слепки ОС" со всем предустановленным и обновлённым софтом на виртуалке на другом компе, затем обычным способом ставлю с флешки. Недавно 2 дня обновлял OpenSSL-3.0.9, Python-3.9 и GCC-12.3, а то Kodi Nexus не собирался, сейчас всё работает. Странно то, что на виртуалке нет таких проблем с постерами. Теперь подозреваю, что проблема тянется от железа.
Ок. В любом случае я очень Вам признателен за помощь. Желаю успехов Вам и Вашим замечательным проектам.
С уважением, Алексей
Давно хотел в настройку добавить пункт с выбором качества постеров, но руки никак не доходили. Будет повод
Мой "крутой" медиа-центр - это компьютер с P4, возрастом около 17 лет + пульт от старого TV.
Зачем над собой так издеваться, когда можно купить X96Max Plus Ultra за $35, поставить на него CoreELEC и радоваться жизни. Маленький, не шумит, экономит электроэнергию.
купить X96Max Plus Ultra
А как же получить удовольствие? Ведь согласитесь, - куда интересней заменить взорванные электролиты в обвязке процессора, обновить термопасту, кулеры, перепрошить биос, спаять ик-приёмник, повесить его на com-порт, настроить lirc с пультом и собрать нужный софт из исходников? Впрочем, вероятно Вы правы - это тоже на любителя. Но за совет спасибо, обязательно воспользуюсь (в перспективе). :)
Здравствуйте, vlmaksime. Похоже, что проблема была в этом:
Kodi version updates
From v18, the 1920x1080 resolution limitation has been removed. Using the following code in your advancedsettings.xml
will allow caching artwork at original size.
Оказалось, что нужно создать файл ~/.kodi/userdata/advancedsettings.xml
<advancedsettings version="1.0">
<imageres>9999</imageres>
<fanartres>9999</fanartres>
</advancedsettings>
...и перезапустить Kodi. Теперь постеры масштабируются так же, как в предыдущих (до v18 включительно) версиях.
Уже обновился до Kodi-v21.0a2-Omega
. Полёт нормальный.
Полезные ссылки:
Kodi version updates
)Library artwork
)Благодарю Вас за консультацию.
С уважением, Алексей
Здравствуйте, уважаемый vlmaksime. Большое спасибо за Вашу работу над плагином Filmix. Если это не слишком обременит Вас, хотел бы обратиться к Вам за консультацией...
Начиная с Kodi-19-Matrix и в Kodi-20-Nexus некоторые постеры/обложки у меня не отображаются. C питоном я не работаю, однако по следам Ваших изменений я предпринял скромную попытку выяснить, в чем дело и в качестве эксперимента исправил для себя кое что здесь:
~/.kodi/addons/plugin.video.filmix/recources/libs/listitems.py
Заменил return self._item_info['poster'].replace('thumbs/w220', 'orig') на return self._item_info['poster'].replace('thumbs/w221', 'orig') или на return self._item_info['poster'].replace('100', 'orig')
...и тогда все постеры отображаются, хотя и с низким качеством, поскольку масштабирование в этом случае не работает. Но главное - обложки отображаются все, если присутствуют в источнике.
Другие плагины, например seasonvar постеры кажут верно.
Разрешение экрана моего TV - 1360x768, карта NVidia GeForce-6200 AGP/SSE2, Linux Mageia-6.1_i586, Python-3.9.
Вопрос: Как правильно масштабировать постеры в моём случае? Спасибо.
С уважением, Алексей