В условиях, когда Зелторикс забросил свой плагин, приходится мастерить свои велосипеды. (Спасение утопающих дело рук самих утопающих ) Вот обновлённая версия плагина, которым я пользуюсь сейчас. Он создан с нуля, хотя и перенял некоторые идеи из старого плагина. Плагин минималисткий. Упор сделан на функциональность. Проигрываются плейлисты ( на чём упал старый плагин). Показывает сериалы. В плагин добавлена диагностика. Есть выбор разрешения. Сделал для себя, и решил поделиться. Использую на Lubuntu 26.04.1 и Kodi 21.3. Плагин использует только публичные веб-эндпоинты Rutube. Плагин не имеет лицензии (zero license), это просто "текстовый файл с Python кодом, выложенный на форуме".
Архитектура плагина: Роутер по параметру action: search, search_channels, search_series, search_category, categories, channel, channel_menu, channel_category, channel_playlists, playlist_videos, channel_series, category_browse, feed_tabs, feed_tab, feed_resource, by_id, play, diag. Ключевые функции: - http_get_json — повторяет запрос при 429/5xx. HTTP 400 не повторяется. - fetch_batch — читает страницы по ссылке next из ответа API, пробует запасные URL, дедуплицирует, возвращает continue_page. - parse_episode_info и group_by_series — парсинг «N серия», «N сезон», «Серия N», «S01E05» из заголовка. Номера серий в API нет. - get_playlist_index и find_matching_playlists — индекс плейлистов канала, кэш на час в свойстве окна Kodi, нечёткое сопоставление с учётом сезонных плейлистов. - collect_series_episodes — запасной путь через каталог канала и поиск. - show_video_list_sorted — серии по возрастанию, фильмы от новых к старым. - list_feed_resource — разбирает три формы ответа витрины. - play_video — свойства inputstream.adaptive, настройка quality_mode: 0 = всегда 1080p (fixed-res, по умолчанию), 1 = спросить, 2 = ABR.
Проверенные факты об API RUTUBE: (неофициальный API, может измениться) - Поиск /api/search/video/ отдаёт максимум 100 результатов без страниц. - /api/video/person/{id}/ отдаёт 40 на страницу, у Фильмача около 6 страниц (≈240 видео) — это лимит Rutube, а не баг. Параметр limit=100 не соблюдается. - /api/playlist/user/{id}/ отдаёт 20 на страницу. - sort=series_d принимается у person, playlist/user и поиска, но у /api/playlist/custom/{id}/videos/ даёт HTTP 400 («invalid value of SortEnum»). Допустимое значение sort для плейлистов не найдено. - Поля видео: id, title, author{id,name}, category{id,name}, publication_ts, created_ts, thumbnail_url, duration, is_paid. - category — всего несколько общих корзин (Сериалы, Фильмы, Разное, Видеоигры, Телепередачи), жанров нет. - В play_options поля episode и season всегда null. Манифест HLS содержит качества до 1080p. - /api/tags/popular/ даёт 404. - Витрина — pangolin/api/web/feed/new_main_page: tabs → resources → абсолютные https-ссылки. Ленты сериалов — /api/metainfo/tv/{id}/video. - Крупные каналы организованы плейлистами. У Фильмача, например, «Все фильмы» — 8658 видео. Основной каталог лежит там, а не в «Все видео». - Эндпоинт поиска каналов /api/v3/search/authors взят из старого плагина и вживую не проверен. ГРАБЛИ, КОТОРЫЕ УЖЕ ВСТРЕЧАЛИСЬ Zip для Kodi собирать только через Python zipfile: одна корневая папка plugin.video.rutube, без пустых директорий и без записей-папок, затем testzip(). Иначе Kodi пишет «неправильная структура плагина». - Не использовать устаревшее свойство inputstream.adaptive.manifest_type на Kodi 21. Заголовки передавать через inputstream.adaptive.manifest_headers, не через «url|Header=value». - В fetch_batch когда-то была ошибка на единицу в continue_page, из-за которой «Показать ещё» пропускало страницу. Не возвращать её. - Группировка по заголовку — эвристика. Для полноты и порядка серий надёжнее плейлисты. ИЗВЕСТНЫЕ ОГРАНИЧЕНИЯ И ОТКРЫТЫЕ ВОПРОСЫ - Большие плейлисты показываются порциями по 100. Порядок от новых к старым гарантирован только внутри порции, потому что Rutube отдаёт плейлист в порядке автора. Для сквозной сортировки нужно найти допустимое значение sort — способ: добавить пробу в диагностику. - Возможная настройка «страниц за раз». - Часть контента может быть недоступна из-за региона, платного доступа или возраста — это не баг плагина. - Признаки смены API: пустые результаты, HTTP 400/404 на ранее рабочих запросах, новые поля в ответах.
Спасибо большое, установил поставил фильм Последний дом, на 1080 дикий тормоз, на 720 пол фильма норма к концу слайд-шоу. Не знаю причину, смотрел на enigma2 озу 1гб Процессор: двухъядерный BCM7251S kodi22. Интернет оптоволокно.
Надо смотреть диагностику. Что там пишет? Через встроенный плеер тоже тормозит? Если через встроенный плеер нормально, попробуй ограничить аппетит Kodi к ОЗУ advancedsettings.xml
Код
<advancedsettings> <cache> <memorysize>20971520</memorysize> <!-- всего 20 МБ под буфер --> <buffermode>1</buffermode> </cache> </advancedsettings>
Сообщение отредактировал edemagobi - Воскресенье, 18.10.2026, 17:34
Блин этому аппарату - на пенсии давно нужно отдыхать 2017 году был на нём у меня ресивер ... так себе удовольствие , а уж в нынешнем времени ну не знаю ... это какоето "извращение" чтото на нём тяжелое и тд крутить ...
Нечего там смотреть ! Он программно и по железу устарел уже ! Поставил у себя - показывает всё нормально без "тормозов" и как я понял ограничил "картинку" 1080p ? Без право выбора ? По сути FullHD нормально ! TV прямую трансляцию выбивает (это так к сведению) пофиг ненужна . А всё остальное работает (вроде) .
Мало понимаешь о чем говоришь. Это спутниковый ресивер 4к. Прошивка постоянно обновляется сейчас. Поддержка openpli atv egami и другими. Компиляция новейшей коди22 под платформу. В твоем посте вижу обсер и никакой инфы. Мне грустно когда встречаю таких как ты.
Мало понимаешь о чем говоришь. Это спутниковый ресивер 4к.
Да ... вот люди Broadcom BCM7251S уже морально устарел !!! Для своих функций (смотреть спутниковое ТВ) да ещё могёт .. А вот как мультимедиа центр, онлайн-кинотеатры - увы в современных реалия он уже не ТЯНЕТ !!!!!!! Это "рабочая" система - только для ТВ в наше время !!! (повторюсь( ) И не надо писать о kodi 22 и тд. Всё железо уже не тянет !!! Прикрутить можно что хочешь - вот только вопрос как это будет работать ...... зыы. И что такое enigma2 я в курсе Читайте внимательно - был у меня на этом 7251S "агрегат" . Перешил , отдал знакомому несколько лет назад , через пару лет он его спалил
Подскажи пожалуйста, как мне перенаправить воспроизведение с videoplayer на Gstplayer. строка <advancedsettings> <video> <defaultplayer>GstPlayer</defaultplayer> есть.
Если плеер не сменится, замени E2Player на GstPlayer. Тег defaultplayer в advancedsettings для этого ненадёжен, его можно убрать.
Что нужно по факту: Включить Debug logging (Настройки → Система → Ведение журнала → «Включить отладочное ведение журнала»). Запустить фильм на 1080p и смотреть минуты 2–3. Прислать kodi.log целиком. Путь у Enigma2-сборок обычно в temp/ каталога Kodi, возможно /home/root/.kodi/temp/kodi.log (не проверено). По логу я увижу, какой плеер реально выбран (строки CPlayerCoreFactory::GetPlayers) и сработало ли правило. Если откроется VideoPlayer, я сделаю плагин специально для тебя с режимом «без inputstream.adaptive». Если правило сработает, но тормоза останутся, причина в другом, и будем разбирать по тому же логу. Мой предыдущий совет про memorysize=20 МБ. Насколько помню, 20 МБ и так значение по умолчанию. Кроме того, HLS идёт через inputstream.adaptive со своей буферизацией, поэтому правка может вообще ни на что не влиять.
Сообщение отредактировал edemagobi - Среда, 21.10.2026, 10:32
Спасибо, плеер сменился после добавления строки <rule name="rutube" filename=".*rutube\.ru.*" player="E2Player" /> в playercorefactory.xml который в userdata. Есть ошибка по доступу к файлу filecache000.cache. Работает восхитительно.
Хорошо, что заработало. Лог подтверждает, что воспроизведение идёт через GstPlayer, но с одной поправкой: Я советовал player="E2Player", а в этой сборке (Kodi 22.0-ALPHA2 на Enigma2) такого плеера нет. В логе дважды стоит «no such player: E2Player» и ещё «E2Player1» из его профильного playercorefactory.xml. Реально играет встроенный GstPlayer (CGstPlayer::…). Моё имя из сниппета здесь не сработало бы. Таким образом, на Enigma2 (Kodi 22 alpha) работает только встроенный GstPlayer. Плеера E2Player в этой сборке нет, внешний плеер принимает обычный HLS-URL без заголовков, quality_mode на нём не действует.
Код
Что показывает лог: Версия плагина при воспроизведении 2.7.0 (на старте был 2.5.0, затем он обновился). Поток GStreamer берёт URL напрямую и без наших заголовков, и это сработало. Значит, плагин для внешнего плеера менять не нужно, режим «без inputstream.adaptive» не требуется. Это объясняет прежние тормоза: VideoPlayer на двухъядерном процессоре без аппаратного декодирования справляться не мог, а GstPlayer декодирует аппаратно. Чего лог не показывает: Какое именно правило или настройка выбрали GstPlayer. Debug был выключен («Disabled debug logging due to GUI setting»), строк GetPlayers нет. В advancedsettings уже стояло GstPlayer, так что часть могла дать и она. Какое качество выбрал GStreamer. quality_mode плагина при внешнем плеере ни на что не влияет. Мелочи, к плагину не относятся Addons33.db: SQLITE_CORRUPT при запуске. Базу дополнений можно удалить, Kodi её пересоздаст. Ошибки SetMute: AUDIO_SET_MUTE failed идут на каждое нажатие громкости и безвредны. Ошибка PCRE '*manifest*': в его правилах есть невалидное регулярное выражение. Нужно .*manifest.* или удалить правило. Ошибка в логе по доступу к файлу filecache000.cache. Это не ошибка плагина: строка идёт от самого GstPlayer, и на воспроизведение она, судя по логу, не повлияла. Что видно в логе В 16:21:33.044 GstPlayer создаёт pipeline и пишет путь буфера m_download_buffer_path: /tmp/kodi/filecache000.cache. В той же миллисекунде идёт ошибка «Unable to access cache file». Файла по этому пути либо нет, либо доступ к нему не получен. Через секунду pipeline стартовал (OnPipelineStart, H.264 и AAC), и фильм шёл минимум 13 минут без ошибок плеера. Каталог /tmp/kodi существует: там же лежит kodi.log и временные файлы elementum. Значит, проблема не в отсутствии папки. Чего я не знаю Исходников этого GstPlayer у меня нет, поэтому не скажу точно, что это за буфер. Похоже на файловый буфер для progressive download, который GStreamer создаёт для обычных файлов. Для HLS он, вероятно, не нужен и не создаётся. Это предположение, не факт. Что с этим делать. Пока ничего: плагин ни при чём, воспроизведение работает. Если появятся паузы или подтормаживания на длинных фильмах, тогда имеет смысл проверить во время просмотра: ls -ld /tmp/kodi (права на каталог); df -h /tmp (свободное место; на Enigma2 /tmp обычно лежит в оперативной памяти); free -m (память). Вместе с новым kodi.log с включённым Debug этого хватит, чтобы связать симптом с причиной.
Сообщение отредактировал edemagobi - Среда, 21.10.2026, 23:23