hilsetapp/rp-reel
RP Reel: нарезка моментов RP-сервера из видео и журнала событий. Плагины SA-MP, RAGE MP, FiveM, таймлайн, клипы без перекодирования.
README.md
RP Reel
Нарезка моментов RP-сервера из видеозаписи. Плагин пишет журнал событий (убийства, разбивки, аресты, ограбления), приложение кладет их на таймлайн видео и одной кнопкой вырезает клипы - без перекодирования, даже 4K.
Для чего
- серверный админ выкладывает «момент дня» в Discord/VK/Telegram;
- стример собирает подборку из записи за вечер;
- судья разбирает инцидент: клик по метке - и кадр перед событием.
Как работает
- Плагин на сервер пишет
rpreel.jsonl: время, тип события, игроки. Готовые включения для SA-MP, RAGE MP и FiveM - около 20 строк каждое. - Запись видео: OBS на той же машине, что и сервер, тогда часы совпадают. Если машины разные - в приложении есть сдвиг.
- Таймлайн: приложение читает журнал и видео, рисует ленту с миниатюрами и цветными метками событий, справа - статистика: топ игроков, типы, самая горячая минута.
- Ролик: ffmpeg вырезает окна вокруг событий (
-c copy, без перекодирования) и склеивает их вreel.mp4. Пишутсяevents.srtс подписями,report.txtиdigest.json.
Установка
- Скачай последний релиз и распакуй в любую папку.
- Поставь ffmpeg и добавь его в PATH (без ffmpeg приложение скажет об этом прямо в статусе).
- Запусти
rp-reel.exe.
Windows 10/11. Приложение не требует установки, не пишет в реестр, не лезет в сеть: всё считается на твоей машине.
Быстрый старт
- На сервере:
#include <rpreel>в гамемоде,Reel_Open()вOnGameModeInit,Reel_Kill(killerid, victimid, reason)вOnPlayerDeath(для SA-MP; для RAGE MP и FiveM готовые подписки уже внутри). - Запиши вечер в OBS, скопируй
rpreel.jsonlк себе. - В приложении: кнопки «Видео...» и «Журнал...», далее «Собрать таймлайн».
- Кликни по клипу - увидишь события внутри, «Показать в плеере» откроет VLC на нужной секунде.
- «Вырезать ролик» - готово, папка откроется сама.
Можно сразу из командной строки:
rp-reel.exe -video day.mp4 -log rpreel.jsonl
Синхронизация времени
Если метки не совпадают с видео, есть два способа:
- «Начало записи, Unix» - время старта записи в секундах (OBS показывает в свойствах файла, либо
date +%sна сервере в момент старта); - «Сдвиг видео, сек» - если метки бегут впереди или позади видео, крути это поле.
По умолчанию первое событие считается началом видео.
Галерея пресетов
Пресет - окно до/после события и лимит клипов. Встроенные:
| Пресет | Окно | Клипы | Для чего |
|---|---|---|---|
| Обычная нарезка | 10+10 сек | все | универсально |
| Twitch Shorts | 5+7 сек | 12 | короткие вертикальные ролики |
| Дайджест дня | 8+12 сек | 40 | вечер целиком в одном файле |
| Вертикаль 9:16 | 6+8 сек | 10 | VK Клипы и Reels (с перекодированием) |
Свой пресет - json-файл в папку templates рядом с exe, формат в internal/template/presets/README.md.
Командная строка
rp-reel-cli -log rpreel.jsonl -video day.mp4 -video-ts 1729440000
rp-reel-cli -log rpreel.jsonl -video day.mp4 -preset discord-digest
rp-reel-cli -log rpreel.jsonl -video day.mp4 -no-cut # только отчет и план
Флаги: -log журнал, -video запись, -video-ts начало записи (Unix, сек), -offset сдвиг видео (сек), -preset пресет, -out папка результата (по умолчанию reel-out), -no-cut без ffmpeg-вырезки, -version.
Что внутри
- Go + Gio: один exe, без рантайма;
- нарезка
ffmpeg -c copy: ключевые кадры, мгновенно, без нагрузки на GPU; - миниатюры кадров для таймлайна делает сам ffmpeg;
- приватность: журнал и видео никуда не уходят.
Планы
- карта событий по координатам из журнала;
- автосинхронизация по звуку (выстрелы/взрывы);
- готовые ресурсы для серверов: MTA, Oxen.
Лицензия
MIT. ffmpeg нужен отдельно, его лицензия - вот тут.
Контакты
Issues читает, на RU отвечает. Серверные идеи и пресеты принимаются.
ffmpegfivemgiogolanggta-san-andreashighlightsrage-mproleplayrprussiansampvideo
Страница собрана из того, что GitHub публикует о репозитории. samp.directory не хранит этот код. Сообщить о проблеме с этой записью