Funkwhale 1.0

Материал из InnerEq.org
Перейти к навигации Перейти к поиску
Funkwhale 1.0.png

Проект Funkwhale выпустил первую стабильную версию. В рамках инициативы развивается свободный сервер, написанный на языке Python с использованием фреймворка Django, для размещения музыки и подкастов, прослушивание которых доступно с помощью веб-интерфейса, клиентов с поддержкой Subsonic API или родного Funkwhale API, и с других экземпляров Funkwhale, используя протокол федеративной сети ActivityPub.

Взаимодействие пользователя с аудио происходит с помощью библиотек и каналов: библиотеки — это коллекции из нескольких артистов со случайно созданным UUID в качестве адреса, а канал — дискография какого-то одного исполнителя, которому задаётся человекочитаемый адрес; каналы могут быть полезны для публикации подкастов. Работа с подписками похожа на таковую в другом проекте — PeerTube: вы можете подписаться как на пользователя, так и на его отдельно созданные каналы. Так как сервер работает по протоколу ActivityPub, подписаться возможно с других популярных реализаций, вроде Mastodon и Pleroma.

После создания библиотеки или канала появляется возможность загружать музыку. Файловое хранилище для неё может быть как локальным, так и удалённым, используя встроенную поддержку файловых систем на протоколе Amazon S3. Загрузить можно любой файл популярного формата, без дополнительного перекодирования и потери качества (что, например, делает PeerTube, который тоже поддерживает загрузку аудио). Funkwhale считывает встроенные в файлы музыкальные метаданные и обложки, а в случае их отсутствия выдаёт ошибку. Поэтому пользователям рекомендуется использовать MusicBrainz Picard для записи правильных тегов перед загрузкой. Также доступен интерфейс редактирования метаданных после загрузки, работающий в виде ревизий с видимой историей изменений.

Из уже загруженной музыки в библиотеки и каналы можно составлять плейлисты, радиостанции и помечать треки избранными. Удалённые пользователи смогут запросить доступ к вашей библиотеке или каналу, просто вставив ссылку на неё в поисковую строку своего сервера. Анонимные пользователи смогут слушать музыку из веб-интерфейса, если это разрешено в настройках сервера. Зарегистрированные локальные пользователи могут получить доступ ко всей музыке сервера без использования веб-интерфейса, зайдя через любой клиент с поддержкой Subsonic API — ещё одного музыкального сервера, ныне под проприетарной лицензией, с параллельно развивающимися ответвлениями старой кодовой базы под свободной лицензией, — или родного Funkwhale API, например, Otter для Android.

Клиенты также могут запросить у сервера транскодированную версию треков (например, из FLAC в MP3 с меньшим битрейтом, требующую меньше интернет-трафика).

Возможна подписка на RSS-ленты, например, на уже упомянутые подкасты.

Из изменений в этом выпуске:

  • минимально требуемая версия Python поднята до 3.6;
  • ломающие совместимость изменения в клиентском API;
  • прекращение поддержки JSON-токенов (JWT) в пользу OAuth;
  • улучшенный алгоритм генерирования превью для обложек;
  • в веб-интерфейсе добавлена кнопка для импорта музыки из файловой системы сервера;
  • появилось отображение количества скачиваний треков и альбомов;
  • новая страница поиска;
  • кнопка «играть» на треках и альбомах теперь заменяет очередь, а не добавляет треки в неё;
  • поддержка скробблинга с помощью Last.fm API v2.