Mopidy — расширяемый музыкальный сервер с открытым исходным кодом, написанный на языке Python. Проект разработан как фоновый демона, который управляет воспроизведением аудиоконтента и предоставляет API для клиентских приложений. Основная идея заключается в отделении логики воспроизведения и управления библиотекой от пользовательского интерфейса: Mopidy запускается на сервере или одноплатном компьютере и принимаeт команды от различных клиентов по сети.
Базовая функциональность включает воспроизведение локальных аудиофайлов и сетевых потоков, индексацию музыкальных коллекций и управление очередью воспроизведения. Система поддерживает модель расширений: дополнительные модули добавляют источники контента (например, облачные и стриминговые сервисы), форматы, трансляцию в другие устройства и пользовательские интерфейсы. Благодаря архитектуре плагинов Mopidy часто используется в домашних аудиосистемах, медиасерверах и интеграции с домашней автоматизацией.
- Архитектура сервер/клиент: демон для воспроизведения и сетевые API для удалённых клиентов.
- Расширяемость: плагины для добавления новых источников контента, форматов и интерфейсов.
- Поддержка локальных файлов: индексирование и воспроизведение аудиоколлекций на диске.
- Потоковое воспроизведение: поддержка интернет-радио и потоков по URL.
- Интеграция со стриминговыми сервисами: реализуется через официальные и сторонние расширения.
- API и протоколы: обеспечивает WebSocket/HTTP API и совместимость с различными клиентами и контроллерами.
- Управление очередью и плейлистами: добавление, перемещение и сохранение треков в очереди воспроизведения.
- Кроссплатформенность: работает на Linux и других Unix-подобных системах, часто разворачивается на одноплатных компьютерах.
- Сообщество и открытый исходный код: развитие за счёт вклада сообщества и доступность исходников для модификации.