Превращает Kinect для Xbox 360 в обычную веб-камеру Windows, которую видит любое приложение — Zoom, Discord, Teams, OBS, браузер и т.д. Плюс — GUI с превью картинки в реальном времени и набором программных улучшений изображения (яркость/контраст/гамма, шумоподавление, AI-апскейл разрешения на GPU).
Kinect для Xbox 360 — это неплохая RGB-камера (640×480), которая просто валяется у многих без дела, потому что Windows не умеет использовать её как веб-камеру "из коробки". Этот проект берёт видеопоток с Kinect, прогоняет через настраиваемый конвейер обработки изображения и отдаёт его в виртуальную веб-камеру (через OBS Virtual Camera), которую можно выбрать в любой программе как обычную камеру.
- Kinect как веб-камера — работает в любом приложении, которое умеет выбирать камеру
- Живое превью в GUI-окне с показом текущей картинки
- Ручные настройки в реальном времени:
- Яркость
- Контраст
- Гамма-коррекция (особенно полезна в тёмной комнате — вытягивает детали лучше, чем обычная яркость)
- Насыщенность
- Программные улучшения (включаются чекбоксами, можно комбинировать):
- CLAHE — адаптивное выравнивание контраста, подтягивает детали в тёмных и неравномерно освещённых сценах
- Шумоподавление + резкость — убирает шум матрицы Kinect и компенсирует естественную мягкость картинки
- AI-апскейл (Real-ESRGAN) — увеличивает разрешение с 640×480 до 1280×960 нейросетью в реальном времени (~30 FPS на GPU уровня RTX 3080), выглядит заметно лучше простого растягивания пикселей
- Настройки применяются "на лету", без перезапуска
Kinect ──USB──> KinectCapture.exe ──named pipe──> kinectcam_gui.py ──> OBS Virtual Camera
(C#, Kinect SDK v1.8) (Python, обработка + GUI) (видят все приложения)
KinectCapture/— маленькая программа на C# (.NET Framework 4.8), читает RGB-поток с Kinect через официальный Kinect for Windows SDK v1.8 и шлёт сырые кадры (BGRX, 640×480) в named pipe\\.\pipe\kinectcam.kinectcam_gui.py— Python + PySide6 (Qt), читает кадры из pipe, прогоняет через конвейер обработки (яркость/контраст → CLAHE → шумоподавление → гамма → насыщенность → апскейл) и отправляет результат в виртуальную камеру черезpyvirtualcam(бэкенд — OBS Virtual Camera).ai_upscaler.py— облегчённая нейросеть Real-ESRGAN (realesr-general-x4v3, архитектура SRVGGNetCompact) на PyTorch/CUDA, прямой inference без лишних накладных расходов — только так удалось получить ~30 FPS вместо ~6-12 у стандартной обёртки библиотеки.
- Windows 10/11
- Kinect для Xbox 360 с фирменным адаптером питания (та чёрная коробочка с блоком питания + USB — без неё Windows увидит только мотор, без камеры и микрофона)
- Видеокарта NVIDIA (для AI-апскейла; без неё остальные функции всё равно работают, но апскейл нужно будет выключить или он будет считаться на CPU очень медленно)
- ~5 ГБ свободного места (PyTorch с CUDA — самая тяжёлая часть)
- Права администратора (для установки драйверов Kinect SDK)
Воткните Kinect в USB через фирменный адаптер питания (не напрямую). Если у вас нет адаптера — без него камера и микрофон Kinect работать не будут, увидите только "Xbox NUI Motor" в диспетчере устройств.
Скачайте и установите официальный SDK (единственная версия, которая корректно работает с Kinect для Xbox 360 — не ставьте SDK 2.0, он для другого поколения устройств и с Xbox 360 Kinect конфликтует):
Скачать: https://www.microsoft.com/en-us/download/details.aspx?id=40278
(KinectSDK-v1.8-Setup.exe)
Запустите установщик от имени администратора. После установки переподключите Kinect (выдерните/воткните USB) и подождите минуту — Windows поставит драйверы. Проверьте в диспетчере устройств: должны появиться четыре устройства со статусом "Устройство работает нормально":
Kinect for Windows DeviceKinect for Windows CameraKinect for Windows Audio Array ControlKinect for Windows Security Control
Если видите только "Xbox NUI Motor" (со значком ошибки) и больше ничего — почти наверняка стоит SDK не той версии или он не переустановился после переподключения устройства. Удалите Kinect SDK через "Установка и удаление программ", переустановите v1.8 и переподключите Kinect заново.
Нужен для сборки программы захвата видео (KinectCapture.exe).
winget install Microsoft.DotNet.SDK.8Откройте новый терминал после установки (чтобы подхватился PATH).
cd KinectCapture
dotnet buildГотовый KinectCapture.exe появится в KinectCapture\bin\Debug\net48\.
Он нужен только ради своего драйвера виртуальной камеры — сам OBS запускать не обязательно.
winget install OBSProject.OBSStudioВажно: используйте Python 3.11 (не 3.13!) — пакет basicsr, на котором
держится AI-апскейл, ломается на более новых версиях Python из-за
несовместимого способа чтения номера версии в своём setup.py.
py -3.11 -m venv .venv
.venv\Scripts\pip install --upgrade pipПоставьте PyTorch с поддержкой CUDA — версия сборки зависит от вашей видеокарты и версии драйвера. Посмотрите точную команду на https://pytorch.org (раздел "Install PyTorch", выберите Windows / Pip / CUDA). Например, для CUDA 12.6:
.venv\Scripts\pip install torch --index-url https://download.pytorch.org/whl/cu126Если видеокарты NVIDIA нет или ставить CUDA не хочется — можно поставить
обычный torch без индекса, но тогда чекбокс AI-апскейла лучше не включать
(будет очень медленно на CPU).
.venv\Scripts\pip install -r requirements.txt
.venv\Scripts\python fix_basicsr.pyВторой скрипт чинит совместимость библиотеки basicsr с современным
torchvision (известный баг апстрима — иначе AI-апскейл не запустится).
curl -L -o models\realesr-general-x4v3.pth https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesr-general-x4v3.pthstart_kinectcam.batОткроются два окна: KinectCapture (захват видео с Kinect) и GUI-окно
KinnectCAM с превью и настройками. В любом приложении с выбором камеры
(Zoom, Discord, OBS и т.д.) выберите камеру OBS Virtual Camera.
- Ползунки Яркость / Контраст / Гамма / Насыщенность двигаются в реальном времени, результат сразу виден и в превью, и в самой веб-камере
- CLAHE, Шумоподавление + резкость и AI-апскейл — независимые чекбоксы, можно включать в любой комбинации
- Кнопка "Сбросить настройки" возвращает ползунки к значениям по умолчанию
- Если Kinect не подключён или
KinectCapture.exeещё не запущен — GUI будет ждать подключения и покажет статус внизу окна
В диспетчере устройств только "Xbox NUI Motor", камеры нет. Не тот адаптер питания или не переустановился SDK — см. Шаг 1 и Шаг 2.
GUI открывается, но пишет ошибку про виртуальную камеру. Не запущен/не переустановлен драйвер OBS Virtual Camera — переустановите OBS Studio (Шаг 5).
AI-апскейл выдаёт ошибку или работает еле-еле (пара кадров в секунду).
Скорее всего, PyTorch без поддержки CUDA (проверьте — при запуске Python
import torch; torch.cuda.is_available() должно быть True), либо
видеокарта не NVIDIA. Без CUDA просто не включайте этот чекбокс — остальные
функции работают нормально и на CPU.
При установке basicsr падает с KeyError: '__version__'.
Значит окружение создано не на Python 3.11, а на более новой версии — см.
Шаг 6.
Пропадает звук/изображение после переподключения Kinect.
KinectCapture.exe держит соединение с сенсором на весь один запуск и
завершается при отключении клиента — просто перезапустите
start_kinectcam.bat.
KinnectCAM/
├── start_kinectcam.bat — запуск обеих программ одной командой
├── run_gui.bat — запуск только Python-GUI (использует .venv)
├── kinectcam_gui.py — главное приложение: GUI, обработка кадров, виртуальная камера
├── ai_upscaler.py — inference Real-ESRGAN (лёгкая модель, PyTorch/CUDA)
├── fix_basicsr.py — патч известного бага basicsr/torchvision
├── requirements.txt — Python-зависимости (кроме torch — его отдельно)
├── models/ — сюда кладётся вес нейросети (см. models/README.md)
└── KinectCapture/ — C#-программа захвата видео с Kinect
├── Program.cs
└── KinectCapture.csproj
- Kinect for Windows SDK v1.8 — Microsoft
- Real-ESRGAN — xinntao
- OBS Studio — за драйвер виртуальной камеры
- pyvirtualcam — Maik Riechert
