Skip to content

Latest commit

 

History

History
59 lines (47 loc) · 4.41 KB

File metadata and controls

59 lines (47 loc) · 4.41 KB

Lite Music Player (LMP)

Легковесный десктопный клиент YouTube Music для Windows. Написан на .NET 10 и Avalonia UI. Главная цель проекта — экстремальная оптимизация ресурсов (CPU/RAM/Сеть). В отличие от официального PWA и Electron-клиентов, LMP потребляет в среднем 235 МБ RAM (в свернутом виде падает до 180 МБ).

⚡ Под капотом

  • Свой аудио-пайплайн: Отказ от LibVLC. Используется связка NAudio + Concentus (Opus) / SharpJaad (AAC) с ручным управлением PCM-буферами.
  • Умный стриминг: Треки грузятся чанками с упреждающим чтением. Мгновенный старт без ожидания полной загрузки.
  • Агрессивный кэш: Двойное кэширование (RAM + Диск) аудио, изображений и результатов поиска.
  • YT-Bypass: Встроенные C#-дешифраторы sig и n-token, обход bot-detection через ротацию клиентов (Android VR, Web, iOS).
  • Offline-First БД: SQLite + EF Core с поддержкой полнотекстового поиска (FTS5).

🛠 Текущий статус (Март 2026)

Проект в активной разработке. Базовый фундамент готов, идет наращивание UI-фич.

Что уже работает:

  • Воспроизведение треков напрямую с серверов YouTube
  • Многопоточное кэширование аудио и обложек
  • Поиск по базе YT Music и локальной библиотеке
  • Управление плейлистами с ютуба и локально
  • Авторизация через Google Cookies (SAPISID)
  • Двусторонняя синхронизация лайков и плейлистов
  • История прослушиваний (Recently Played)
  • Мониторинг памяти и управление GC

🗺 Roadmap (Ближайшие планы)

Статус Фича Описание
🔄 Радио (Mixes) Генерация бесконечного плейлиста "Похожее" на основе текущего трека.
📅 Глобальные хоткеи Управление плеером в фоновом режиме.
🚀 Эквалайзер Базовый 5-полосный EQ (интеграция в пайплайн NAudio).
🚀 Импорт плейлистов Парсинг и перенос ссылок из Spotify/Apple Music.
🚀 Главная страница с рекомендациями Персонализированная подборка треков, альбомов и артистов (Как любимый Youtube Music).

🔧 Сборка и запуск

Требования:

  • Windows 10/11 (x64)
  • .NET 10.0 SDK

Быстрый старт из консоли:

git clone https://github.com/Scream034/LMP.git
cd LMP
dotnet run --project LMP.csproj -c Debug

Скрипты сборки (в корне проекта):

  • build.bat debug — обычная сборка с Hot Reload.
  • build.bat optimized — Debug-сборка с оптимизациями компилятора (для тестов производительности).
  • build.bat release — релизная сборка.
  • build.bat publish — собирает Portable-версию (Self-Contained) в папку publish и пакует в .7z (не требует установленного .NET на ПК).
  • build.bat clean — очистка bin / obj.

📜 Заметка разработчикам

Если вы хотите помочь с разработкой или протестировать аудио-пайплайн: В Debug конфигурации нажмите F9 для открытия окна отладки (состояние кэшей, принудительный GC) или F10 для запуска интеграционных тестов дешифраторов без UI.