Как не утопить RTSP в YOLO: real‑time‑конвейер на C++20, Clang и ONNX Runtime
Привет, Хабр! Меня зовут Александр Кудряшов. Более тридцати лет я занимаюсь разработкой систем цифровой обработки сигналов, аудио и видео. В последнее время я создаю собственную платформу видеоаналитики и сравниваю её серверные реализации на C++, Python и Rust. Это моя первая статья: в ней хочу поделиться не обзором готового продукта, а одной конкретной инженерной задачей, возникшей при его разработке.YOLO обрабатывает кадр дольше, чем камера формирует следующий. Если построить видеосервер как последовательность read → motion → YOLO → encode
Собеседования для вас большой стресс? Для меня было да, поэтому создал решение
Есть неприятный момент на техническом собеседовании. Интервьюер заканчивает длинный вопрос, и ты понимаешь, что тема знакома. Ты делал это на работе, помнишь правильный подход и даже подходящий случай. Но отвечать нужно сейчас, а в голове одновременно идут четыре процесса: разобрать формулировку, вспомнить детали, выстроить ответ и не зависнуть в тишине.Если интервью на английском, добавляется пятый — перевод.
EVERTY DESK — EVRT ПРОТОКОЛ, или почему я написал лучший протокол низкой задержки в мире
Привет, Хабр.Я писал это не месяц и не год.EVRT (EVERTY real time protocol)— это результат примерно десяти лет экспериментов, ошибок, переписываний, злости, тестов, ночных сборок и попыток выжать из обычной сети поведение, похожее на игровой real-time transport.Когда-то я уже писал на Хабре про игровой режим. Тогда это почти никто не оценил. Ну и ладно. Иногда идею начинают понимать только тогда, когда она уже успела стать архитектурой.Теперь пора вскрывать подробности.
Приложение real-time face swap на чистом Rust: ONNX Runtime, lock-free потоки и 60 кадров в секунду
Большинство инструментов для замены лиц - это Python-скрипты, склеенные из PyTorch, OpenCV и надежды. Они работают, но тащат за собой гигабайты зависимостей, требуют правильно настроенного CUDA и разваливаются в тот момент, когда ты пытаешься запустить их в реальном времени.Мне стало интересно: можно ли собрать весь пайплайн на чистом Rust? Без Python. Без PyTorch. Без обёрток. Один бинарник, который скачал, распаковал и запустил.Оказалось, можно. 60 fps на веб-камере.ПайплайнНа каждом кадре последовательно отрабатывают четыре нейросети.

