После более года разработки состоялся релиз открытого медиацентра Kodi 21.0, ранее развивавшийся под именем XBMC. Медиацентр предоставляет интерфейс для просмотра Live TV и управления коллекцией фотографий, фильмов и музыки, поддерживает навигацию по телешоу, работу с электронным телегидом и организацию видеозаписи по расписанию. Готовые установочные пакеты доступны для Linux, FreeBSD, Raspberry Pi, Android, Windows, macOS, tvOS и iOS. Код проекта распространяется под лицензией GPLv2+.
Изначально проект был нацелен на создание открытого мультимедийного плеера для игровой приставки Xbox, но в процессе развития трансформировался в кросс-платформенный медиацентр, работающий на современных программных платформах. На базе Kodi развивается около десятка коммерческих телеприставок и несколько открытых ответвлений (Boxee, GeeXboX, 9×9 Player, MediaPortal, Plex).
Из интересных функций Kodi можно отметить:
- Поддержка широкого спектра форматов мультимедийных файлов и средств аппаратного ускорения декодирования видео;
- Поддержка пультов дистанционного управления;
- Возможность проигрывания файлов по FTP/SFTP, SSH и WebDAV;
- Возможность удалённого управления через web-интерфейс;
- Наличие гибкой системы плагинов, реализованных на языке Python и доступных для установки через специальный каталог дополнений;
- Подготовка плагинов для интеграции с популярными online-сервисами;
- Возможность загрузки метаданных (текстов песен, обложек, рейтинга и т.п.) для имеющегося контента.
- Осуществлён переход на использование основной кодовой базы FFmpeg, вместо поддержания своей отдельной копии, что даёт возможность использовать предоставляемые дистрибутивами пакеты с FFmpeg и
значительно упрощает переход на новые версии FFmpeg в будущем (в Kodi 21.0 поставляется FFmpeg 6.0.1). - Добавлена поддержка метаданных расширенного динамического диапазона (HDR10).
- Добавлена поддержка изображений в формате AVIF. Улучшено воспроизведение видео в формате AV1.
- Стабилизирована поддержка доступа к внешним хранилищам с использованием протокола NFSv4.
- Улучшена поддержка экосистемы Retroplayer, предоставляющей средства для запуска ретро-игр в окружении на базе Kodi. Добавлено новое окно Player Viewer с настройками устройств ввода и параметрами открытия игр (например, можно определить мёртвые зоны на экране).
- Из базовой поставки по умолчанию убрана тема оформления Estouchy, которую желающие могут загрузить отдельно.
- В теме оформления Estuary переделан диалог управления воспроизведением.
- Добавлена поддержка чтения и записи списков воспроизведения в формате M3U8. Обеспечена поддержка использования символов UTF-8 в списках воспроизведения.
- Повышена эффективность работы с кэшем для ускорения загрузки изображений и обложек альбомов.
- В режиме PVR (просмотр Live TV, прослушивание интернет-радио, работа с электронным телегидом и организация видеозаписи по расписанию) добавлена возможность сортировки групп каналов по разным критериям. Добавлена опция для выставления таймера добавочной записи в 2 минуты.
- Улучшена совместимость с официальными приложениями для умных телевизоров при навигации и отображении информации с использованием UPnP. Добавлена возможность обработки умных списков воспроизведения (smart playlist) через UPnP. Добавлена настройка для запрета синхронизации громкости при подключении к устройству через UPnP.
- Диалог для управления избранным содержимым (Favourites) заменён на отдельное окно.
- В контекстное меню элементов, находящихся в списке “Избранное”, добавлены отдельные элементы из исходного контекстного меню “избранное”.
- Добавлена возможность выбора действия при запуске воспроизведения (например, можно выбрать продолжение воспроизведения с прерванной позиции).
- Изменён интерфейс окна навигации для телетекста.
- Налажен автоматический поворот видео на основании имеющихся метаданных.
- Предоставлена возможность загрузки собственных шрифтов, размещённых в каталоге skins/fonts. При показе субтитров добавлена поддержка коллекций шрифтов в формате “.ttc”.
- В настройки Settings > Services перенесены параметры кэширования, добавлена возможность изменения настроек буферизации и определения размеров блоков для NFS и SMB. В настройки “Services / Caching / Read Factor” добавлен режим адаптивного кэширования, при котором объем читаемых данных определяется в зависимости от уровня заполненности кэша (при пустом кэше читается меньше данных).
- Изменён метод заполнения буфера, который теперь учитывает нагрузку на CPU (для систем со слабым CPU минимизирвоано влияние на производительность кода для заполнения буфера).
- Разрешена навигация c переходом сразу от музыкантов к композициям, минуя альбомы (по аналогии со Spotify).
- В JSON-RPC добавлены команды для изменения скорости воспроизведения и вызова хранителя экрана.
- Добавлена поддержка использования клавиш PageUp, Down, Home и End при перемещении по спискам.
- В версии для Android обеспечено определение контента, закодированного с использованием Dolby Vision и HDR10, добавлена настройка для остановки работы при сворачивании приложения (для экономии энергопотребления). Добавлено возможность конвертации контента в формате Dolby Vision в типовые форматы для воспроизведения.
- В сборках для Linux улучшена поддержка мультимедийного проигрывателя Pipewire и добавлена поддержка форматов для проброса звука DTS-HD и TrueHD. Для разбора информации EDID и определения возможностей подключённого экрана задействована библиотека libdisplay-info. Улучшена поддержка аппаратного ускорения формата VP9 с использованием VAAPI. Добавлен параметр командной строки “–gl-interface=”, который может принимать значения glx, egl и egl-pb.
- Для определения температуры CPU на устройствах, подобных Raspberry Pi, задействован sysfs-интерфейс cpu_thermal (/sys/class/hwmon/hwmon*/name:cpu_thermal)
- Для Linux и FreeBSD добавлена опция “–audio-backend” для выбора звукового бэкенда во время запуска из командной строки.
- В версии для Windows добавлены настройки баланса яркости HDR/SDR. Добавлена возможность привлечения API DXVA2 для аппаратного ускорения декодирования видео AV1. Повышена производительность доступ к внешнему контенту при помощи протокола SMB. Для систем с GPU Nvidia RTX и Intel ARC добавлена поддержка механизма “Video Super Resolution”. Для XBox добавлена поддержка HDR10.
- В версии для macOS вместо вывода через SDL задействован новый режим “Native windowing”, использующий родные для macOS возможности управления окнами. Улучшена работа в многомониторных конфигурациях. Добавлена поддержка API для распознавания речи. Обеспечена поддержка экранов с высокой плотностью пикселей (HiDPI).
- В сборки для webOS добавлена поддержка webOS 4, обеспечена поддержка использования хранителя экрана и предоставлена возможность перевода приложения в спящий фоновый режим вместо выхода. Добавлена возможность вызова операций перезагрузки и завершения работы. Добавлены раскладки клавиш для пультов дистанционного управления.
- Минимальные требования к версии Windows подняты до Windows 8.1, а к macOS до 10.14.
- Добавлена поддержка сборки с использованием Python 3.12.