MicroMedia - Портативный десктопный просмотрщик видео и изображений
Приветствую!

Портативный просмотрщик видео и изображений с индексацией, тегированием и встроенным плеером на основе mpv. Работает из одной папки на Linux и Windows.

Введение

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:

BASH
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:

BASH
tar -xzvf micromedia-*-linux-x86_64.tar.gz

cd ./micromedia-*-linux-x86_64
Нажмите, чтобы развернуть и увидеть больше

Получится такая структура:

PLAINTEXT
micromedia/                    # главный исполняемый файл
appdata/                       # папка с БД, конфигом, кэшем
  micromedia.db                # база данных (создаётся автоматически)
  thumbnails/                  # кэш миниатюр
  libs/                        # для libmpv, если нет системного
Нажмите, чтобы развернуть и увидеть больше

Подготовка медиатеки

Создайте папку media/ рядом с бинарником и положите туда файлы:

BASH
mkdir media

cp -v ~/Pictures/*.jpg media/

cp -v ~/Videos/*.mp4 media/
Нажмите, чтобы развернуть и увидеть больше

Поддерживаемые форматы: jpg, png, webp, gif, mp4, mkv, webm, mov и другие, которые понимает mpv.

Структура должна выглядеть так:

PLAINTEXT
micromedia                  # бинарник
media/
  photo1.jpg
  photo2.png
  video1.mp4
  subfolder/
    more_files.gif
appdata/
  micromedia.db
  thumbnails/
  libs/
Нажмите, чтобы развернуть и увидеть больше

Зависимости (Linux)

MicroMedia нужна libmpv для воспроизведения видео. На большинстве Linux-дистрибутивов она уже установлена. Проверьте:

BASH
ldconfig -p | grep libmpv
Нажмите, чтобы развернуть и увидеть больше

Если вывода нет, установите:

BASH
# Debian/Ubuntu
sudo apt install libmpv2
Нажмите, чтобы развернуть и увидеть больше

Если в системе нет libmpv, положите скачанную библиотеку в appdata/libs/:

Архив MicroMedia содержит файл-подсказку в appdata/libs/ПОЛОЖИТЕ_СЮДА_libmpv.txt с инструкциями, откуда её скачать.

Запуск

Запустите приложение:

BASH
./micromedia
Нажмите, чтобы развернуть и увидеть больше

При первом запуске оно создаст базу данных и отсканирует папку media/. На экране увидите прогресс в виде лог-сообщений. Если запустили с флагом RUST_LOG:

BASH
RUST_LOG=info ./micromedia
Нажмите, чтобы развернуть и увидеть больше

В логе будут видны детали индексации: количество найденных файлов, статус генерации миниатюр, размер БД.

После сканирования откроется главное окно с галереей. Если media/ пуста, галерея будет тоже пуста - это нормально.

Навигация

После запуска попробуйте:

Заключение

При создании приложения в качестве ИИ-ассистента использовался Claude (LLM от Anthropic). Приложение написано на Rust с использованием фреймворка Slint (рендеринг через GL/femtovg), интеграцией с mpv для видеовоспроизведения и SQLite (крейт rusqlite) для индексации и хранения метаданных.

Используемые материалы

Авторские права

Автор: Боевой Пингвин

Ссылка: https://r4ven.me/software/micromedia-portativnyy-desktopnyy-prosmotrshchik-video-i-izobrazheniy/

Лицензия: CC BY-NC-SA 4.0

Использование материалов блога разрешается при условии: указания авторства/источника, некоммерческого использования и сохранения лицензии.

Начать поиск

Введите ключевые слова для поиска статей

↑↓
ESC
⌘K Горячая клавиша