rimpac_gif_creator

Локальная Windows-утилита для записи выделенной области экрана в маленький GIF через вложенный ffmpeg.exe.

Запуск

  1. Один раз установите локальный FFmpeg, если vendor/ffmpeg/ffmpeg.exe отсутствует:

    powershell -ExecutionPolicy Bypass -File .\tools\install_ffmpeg.ps1
    
  2. Установите локальный Gifsicle для дополнительного сжатия, если vendor/gifsicle/gifsicle.exe отсутствует:

    powershell -ExecutionPolicy Bypass -File .\tools\install_gifsicle.ps1
    
  3. Запустите приложение двойным кликом по rimpac_gif_creator.vbs.

run.bat оставлен как технический запуск с консолью, если нужно увидеть ошибки.

Тесты

Быстрый набор unit/integrity-тестов запускается без дополнительных зависимостей:

python -m unittest discover -s tests -v

Тесты проверяют логику версий и обновлений, утилиты сборки GIF, кастомный установщик, Stream Deck-плагин, тёмный логотип, а также то, что публичный release-payload не содержит исходники приложения и установщика.

Установка и обновления

Для продуктовой сборки используется кастомный русский GUI-инсталлятор:

powershell -ExecutionPolicy Bypass -File .\tools\build_custom_installer.ps1 -PublicRepoUrl "https://git.safe-cap.com/RIMPAC/Gif_Generator_Releases.git"

Скрипт готовит приватную промежуточную папку build/package/rimpac_gif_creator, компилирует app.py и updater.py в app.pyc / updater.pyc, собирает публичный build/release_repo без .py исходников приложения, а затем упаковывает этот payload внутрь одного build/installer/RIMPAC_GIF_Creator_Setup.exe через PyInstaller.

Инсталлятор на русском языке, по умолчанию ставит программу в C:\RIMPAC\GIF Creator, создаёт ярлык RIMPAC GIF Creator на рабочем столе и использует иконку из assets/rimpac_gif_creator.ico. Это один RIMPAC_GIF_Creator_Setup.exe: ffmpeg.exe, ffprobe.exe, gifsicle.exe и release-payload кладутся внутрь установщика заранее, без видимых командных строк, UAC-запросов и загрузок после установки. В главном окне установщика есть явная галка Stream Deck с объяснением: если у пользователя есть Stream Deck, инсталлятор дополнительно ставит плагин в %APPDATA%\Elgato\StreamDeck\Plugins; если галочку не ставить, устанавливается только программа и ярлык.

В папку установки также кладётся Uninstall.exe. Установщик регистрирует удаление в Windows для текущего пользователя, поэтому программу можно удалить через Приложения и компоненты или прямым запуском C:\RIMPAC\GIF Creator\Uninstall.exe. Удалятор убирает папку программы, ярлык с рабочего стола, запись удаления Windows и, по галочке, Stream Deck-плагин.

Текущая версия release-пакета: beta 0.1. Версия хранится в version.json и поднимается только вручную перед выпуском новой версии.

Кнопка Проверить обновления запускает updater.pyc: он делает git fetch, читает version.json из установленной программы и из origin/main, а затем обновляется только если в публичном релизном репозитории версия новее и канал совпадает. Если версия такая же, новый коммит в релизном git не будет устанавливаться автоматически. При наличии новой версии updater закрывает программу, выполняет git pull --ff-only, обновляет зависимости из requirements.txt и запускает программу снова. За счёт git скачиваются только изменившиеся объекты, а не весь проект архивом.

Публичный URL обновлений хранится в update_config.json: https://git.safe-cap.com/RIMPAC/Gif_Generator_Releases.git. В этом репозитории должны лежать только release-файлы (*.pyc, конфиги, иконки, launcher-скрипты), без app.py и updater.py.

Управление

  • Зажмите левую кнопку мыши и выделите прямоугольник.
  • До начала записи можно тянуть рамку за края/углы, чтобы изменить размер, или за центр, чтобы перенести всю область.
  • На панели рамки кнопка Папка открывает generated, кнопка Очист. удаляет все GIF из этой папки.
  • Нажмите красный круг, чтобы начать запись.
  • Во время записи красный круг становится квадратом, а рамка светится красным.
  • Во время записи большой оверлей скрывается: остаются только тонкая красная рамка и маленькая панель, а клики за их пределами проходят в игру/систему.
  • Нажмите красный квадрат, чтобы остановить запись.
  • Нажмите крестик на панели, чтобы отменить и закрыть приложение.
  • После записи у выбранной рамки появится предпросмотр: двумя ползунками можно обрезать начало и конец.
  • При движении конечного ползунка предпросмотр сразу показывает последний кадр выбранного диапазона.
  • На экране предпросмотра или прогресса Escape отменяет операцию и удаляет временные файлы.
  • Нажмите Создать GIF.
  • После нажатия Создать GIF окно предпросмотра заменяется экраном прогресса там, где была выбранная рамка.
  • После сборки в этом же окне показывается итоговый размер GIF и статус копирования в буфер.
  • После успешной сборки это же окно остается открытым, пока вы не закроете его крестиком или Escape.
  • После галочки GIF уже лежит в буфере обмена как файл и сохраняется в generated.
  • Кнопки Папка GIF / Папка открывают generated, кнопки Очистить / Очист. удаляют все GIF из этой папки.

GIF создается с частотой 12 кадров/с, шириной до 640 px, ограниченной палитрой и финальной оптимизацией через локальный gifsicle.

Бинарники ffmpeg.exe, ffprobe.exe и gifsicle.exe не хранятся в git, чтобы репозиторий не раздувался. Их можно восстановить скриптами из tools.

При запуске приложение автоматически открывает оверлей на том мониторе, где сейчас находится курсор. Захват кадров выполняется через mss, чтобы корректно работать с несколькими мониторами.

Stream Deck

Плагин лежит в streamdeck/com.rimpac.gif-creator.sdPlugin и установлен в:

C:\Users\User\AppData\Roaming\Elgato\StreamDeck\Plugins\com.rimpac.gif-creator.sdPlugin

В Stream Deck ищите категорию RIMPAC и кнопку GIF Creator.

Если кнопка не появилась сразу, перезапустите приложение Stream Deck.

Description
No description provided
Readme 99 MiB
Languages
JavaScript 72.8%
Batchfile 17.2%
VBScript 10%