Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MicroMedia

Портативный десктопный просмотрщик видео и изображений.

Скачать: https://github.com/AzimovIz/micromedia/releases/latest (Windows x86_64 и Linux x86_64).

Для воспроизведения видео нужна libmpv. Если mpv установлен в системе — берётся он. Иначе положите libmpv.so (Linux) / libmpv-2.dll (Windows) в appdata/libs/ рядом с бинарником (в архиве есть файл-подсказка).

Если в программе пусто - положите свои медиа в папку media рядом с бинарником и нажмите на кнопку пересканирования сверху справа.


Скриншоты

Библиотека Список
Библиотека Список
Плеер Теги
Плеер Теги

Возможности

Библиотека

  • Сканирование папки media/ и индексация в фоне (SQLite).
  • Галерея-плитка с миниатюрами; слайдер числа колонок.
  • Вид «Список» — древовидная структура папок, как в проводнике.
  • Кнопка «Обновить» — переиндексация: скан → миниатюры → хеш → длительность. Ход работы виден в логе (RUST_LOG=info, уровень по умолчанию).
  • Переименование и перемещение файлов распознаётся: запись переезжает на новый путь, сохраняя теги, позицию воспроизведения и миниатюру.
  • Фоновая генерация превью (картинки — нативно, видео — кадр через mpv).

Просмотрщик

  • Оверлей-лайтбокс поверх галереи для фото и видео.
  • Зум колесом мыши, перемещение — ЛКМ, сброс — средняя кнопка (фото и видео).
  • Анимированные GIF (проигрываются через mpv, с зацикливанием).

Видео-плеер

  • Play/pause, перемотка, скипы ±5/±10 с, покадровый шаг.
  • Скорость 0.5–2×, луп, громкость, mute, время m:ss.
  • Полноэкранный режим с авто-скрытием контролов (появляются по движению мыши).
  • Демукс-кэш в RAM — плавное воспроизведение даже с медленной флешки.
  • Set as thumbnail — сделать текущий кадр миниатюрой файла.
  • Клавиши: Space — пауза, ←/→ — ±5 с, F — фуллскрин, Esc — выход.

Организация и поиск

  • Теги: назначение/снятие, автодополнение, массовое тегирование по выбору. Осиротевшие теги (без файлов) удаляются автоматически.
  • Фильтр по тегам - строка tag1 -tag2 (минус исключает).
  • Алфавитный список тегов с кнопками + / (включить / исключить).
  • Поиск по имени файла и фильтр по типу (фото / видео).
  • Сортировки: имя, дата добавления, дата файла, размер, тип, длительность.

Список и массовые операции

  • Мультивыбор флажками; выделение папки каскадит на вложенные файлы.
  • ПКМ по выбранному: добавить/удалить теги, удалить с диска (с подтверждением).
  • ПКМ по невыбранному: «Открыть расположение» в системном файловом менеджере.

Прочее

  • Сохранение состояния (appdata/config.toml): сортировка, поиск по тегам, громкость видео.
  • Регулируемая ширина боковой панели (перетаскиваемая граница).

Раскладка данных

micromedia            # micromedia / micromedia.exe
media/                # ваши медиафайлы (индексируются отсюда)
appdata/
  micromedia.db       # SQLite: файлы, теги, метаданные
  thumbnails/         # кэш миниатюр
  libs/               # libmpv.so / libmpv-2.dll (если нет системного mpv)
  config.toml         # сохранённые настройки

Положите файлы в media/ и нажмите «Обновить» (или перезапустите).


Сборка

Rust + cargo-zigbuild (для переносимого glibc 2.17). На Linux нужен libfontconfig-dev.

# Linux (glibc 2.17)
cargo zigbuild --release --target x86_64-unknown-linux-gnu.2.17
# Windows
cargo zigbuild --release --target x86_64-pc-windows-gnu

Технологии

Rust · Slint (GL/femtovg) · mpv · SQLite (rusqlite).

Создано с помощью Claude

Этот проект был практически полностью написан Claude (ИИ-ассистентом от Anthropic) с использованием Claude Code при участии разработчика-человека, который задавал направление работы, проводил тестирование и давал обратную связь. Всё — от архитектуры до реализации (код на Rust, пользовательский интерфейс, интеграция с libmpv, схема базы данных SQLite, фоновое сканирование) — было создано Claude.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages