LINUX.ORG.RU

Funkwhale 1.0

 , , , subsonic,

Funkwhale 1.0

3

3

Проект 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.

>>> Подробности

★★★★★

Проверено: alpha ()
Последнее исправление: alpha (всего исправлений: 23)

Ответ на: комментарий от question4

Только аудио.

За видео и стримингом уже лучше смотреть в сторону PeerTube, где, например, сейчас тоже выходят подкасты.

commagray ★★★★★
() автор топика
Последнее исправление: commagray (всего исправлений: 3)

протокол федеративной сети ActivityPub.

Пора уже и к ЛОРу поддержку ActivityPub прикрутить, а то что-то не в тренде.

cocucka ★★★★☆
()
Ответ на: комментарий от anonymous

Этот анон шарит в классической музыке.

cocucka ★★★★☆
()
Ответ на: комментарий от cocucka

А вот это вот было бы БОНБА! Уже жду такой фичи.

ChekPuk ★★★
()

Не нашёл упоминания webtorrent. Это осознанное решение или просто пока не реализовали данную возможность?

ugoday ★★★★★
()
Ответ на: комментарий от ChekPuk

А зачем оно там?

  1. Чтобы не разорить владельца сервера внезапно нахлынувшей популярностью.

  2. Чтобы, в случае если вы ломанулись на сервер из примера выше, вы смогли насладиться музыкой, а не хрр-хрр-тыр-тыр-глинка-глинка-хррр-пщщ.

ugoday ★★★★★
()

А есть что-нибудь подобное, но написанное на чистой сишечке или хотя бы плюсах — ну чтобы минимизировать ресурсы и зависимости?

// Против проекта ничего не имею, каждый пишет на чём умеет.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Есть реализации Subsonic-совместимых серверов на Go, например, gonic и Navidrome. Но они, конечно же, без федерации по ActivityPub и с меньшей функциональностью. То есть, аналогов Funkwhale сейчас нет, увы.

commagray ★★★★★
() автор топика
Ответ на: комментарий от hobbit

Потому что activepub начал становиться хоть как-то известным вот совсем недавно, где-то после стандартизации мозиллой.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от hobbit

Я подобный стример на расте написать хочу, потому что funkwhale - неповоротливый бегемот которого на дешёвой VPS толком не запустить.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от parar

raspberry 1 потянет

Написанное на python 8-0 Не смешно дац

anonymous
()
Ответ на: комментарий от hobbit

А есть что-нибудь подобное, но написанное на чистой сишечке или хотя бы плюсах

вам шашечки или ехать?

dummy ★★
()
Ответ на: комментарий от hobbit

каждый пишет на чём умеет

есть такое понятие в софтваростроении - целесообразность. можно и лыжи, стоя в гамаке, надевать - после соответсвующей тренировки, тоже, вполне, реализуемо и, даже, имеет смысл, если уже потратил пол-жизни на приобретение навыка коньки стоя в гамаке надевать, дабы, приобретенный с таким трудом, навык не утратить.

dummy ★★
()
Последнее исправление: dummy (всего исправлений: 9)
Ответ на: комментарий от dummy

есть такое понятие в софтваростроении - целесообразность

согласен, есть компании, которые руководствуются иными правилами, чем техническая целесообразность. что с них возьмешь - гуманитарии. когда денег больше, чем у дурака махорки, можно все.

dummy ★★
()
Последнее исправление: dummy (всего исправлений: 1)

Это что, свободный спотифай?

Wizard_ ★★★★★
()
Ответ на: комментарий от dummy

Так хотелось набросить, что начал разговаривать сам с собой? Опоздал, мне @commagray уже ответил по делу и без дешёвой клоунады.

hobbit ★★★★★
()
Ответ на: комментарий от tolstoevsky

О, спасибо за работающий пример, я даже Ambient Symphony на телефоне запустил.

А нет возможности задать приветственную надпись в соответствующем падеже? Или там жёсткий шаблон «Добро пожаловать на $sitename$»?

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

Там пока превод сырой, с падежами, думается, разберутся позже.

tolstoevsky
()
Ответ на: комментарий от tolstoevsky

Сколько терабайт своей свободной музыки я могу загрузить туда

anonymous
()
Ответ на: комментарий от Rinaldus

Отличия, наверное, только в том, что можно подписаться на музыку с других серверов, в Python вместо Java, и возможности анонимам слушать аудио (в Subsonic-серверах, насколько я помню, обязателен логин). Возможности у Funkwhale скромнее, и не все Subsonic-клиенты с ним адекватно работают.

Если у тебя уже собранная библиотека на Subsonic, наверное, не стоит. Хотя у Funkwhale бóльший потенциал развития.

commagray ★★★★★
() автор топика
Ответ на: комментарий от hobbit

Так хотелось набросить, что начал разговаривать сам с собой?

лор не дает редактировать сообщение по истечении определенного периода. а вы со своими фантазимями тут как тут.

dummy ★★
()
Ответ на: комментарий от dummy

Ну в таких случаях пишут не «согласен», а «также», «кроме того» или даже «забыл написать». Согласие с самим собой — это что-то из другой оперы.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

там было продолжение мысли и я подобных правил нигде не встречал. учту в следующий раз, когда буду отвечать вам, дабы не вводить вас в заблуждение и не принуждать к фамильярности и оскорбительным комментариям.

dummy ★★
()
Последнее исправление: dummy (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.