Об этом проекте
Freyr — это инструмент командной строки для скачивания музыкальных треков из стриминговых сервисов. Получив URL или короткий URI из Spotify, Apple Music или Deezer, он извлекает метаданные трека (название, исполнитель, альбом, номер трека/диска, дата выпуска, ISRC, лейбл, авторские права, обложка и другое), затем обращается к аудиоисточникам, таким как YouTube Music, для поиска подходящего аудио, скачивает исходный файл, кодирует его в Apple AAC (.m4a) с настраиваемым битрейтом (96–320 кбит/с, по умолчанию 320k), встраивает метаданные и обложку альбома и организует вывод в структуру каталогов ARTIST/ALBUM/TRACK.
Поддерживаемые типы запросов включают треки, альбомы, исполнителей и плейлисты. Пакетное скачивание возможно путём передачи нескольких запросов в качестве аргументов или через входной файл (-i/--input), где каждая строка является запросом, а # обозначает комментарии. Подкоманда urify преобразует URL сервисов в короткие URI, совместимые с freyr, и обратно.
К заметным опциям относятся выбор битрейта, параллельное скачивание фрагментов (-n/--chunks), количество повторных попыток, пользовательский каталог вывода, проверка других каталогов на наличие существующих треков (-D), именование и размер обложки или её отключение, порядок предпочтения источников (youtube, yt_music, с ! для исключения), фильтры метаданных, настройка параллелизма для каждого этапа (queries, tracks, trackStage, downloader, encoder, embedder), флаг gapless-воспроизведения, принудительная перезапись, генерация плейлистов (m3u8) с опциями для каталога, добавления, экранирования и префикса пространства имён, код страны storefront, отключение древовидной организации, управление каталогом кэша, размер кэша в памяти, сетевой тайм-аут, переключатели аутентификации и запуска браузера, стили индикатора прогресса и явный путь к бинарному файлу AtomicParsley.
Установка доступна через npm (npm install -g freyr) или Yarn, из исходного кода или через официальные образы Docker (freyrcli/freyrjs) с документированной командой docker run и примером псевдонима. Требования включают Python >= 3.2, Node.js >= 16 и AtomicParsley >= 20230114. В README отмечено, что YouTube Music должен быть доступен в регионе пользователя, поскольку исходное аудио берётся оттуда. Проект имеет лицензию и включает проверки CI, оценку CodeFactor, значки загрузок npm и Docker, а также ссылки для пожертвований.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.