📝 Данный материал подготовлен соавтором Вороньего сообщества 👨💻🐧.
Портативный просмотрщик видео и изображений с индексацией, тегированием и встроенным плеером на основе mpv. Работает из одной папки на Linux и Windows.
🖐️Эй!
Подписывайтесь на наш телеграм @r4ven_me📱, чтобы не пропустить новые публикации на сайте😉. А если есть вопросы или желание пообщаться по тематике — заглядывайте в Вороний чат @r4ven_me_chat🧐.
Также в блоге теперь доступно соавторство 🐧🐧🐧.
Введение
MicroMedia решает типичную проблему: когда нужна компактная, самодостаточная утилита для просмотра медиа, которая не требует установки в систему, работает из одной папки и при этом не теряет в функциональности. Приложение написано на Rust, разворачивается одним файлом, хранит все данные локально (SQLite-база рядом с бинарником) и поддерживает как Linux, так и Windows.
Данную программу удобно хранить на USB носителе и работать с медиа на различных устройствах.
Несколько скриншотов:




Возможности
Галерея и индексация
Приложение сканирует папку media/ и строит индекс в фоне. Галерея отображается плиткой с миниатюрами, число колонок регулируется слайдером. Есть альтернативный вид “Список” - древовидная структура папок, как в файловом менеджере. Функция “Обновить” переиндексирует медиа: сканирование → генерация миниатюр → вычисление хеша → определение длительности. Ход работы видно в логе (RUST_LOG=info).
При переименовании или перемещении файлов приложение автоматически обновляет запись, сохраняя теги, позицию воспроизведения и уже сгенерированную миниатюру.
Просмотрщик и масштабирование
Фото и видео открываются в оверлей-лайтбоксе поверх галереи. Масштабирование работает колесом мыши, перемещение - левой кнопкой, сброс зума - средней кнопкой. Анимированные GIF проигрываются через mpv с зацикливанием.
Видеоплеер
Встроенный плеер поддерживает стандартные функции: play/pause, перемотка, скипы на ±5 и ±10 секунд, покадровый шаг. Доступны скорости воспроизведения от 0.5× до 2×, луп, регулировка громкости и mute. Полноэкранный режим автоматически скрывает контролы; они появляются при движении мыши.
Демультиплексирование потока кэшируется в оперативной памяти, что обеспечивает плавное воспроизведение даже со слабых носителей. Текущий кадр можно назначить миниатюрой файла кнопкой “Set as thumbnail”. Управление клавишами: Space - пауза, ←/→ - ±5 с, F - полноэкран, Esc - выход.
Теги и фильтрация
Теги назначаются и снимаются в интерфейсе, поддерживается автодополнение. Можно тегировать несколько файлов сразу через мультивыбор. Осиротевшие теги (без привязанных файлов) удаляются автоматически.
Фильтр по тегам работает через строку вида tag1 -tag2, где минус исключает теги. Рядом есть алфавитный список всех тегов с кнопками + и − для быстрого включения/исключения.
Поиск и сортировка
Встроен поиск по имени файла и фильтр по типу (фото или видео). Доступны сортировки по имени, дате добавления, дате файла, размеру, типу и длительности.
Массовые операции
Мультивыбор работает через флажки; выделение папки каскадит на все вложенные файлы. Правый клик по выбранным файлам позволяет добавить или удалить теги, или удалить файлы с диска (с подтверждением). Правый клик по невыбранному файлу открывает его расположение в системном файловом менеджере.
Дополнительно
Приложение сохраняет состояние (appdata/config.toml): последняя сортировка, примененные фильтры по тегам, уровень громкости видео. Ширина боковой панели регулируется перетаскиванием её границы.
Установка и первый запуск
Скачивание
Скачайте актуальный релиз с GitHub:
cd ~/Downloads
curl -fsSLO \
$(curl -s https://api.github.com/repos/AzimovIz/micromedia/releases/latest \
| grep browser_download_url \
| grep 'micromedia-.*-linux-x86_64.tar.gz' \
| cut -d '"' -f 4)На странице выберите подходящий архив: micromedia-ДАТА-linux-x86_64.tar.gz для Linux или micromedia-ДАТА-windows-x86_64.zip для Windows.
Распакуйте архив с помощью Tar:
tar -xzvf micromedia-*-linux-x86_64.tar.gz
cd ./micromedia-*-linux-x86_64Получится такая структура:
micromedia/ # главный исполняемый файл
appdata/ # папка с БД, конфигом, кэшем
micromedia.db # база данных (создаётся автоматически)
thumbnails/ # кэш миниатюр
libs/ # для libmpv, если нет системногоПодготовка медиатеки
Создайте папку media/ рядом с бинарником и положите туда файлы:
mkdir media
cp -v ~/Pictures/*.jpg media/
cp -v ~/Videos/*.mp4 media/Поддерживаемые форматы: jpg, png, webp, gif, mp4, mkv, webm, mov и другие, которые понимает mpv.
Структура должна выглядеть так:
micromedia # бинарник
media/
photo1.jpg
photo2.png
video1.mp4
subfolder/
more_files.gif
appdata/
micromedia.db
thumbnails/
libs/Зависимости (Linux)
MicroMedia нужна libmpv для воспроизведения видео. На большинстве Linux-дистрибутивов она уже установлена. Проверьте:
ldconfig -p | grep libmpvЕсли вывода нет, установите:
# Debian/Ubuntu
sudo apt install libmpv2Если в системе нет libmpv, положите скачанную библиотеку в appdata/libs/:
- Linux:
libmpv.so; - Windows:
libmpv-2.dll.
Архив MicroMedia содержит файл-подсказку в appdata/libs/ПОЛОЖИТЕ_СЮДА_libmpv.txt с инструкциями, откуда её скачать.
Запуск
Запустите приложение:
./micromedia
При первом запуске оно создаст базу данных и отсканирует папку media/. На экране увидите прогресс в виде лог-сообщений. Если запустили с флагом RUST_LOG:
RUST_LOG=info ./micromediaВ логе будут видны детали индексации: количество найденных файлов, статус генерации миниатюр, размер БД.
После сканирования откроется главное окно с галереей. Если media/ пуста, галерея будет тоже пуста - это нормально.

Первое сканирование может занять время, особенно если в media/ много видеофайлов (генерируются миниатюры). На слабом оборудовании это может идти несколько минут.
Навигация
После запуска попробуйте:
- Добавьте медиа в папку
media/и нажмите кнопку “Обновить” в интерфейсе; - Кликните на файл, чтобы открыть его в лайтбоксе;
- Для видео используйте
Spaceдля паузы,←/→для перемотки,Fдля полноэкрана; - Добавьте тег правой кнопкой мыши по файлу.
Заключение
При создании приложения в качестве ИИ-ассистента использовался Claude (LLM от Anthropic). Приложение написано на Rust с использованием фреймворка Slint (рендеринг через GL/femtovg), интеграцией с mpv для видеовоспроизведения и SQLite (крейт rusqlite) для индексации и хранения метаданных.
Используемые материалы
- Репозиторий (автора статьи) MicroMedia на GitHub
- Документация Slint
- Документация mpv
- Документация SQLite
👨💻Ну и…
Не забывайте про нашу телегу📱и чат 💬
Или может хотите стать соавтором? Тогда клик сюда🔗
Всех благ✌️
That should be it. If not, check the logs 🙂


