Если поиск в XBMC (ныне Kodi) не находит фильмы, которые точно есть в медиатеке, или выдаёт устаревшие результаты, первое, что стоит проверить, — целостность базы данных медиатеки: именно из неё, а не напрямую с диска, плеер берёт результаты поиска. Файлы MyVideos.db и MyMusic.db — это сердце всей библиотеки, и большинство проблем с поиском сводится к рассинхронизации этой базы с реальным содержимым папок.
В этой статье разберём, как устроена база данных Kodi, где она лежит на разных платформах, как работает встроенный поиск и что делать, если результаты поиска не соответствуют действительности. Инструкции даются в общем виде: точные пути и пункты меню могут отличаться в зависимости от версии программы и операционной системы, поэтому при расхождениях сверяйтесь с документацией вашей сборки.
Что такое база данных медиатеки XBMC/Kodi
Когда вы добавляете источник видео или музыки, Kodi сканирует файлы и записывает метаданные (название, год, жанр, актёров, обложки) в локальную базу данных формата SQLite. После этого интерфейс библиотеки и поиск работают уже с базой, а не с файловой системой — поэтому библиотека открывается быстро, даже если диск с фильмами сейчас недоступен.
Отсюда следует важное следствие: если вы добавили или удалили файлы вручную, мимо сканирования, база об этом не узнает. Поиск продолжит показывать удалённое и игнорировать новое, пока вы не обновите библиотеку через соответствующий пункт меню.
- 🎬 MyVideos — база фильмов, сериалов и клипов;
- 🎵 MyMusic — база музыкальной коллекции;
- 🖼️ Textures — кэш обложек и миниатюр;
- 📺 отдельные базы могут создавать некоторые дополнения и PVR-клиенты.
Где хранятся файлы базы данных
Расположение папки пользовательских данных зависит от платформы. Обычно базы лежат в подкаталоге Database внутри профиля пользователя Kodi. Типичные пути выглядят так (у вас они могут отличаться в зависимости от версии и способа установки):
| Платформа | Типичный путь к профилю |
|---|---|
| Windows | %APPDATA%\Kodi\userdata\Database |
| Android | Android/data/org.xbmc.kodi/files/.kodi/userdata/Database |
| Linux | ~/.kodi/userdata/Database |
| macOS | ~/Library/Application Support/Kodi/userdata/Database |
Имя файла обычно содержит номер версии схемы, например MyVideos119.db — цифра меняется от версии к версии программы. Это нормально: при обновлении Kodi может создать новую базу и мигрировать данные из старой.
⚠️ Внимание: перед любыми действиями с файлами базы закройте Kodi и сделайте копию папки Database. Удалённая без резервной копии база восстанавливается только полным пересканированием библиотеки, а ручные пометки «просмотрено» будут потеряны.
Как работает поиск в Kodi
Глобальный поиск доступен из главного меню библиотеки: он ищет совпадения по названиям фильмов, сериалов, эпизодов, исполнителей и альбомов, хранящимся в базе. В некоторых скинах поиск вынесен в отдельный пункт, в других вызывается иконкой лупы. Дополнения (плагины) имеют собственный поиск внутри себя, который к локальной базе отношения не имеет.
Если поиск находит не всё, проверьте три вещи: добавлен ли нужный каталог как источник, был ли он просканирован в библиотеку и не отфильтрованы ли результаты текущим представлением (например, «только непросмотренные»).
Почему поиск не находит файлы: типичные причины
Самая частая причина — файлы лежат в папке, которая не добавлена как источник или добавлена без сканирования в библиотеку. Второй по частоте сценарий — сканер не смог распознать файл из-за нестандартного имени: если название не содержит года или не совпадает с записью в онлайн-каталоге, элемент может попасть в базу с ошибкой или не попасть вовсе.
- 🔍 источник добавлен, но не просканирован в библиотеку;
- 📝 имя файла не распознано скрапером (нет года, лишние символы);
- 🗂️ файл находится в исключённой папке или имеет неподдерживаемый формат;
- 🔄 база рассинхронизирована после ручного удаления файлов.
Для диагностики откройте раздел «Файлы» вместо библиотеки: если там файл виден и воспроизводится, а в библиотеке его нет — проблема именно в сканировании или распознавании, а не в доступе к диску.
Обновление и очистка библиотеки
Чтобы привести базу в соответствие с реальным содержимым дисков, используются две штатные операции. Обновление библиотеки сканирует источники и добавляет новые элементы. Очистка библиотеки удаляет из базы записи о файлах, которых больше нет на диске. Оба пункта находятся в настройках медиатеки; точные названия зависят от версии и локализации.
☑️ Порядок восстановления поиска
Если обновление и очистка не помогают, возможна порча самой базы. В этом случае осторожный путь — при закрытой программе переименовать файл базы (например, добавить суффикс .bak) и запустить Kodi: будет создана чистая база, которую нужно наполнить полным пересканированием. Исходный файл сохранится как резервная копия.
⚠️ Внимание: не редактируйте файлы базы сторонними SQLite-редакторами, если не понимаете структуру таблиц. Ручное изменение связей между таблицами может сделать базу нечитаемой для Kodi, и программа начнёт аварийно завершаться при обращении к библиотеке.
Как узнать, что база повреждена
Типичные признаки — Kodi зависает при открытии библиотеки, поиск выдаёт пустой результат при полном списке файлов, в журнале (kodi.log) появляются ошибки SQLite. Журнал лежит в корне папки пользовательских данных и открывается обычным текстовым редактором.
Расширенные возможности: общая база для нескольких устройств
Если Kodi установлен на нескольких устройствах в доме, локальные базы можно заменить общей сетевой на сервере MySQL/MariaDB — тогда библиотека, статусы просмотра и результаты поиска будут одинаковыми везде. Настройка выполняется через файл advancedsettings.xml в папке пользовательских данных, где указываются адрес сервера и учётные данные.
Это уже продвинутый сценарий: он требует постоянно работающего сервера и одинаковых версий Kodi на всех устройствах, поскольку разные версии могут использовать разные схемы базы. Перед настройкой изучите официальную документацию проекта и убедитесь, что готовы поддерживать такую конфигурацию.
<advancedsettings>
<videodatabase>
<type>mysql</type>
<host>адрес_сервера</host>
<name>MyVideos</name>
</videodatabase>
</advancedsettings>
Профилактика проблем с базой и поиском
Чтобы поиск оставался точным, достаточно соблюдать несколько простых привычек. Добавляйте новые файлы через обновление библиотеки, а не рассчитывайте, что они появятся сами. Держите имена файлов в едином понятном формате с годом выпуска. А перед обновлением версии Kodi делайте копию папки userdata — это страхует и базу, и настройки.
Также полезно периодически запускать очистку библиотеки, особенно если вы часто перемещаете или удаляете файлы. Регулярная очистка — единственный штатный способ убрать из поиска «мёртвые» записи о несуществующих файлах.
Частые вопросы
Почему поиск находит фильм, но он не воспроизводится?
Запись осталась в базе, а файл с диска удалён или диск недоступен. Запустите очистку библиотеки — запись исчезнет из результатов поиска.
Можно ли перенести базу на другой компьютер?
Да, если версии Kodi совпадают и пути к файлам на новом устройстве такие же. Иначе проще пересканировать библиотеку заново на новом месте.
Чем отличается поиск в библиотеке от поиска в дополнениях?
Поиск библиотеки работает по локальной базе ваших файлов. Поиск внутри дополнений обращается к онлайн-источникам конкретного плагина и к базе Kodi отношения не имеет.
Удалится ли база при обновлении Kodi?
Обычно нет: программа мигрирует данные в новую версию схемы. Но перед крупным обновлением резервная копия папки userdata настоятельно желательна.
Где смотреть ошибки, если библиотека не обновляется?
В файле журнала kodi.log в папке пользовательских данных. Там видно, на каком файле или источнике сканирование остановилось и с какой ошибкой.