Перейти к основному контенту
2026-10-30PureStreamЕженедельный отчётСканирование библиотекиSubsonic

Еженедельный отчёт о разработке PureStream за октябрь: Быстрое сканирование медиатеки и стабильное удалённое воспроизведение

В этом месяце в PureStream оптимизировано сканирование огромных библиотек, обеспечена совместимость со сторонними клиентами Subsonic, обновлён веб-интерфейс домашнего сервера и усилена безопасность удалённого доступа. Повторное сканирование библиотеки на 47 500 треков в установившемся режиме занимает около 0,9 секунды, а загрузка каталога на 10 000 треков ускорилась с примерно 1,3 секунды до около 40 миллисекунд.

Еженедельный отчёт о разработке PureStream за октябрь: Быстрое сканирование медиатеки и стабильное удалённое воспроизведение

В течение октября команда PureStream сосредоточилась на оптимизации сканирования крупных медиатек, совместимости со сторонней экосистемой, обновлении веб-интерфейса домашнего сервера и повышении безопасности удалённого доступа. Для ценителей музыки первостепенное значение имеют плавное управление обширными коллекциями и стабильное прослушивание в любое время и в любом месте.

⚡️ Прорыв в скорости сканирования: Быстрая инвентаризация и бесперебойное добавление больших библиотек

При работе с массивными коллекциями на внешних механических жёстких дисках большой ёмкости (например, 10 ТБ и 500 000 треков) прежний алгоритм сканирования при повторной сверке глубоко считывал каждый файл по отдельности, вызывая сильный трэшинг диска и долгое ожидание.

В этом месяце мы полностью переработали архитектуру сканирования музыкальной библиотеки:

  • Мгновенный пропуск неизменённых файлов: В сканирование внедрено сопоставление по быстрому пути (fast-path). Если размер файла и время его изменения совпадают, система сразу пропускает файл: без повторного открытия, без перечитывания аудиотегов и без пересчёта цифровых отпечатков.
  • Существенное сокращение времени сканирования: В тестовой среде скорость сканирования медиатек объёмом в десятки тысяч треков заметно выросла (фактическое время зависит от оборудования и числа файлов):
Масштаб библиотеки и сценарий Время после оптимизации (ориентир) Производительность и ощущения
47 500 треков повторное сканирование (steady-state) около 0,9 с Завершается практически мгновенно, избыточные обращения к диску почти отсутствуют
32 000 треков первичное сканирование около 65 с Анализ аудио стал легче и быстрее
47 500 треков первичное сканирование около 3 мин Чтение и запись выполняются стабильно и упорядоченно на протяжении всего процесса
  • Предсказуемая обратная связь о ходе процесса: Страница сканирования в реальном времени отображает количество обработанных, доступных к воспроизведению и ошибочных треков, а также ориентировочное оставшееся время. При подключении нескольких папок чётко указывается «Музыкальная папка N из M». Для файлов с ошибками поддерживается предпросмотр и классификация, а состояние процесса можно отслеживать прямо из системного трея.
  • Исправление сбоя завершения для огромных каталогов: Ранее в сверхкрупных единых каталогах с 47 500 файлами логика ожидания фоновых задач на финальном этапе содержала ошибку, из-за которой сканирование помечалось как сбойное даже после успешной обработки всех файлов. После исправления подобные каталоги завершают обработку стабильно.

🌐 Всесторонняя совместимость со сторонними клиентами Subsonic

Чтобы пользователи могли свободно выбирать удобные плееры, PureStream значительно улучшил совместимость с экосистемой сторонних клиентов Subsonic:

  • Бесшовное подключение популярных клиентов: Протестировано с приложениями Feishin, Amperfy и другими; поддерживается навигация по музыке, поиск, избранное и плавное воспроизведение.
  • Мгновенный отклик и сокращение объёма передаваемых данных: Время загрузки корневого каталога для библиотеки на 10 000 треков сократилось с примерно 1,3 секунды до около 40 миллисекунд; объём передаваемых данных для больших списков избранного уменьшился примерно до 1/12 от прежнего значения.
  • Изолированное разделение источников: Одноимённые альбомы и исполнители из разных музыкальных источников теперь индексируются независимо и больше не перезаписывают друг друга.

