Приветствую!
В одном проекте возникла необходимость получать видео с IP камеры, вещающей в H264 формате и всё было хорошо, пока клиентов, подключённых к камере, было раз-два да обчёлся.
Но пользователей проекта становилось всё больше и камера просто не выдерживала по 5-6 клиентов и начинала адцки лагать т.к. сеть у неё всего 10 мб и производительность около нуля.
Было решено найти софт сервера-ретранслятора, т.к. канал от сервера до клиентов достаточно толстый, а большую часть времени он просто курит бамбук,
но поиски готового софта, который бы позволил просто клонировать один поток с камеры на всех желающих клиентов, не увенчались успехом.
Чтож, пришлось написать свой велосипед.
Написан на Qt 6.3 без использования сторонних библиотек и других зависимостей.
Возможности:
- Поддержка h.264 и h.265 содержимого (только видео)
- Возможность дополнительной фрагментации кадров (Что бы кадр влезал в MTU)
- Поддержка авторизации на камерах None/Basic/Digest
- Поддержка авторизации на сервере Basic
- Многопоточность (по потоку на канал камеры и на клиента)
- Независимость от сторонних библиотек
Планы
- Сделать Digest авторизацию на сервере
- Написат подробнее про настройки и т.д.
- Пример плагина
9 комментариев
Подскажите, пожалуйста, каким способом можно его использовать, чтобы на сайт rtsp поток передавать? И непонятна установка, как все должно проходить. Спасибо.
Здравствуйте.
Сервер просто позволяет обслуживать гораздо больше подключений, чем это могла бы сделать сама камера при прямом подключении к ней.
Для установки нужно сначала скомпилировать сервер в QtCreator, потом исполняемый файл можно запустить в фоновом режиме и в файле настроек прописать подключения к камерам.
Добрый день. Подскажите, а как можно передать адрес потока так же через GET параметр?
Пример
rtsp://127.0.0.1:2666/trackID=1?user=admin&pass=178900 &url=http://mysite.ru/videourl/548.m3u8
Добрый день. Откуда брать данные настраивается в конфигурационном файле.
А не подскажите как можно управлять камерой(фокус, поворот)?
имеется ip камера beward. C захватом разобрался, а про управление ничего не удалось найти…
Гуглить на тему onvif.
в каталоге с исходниками из командной строки выполнить: qmake -project
В созданном файле проекта Cameron-master.pro добавить строчку: QT += widgets network
Можно в проект добавлять .PRO файл у меня не собралось я начинающий .
In file included from settings/settings.h:8:0,
from appcore.h:6,
from appcore.cpp:1:
./Server/server.h:5:22: fatal error: QTcpServer: Нет такого файла или каталога
compilation terminated.
Makefile:378: ошибка выполнения рецепта для цели «appcore.o»
make: *** [appcore.o] Ошибка 1
Обновил репозиторий, теперь есть.