1) Если запись осуществляется по серверному детектору движения, то, при условии поддержки камерами встроенной детекции движения, можно перенести часть нагрузки с сервера на сами камеры.
2) Если камеры поддерживают более одного потока, то можно включить в программе получение двух потоков с каждой камеры - основного потока в большом разрешении и в формате H.264 (для записи и передачи клиентам в случае необходимости качественной картинки) и дополнительного потока в небольшом разрешении и формате MJPEG (для анализа детектором движения и передачи клиентам - для профилей просмотра с большим количеством камер).
3) Можно снизить количество анализируемых серверным детектором в секунду кадров. Например, если поток с камеры идет со скоростью 25 кадр/сек, то, в большинстве случаев, нет смысла анализировать все 25 кадров - это напрасная трата мощности. Достаточно поставить 5-10 кадров на анализ. Определить необходимое число кадров в секунду можно в окне настройки детектора движения, где выводится тестовый видеопоток - по нему видно с какой скоростью будут отлавливаться изменения положения объекта.
4) Если сервер не используется в качестве клиента, то можно включить для части камер декодирование на видеокарте при детекции движения. Для этого необходимо в настройках серверного детектора движения установить флаг "Использовать видеокарту для декодирования H.264". Если сервер используется и в качестве клиента, то лучше выбрать декодирование на видеокарте для режима отображения, а не детекции движения. Для этого необходимо задать пункт "Декодирование H.264" (окно настройки камеры, вкладка "Дополнительные") в значение "На видеокарте".