Приветствую!
В одном проекте возникла необходимость получать видео с IP камеры, вещающей в H264 формате и всё было хорошо, пока клиентов, подключённых к камере, было раз-два да обчёлся.
Но пользователей проекта становилось всё больше и камера просто не выдерживала по 5-6 клиентов и начинала адцки лагать т.к. сеть у неё всего 10 мб и производительность около нуля.
Было решено найти софт сервера-ретранслятора, т.к. канал от сервера до клиентов достаточно толстый, а большую часть времени он просто курит бамбук,
но поиски готового софта, который бы позволил просто клонировать один поток с камеры на всех желающих клиентов, не увенчались успехом.
Чтож, пришлось написать свой велосипед.
Написан на Qt 6.3 без использования сторонних библиотек и других зависимостей.
Возможности:
- Поддержка h.264 и h.265 содержимого (только видео)
- Возможность дополнительной фрагментации кадров (Что бы кадр влезал в MTU)
- Поддержка авторизации на камерах None/Basic/Digest
- Поддержка авторизации на сервере Basic
- Многопоточность (по потоку на канал камеры и на клиента)
- Независимость от сторонних библиотек
Планы
- Сделать Digest авторизацию на сервере
- Написат подробнее про настройки и т.д.
- Пример плагина
9 комментариев