🎨 Приятное обновление веб-интерфейса домашнего сервера

Веб-интерфейс домашнего сервера получил обновлённое визуальное оформление:

  • Мягкая цветовая палитра: В тёмной теме применены более спокойные тёплые нейтральные тона, снижающие утомляемость глаз при длительном просмотре.
  • Акцент на обложки и минималистичный макет: Сетка альбомов ориентирована на обложки пластинок с удалением лишних рамок карточек; список композиций стал более строгим и аккуратным.
  • Структурированная навигация: Боковая панель десктопной версии реорганизована в разделы «Медиатека / Сейчас играет / Управление». По умолчанию сразу открывается библиотека альбомов, при этом страница состояния остаётся доступной в любой момент. На экранах мобильной ширины навигация автоматически перемещается вниз.
  • Удобная панель управления воспроизведением: Полоса прогресса воспроизведения расположена у верхней границы, на маленьких экранах сворачивается в две строки, а область нажатия ползунка сохраняется не менее 44 пикселей для предотвращения случайных касаний.
  • Проверка на различных экранах: 11 ключевых страниц протестированы в тёмном и светлом режимах, а также на экранах десктопного и мобильного форматов; горизонтальная прокрутка и ошибки на стороне фронтенда отсутствуют.

🔐 Повышенная стабильность удалённого доступа и безопасность аккаунтов

  • Автоматическая сверка подписок: Подписки App Store и Microsoft Store ежедневно сверяются в автоматическом режиме, оперативно и корректно отражая возвраты, отмены и истечения срока действия.
  • Мягкое управление правами: Изменение статуса подписки фиксируется служебной отметкой и ни в коем случае не прерывает звучащую композицию; отзыв устройств всегда производится администратором вручную.
  • Мгновенная перепривязка устройств: При повторной привязке или смене устройства старая авторизация удаляется, а новая выпускается в одно действие, без сообщений «Повторите попытку позже».
  • Контроль состояния онлайн: Домашний сервер регулярно отправляет отчёты о подключении к сети, что позволяет легко проверить доступность устройства в панели управления.
  • Поддержка двух устройств воспроизведения: По умолчанию одно домохозяйство поддерживает одновременное подключение двух устройств воспроизведения (например, Mac в связке с iPhone).
  • Усиление безопасности аккаунтов: Сервер больше не сохраняет пароли учётных записей воспроизведения. Плеер запрашивает одноразовые временные учётные данные напрямую у домашнего сервера на основании авторизации устройства и удаляет их сразу после использования. Кроме того, система наглядно дифференцирует недоступность сети, сбой привязки и истечение авторизации вместо обобщённого сообщения «Ошибка подключения».

🖥 Полировка настольного приложения и среды исполнения

  • Автозапуск при старте системы: Меню в трее теперь официально поддерживает настройку автозапуска при загрузке операционной системы.
  • Бесшумное перенаправление сессий: При истечении срока действия сеанса происходит прямой переход на страницу входа без всплывающего окна «Сеанс истёк».
  • Нативный разбор аудиотегов: Чтение тегов переведено на нативную статическую библиотеку вместо динамической компиляции компонентов во время работы, что делает запуск и сканирование значительно легче.
  • Полнота журналов событий: Добавлены журналы системных сбоев и аномальных запросов для ускорения поиска и устранения потенциальных неполадок.
  • Фильтрация файлов и наглядный статус: Скрытые системные файлы и мусорные элементы игнорируются по умолчанию; в трее можно сразу увидеть три показателя: обработано, готово к воспроизведению и с ошибками.

📌 Известные вопросы и дальнейшие шаги

В текущей версии продолжается работа над следующими задачами:

  1. Продолжается проверка поведения сканирования на отдельных внешних жёстких дисках, сетевых ресурсах и устройствах под управлением Windows; реальная скорость зависит от накопителя и количества файлов.
  2. Совершенствуется голосовое сопровождение скринридера на странице сканирования, а также дополняются описания отдельных категорий ошибок.
  3. Расширяется тестирование сценариев работы с подписками Microsoft Store (включая отмену и возврат средств).

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