Интерактивное приложение для отображения Rive анимаций в OBS Studio через Browser Source с поддержкой drag & drop загрузки и внешних URL.
npm install
npm run dev
Откройте http://localhost:3000 в браузере.
riveObsPlugin/
├── app/
│ ├── components/
│ │ └── RiveFileUploader.tsx # Компонент загрузки файлов
│ ├── api/
│ │ ├── animation/route.ts # API для управления анимациями
│ │ ├── upload/route.ts # API для загрузки файлов
│ │ └── files/route.ts # API для списка файлов
│ ├── obs/page.tsx # Страница только для OBS
│ ├── globals.css # Глобальные стили
│ ├── layout.tsx # Основной layout
│ ├── page.tsx # Главная страница
│ └── registry.tsx # Компоненты для Rive
├── public/
│ └── animations/ # Место для .riv файлов
└── ...
- Прозрачный фон: Анимации автоматически воспроизводятся с прозрачным фоном
- Автоматическое воспроизведение: Анимация начинается сразу после загрузки
- Drag & Drop: Перетащите .riv файл в область загрузки
- URL загрузка: Вставьте URL на .riv файл для загрузки из интернета
- OBS интеграция: Специальная страница для OBS с полностью прозрачным фоном
- Добавьте Browser Source в OBS Studio
- Для основной страницы используйте:
http://localhost:3000
(или актуальный порт) - Для OBS используйте:
http://localhost:3000/obs
(или актуальный порт)- Полностью прозрачный фон
- Без шапки и подвала
- Анимация по центру экрана
- Автоматическое воспроизведение
- Рекомендуемые настройки:
- Width: 1920
- Height: 1080
- FPS: 60 (для плавной анимации)
- CSS:
body { background: transparent !important; }
- Страница
/obs
имеет собственный layout без UI элементов - Анимация автоматически центрируется по экрану
- Полностью прозрачный фон для идеального наложения в OBS
- Автоматическое воспроизведение анимации
Способ 1: Drag & Drop
- Перетащите .riv файл прямо в область загрузки
- Файл автоматически сохранится в
public/animations/
Способ 2: URL загрузка
- Вставьте ссылку на .riv файл в поле URL
- Поддерживаются внешние ссылки (CDN, облачные хранилища)
Способ 3: Ручная загрузка
- Поместите .riv файл в папку
public/animations/
- Выберите файл из списка доступных
Вариант 1: Полная страница с управлением
- URL:
http://localhost:3000
- Включает элементы управления
Вариант 2: Только анимация ⭐ Рекомендуется
- URL:
http://localhost:3000/obs
- Полноэкранная анимация без элементов управления
- Поддержка горячих клавиш (1, 2, 3)
Настройки Browser Source:
- Размеры: 1920x1080 (или по необходимости)
- Обновлять браузер: ✅ включить
- Закрыть источник: ❌ выключить
Через веб-интерфейс:
- Используйте кнопки на главной странице
- Состояния синхронизируются между всеми страницами
Горячие клавиши (работают на /obs
странице):
1
- Idle состояние2
- Active состояние3
- Hover состояние
Через API:
# Получить текущее состояние
curl http://localhost:3000/api/animation
# Установить состояние
curl -X POST http://localhost:3000/api/animation \
-H "Content-Type: application/json" \
-d '{"state": "active"}'
- Drag & Drop: Перетащите .riv файлы прямо в браузер
- URL загрузка: Поддержка внешних ссылок на .riv файлы
- Автоматическое сканирование: Список локальных файлов обновляется автоматически
- Изменения на главной странице передаются в OBS
- API для внешнего управления
- Сохранение состояния между перезагрузками
- Отдельная страница
/obs
без лишних элементов - Полноэкранный режим
- Минимальные ресурсы
- Горячие клавиши для быстрого переключения
npm run dev
- Запуск в режиме разработкиnpm run build
- Сборка для продакшенаnpm run start
- Запуск продакшен сервераnpm run lint
- Проверка кода ESLint
- Откройте workspace агента
- Выделите нужный код (Cmd+A)
- Скопируйте (Cmd+C)
- Переключитесь в этот workspace
- Вставьте код в соответствующий файл (Cmd+V)
# Из папки с проектом агента
cp -r * /path/to/riveObsPlugin/
# Или для конкретных файлов
cp app/page.tsx /path/to/riveObsPlugin/app/
cp next.config.js /path/to/riveObsPlugin/
Теперь вы можете просто перетащить .riv файлы из workspace агента прямо в веб-интерфейс!
- Проверьте консоль браузера на ошибки
- Убедитесь, что файл существует:
ls -la public/animations/
- Попробуйте перезагрузить страницу
- Проверьте формат файла (.riv)
- Убедитесь, что файл имеет расширение
.riv
- Проверьте размер файла (лимит ~50MB)
- Попробуйте использовать URL загрузку
- Проверьте URL: используйте
/obs
для лучшей производительности - Обновите Browser Source в OBS
- Проверьте размеры: установите правильные размеры источника
- Перезапустите сервер если необходимо
- Проверьте API:
curl http://localhost:3000/api/animation
- Откройте консоль браузера для отладки
- Убедитесь, что обе страницы открыты
Используйте HTTP запросы для переключения состояний:
POST http://localhost:3000/api/animation
Body: {"state": "active"}
Планируется добавление WebSocket для реального времени.
- ✅ Next.js 14 с App Router
- ✅ TailwindCSS для стилей
- ✅ Rive интеграция через
@rive-app/react-canvas
- ✅ TypeScript поддержка
- ✅ API для внешнего управления
- ✅ Drag & Drop загрузка файлов
- ✅ URL загрузка внешних файлов
- ✅ Оптимизированная страница для OBS
- ✅ Горячие клавиши
- ✅ Синхронизация состояний
Если у вас есть вопросы или проблемы:
- Проверьте раздел Troubleshooting
- Откройте консоль браузера для отладки
- Создайте issue в репозитории
Создано с помощью Cursor AI Agent 🤖
v2.0.0 (Current)
- ✅ Добавлена поддержка drag & drop
- ✅ Загрузка по URL
- ✅ Отдельная OBS страница
- ✅ API для управления состояниями
- ✅ Горячие клавиши
- ✅ Синхронизация между страницами
v1.0.0
- Базовая функциональность Rive + OBS