LinuxDVR -> AVReg   networks video   PCI card
   


Спец. предложение: для простых задач программа видео наблюдения LinuxDVR - бесплатно >>.
 
  print   версия для печати
Документ изменён: 26.05.2007  
скопирован: 22.09.2017  

96 камер 640x480, 2-5 к/с. Схема на основе дисковых автономных видеорегистраторов.

Основа данного проекта (так сказать, некоторые исходные предпосылки для выбора такого решения).

  • Все или часть каналов арендуются у городских связистов. Каналы либо низкоскоростные (ADSL например), либо по ним ещё что-то передается (городской интернет например). В любом случае, у нас нет отдельной оптики от центра до каждого объекта.
  • Видеокамер - пока 96.
  • На центральном пульте нужно записывать (понятно) и организовать непрерывный мониторинг всех объектов.
  • С целью экономии трафика не должно быть двух одинаковых сетевых потоков данных для просмотра каждой в/к.
  • Оконечные в/регистраторы должны быть необслуживаемые, но дисковые, для сохранения текущей видеоинформации при повреждениях на каналах связи.
  • Приоритет у нас - качество изображения. Поэтому разрешения меньше полного кадра 640х480 не рассматриваем.

Для тестирования решения в рамках пилотного проекта мы можем предоставить все компоненты программного обеспечения бесплатно на срок до 1 месяца.
Безопасный город видеонаблюдение схема

1. Расчет потоков. Загрузка каналов.

От каждого удаленного в/регистратора мы имеем цифровой поток M-JPEG шириной по формуле:

ТРЕБУЕМАЯ ПОЛОСА(Mбит/с) = jpeg_size x chan_nr х chan_fps x Krealnet. x 8/1000000

  • jpeg_size - размер JPEG (в байтах);
  • chan_nr - кол-во каналов (камер);
  • chan_fps - макс скорость выдачи кадров в сеть (кадров в сек);
  • Krealnet - поправочный коэффициент для реальной сети;
  • 8/1000000 - перевести в мегабиты.

Поправочный к/т Krealnet берем с запасом 1,5.
Средний размер JPEG-а 640х480 приличного качества принимаем равным 25 Kb. Предполагаем что камеры монохромные, что чаще и бывает на практике, так как они на порядок лучше видят в условиях ограниченного освещения (сумерки, искусственное освещение улиц и т.п.)

В результате требуемая полоса пропускания до каждого в/регистратора (макс суммарно 12 к/с) получается 3,6 Mbit/сек.

В любом случае, каждый канал LinuxDVR можно очень гибко настроить по размеру кадра, разрешению, компрессии (30 уровней) и скорости выдачи fsp.

На стороне сервера от 96 камер будет собираться поток в 87 Mбит/с (предполагаем средний fps=3 к/с от каждой камеры). C этим справится сетевой гигабитный адаптер.

Такой же поток будет транслироваться на рабочие места наблюдения через второй гигабитный адаптер сервера.


2. Удаленные видеорегистраторы.
сетевые автономные дисковые видеорегистраторы LinuxDVR
2.1 Выбор оборудования.
  • Собственно сам автономный сетевой DVR:
    • Металлический корпус MOREX Cubid 2699RSW Mini-ITX с блоком питания.
    • Одноплатник VIA EPIA ML6000EA [VIA Eden 633MHz, VIA CLE266, fsb133, 1xDDR266, 1PCI, USB2.0, Video, 6ch Sound, Lan, 2xUDMA133, mITX].
    • Память RAM 256 Mb.
    • Винчестер 2'5 или 3'5.
    • 4-х канальная плата видеозахвата на BT878.
    • Soft LinuxDVR - 700 руб за канал/камеру.
  • Источник бесперебойного питания UPS.
  • Металлический ящик для сохранения всего выше, по необходимости.
2.2 Настройка ПО.

Программное обеспечение настраивается и обновляется по сети (http,telnet,ftp).

Ключевые особенности настройки ПО.

  • Настройка захвата:
    • включаем только те камеры которые реально подключены
    • для всех камер
    • cam_type=v4l (аналоговый ввод через плату видеозахвата)
    • geometry=640x480
  • Настройка записи на HDD, для надежности у нас будет писаться и на по месту и на сервере:
    • запись по детектору motion_detector=Вкл плюс настройка детектора естественно;
    • формат записи file_fmt=MJPEG;
  • Трансляция в сеть, для каждой камеры нужно разрешить выдачу потока Motion Jpeg в сеть:
    • webcam_live=Вкл
    • wc_port=номер порта, на котором будет мини веб-сервер трансляции;
    • wc_motion=Вкл - если нужно для экономии трафика - передавать по сети только кадры с движением и дополнительно по одному кадру в сек.(чтобы не прерывался поток в периоды спокойствия, когда картинка в кадре не меняется);
  • Просмотр на локальном мониторе:
    • monitor_live=Выкл - не нужен так как нет монитора, несколько экономим ресурсы.;

В биосе не забываем включить автозагрузку после сбоя питания. После аварийного отключения автоматически проверяются диски, так что возможно загрузка после аварии будет длится несколько минут.

Не забываем включить синхронизацию времени c центральным сервером.


3. Центральный сервер.
3.1 Выбор оборудования.

Выбираем сервер:

  • CPU - некритично, можно однопроцессорный, так как обработки видео не будет (захват и трансляция по сети + запись на HDD).
  • Память RAM - 1Gb.
  • HDD - диски SATAII не менее 7200 rpm или дисковый RAID массив.
  • LAN - 2 гигабитных адаптера.
  • Софт LinuxDVR - 350 руб за канал (прим.: без детектора движения, он у нас на удаленных dvr).

Отдельная ремарка по емкости жесткого диска (или RAID-массива).

Все видеоданные, поступающие с удаленных DVR, сервер записывает на диск. Максимальный поток записи рассчитывается по аналогичной формуле (см. выше расчет для сетевого канала, но без поправочного к-та) и составляет:

  • движение фиксируется по всем в/к
    • 96в/к х 4 к/с x 25Kbyte х = ~ 10 Мбайт / сек или 36 Гб в час или 864 Гб в день.
  • движение нет по всем в/к, передается только 1 к/с
    • 96в/к х 1 к/с x 25Kbyte х = ~ 2,4 Мбайт / сек или 8,6 Гб в час или 210 Гб в день.

Однако, на практике, значение будет где-то посередине, ближе к минимальному.

Совершенно понятно что большую глубину архива на сервере сложно обеспечить, но на удаленных DVR глубина архива может составлять до нескольких месяцев в зависимости от интенсивности движения и емкости HDD.

Использование конвертации в MPEG4 не будем использовать в этом решении, так как

  • межкадровый кодек MPEG4 эффективен на живом видео (от 15 к/с) при небольших изменениях в кадре (в этом решении передаются только кадры с движением и макс 5 к/с);
  • существенно возрастет нагрузка на CPU, что повлечет за собой значительно увеличение затрат на сервер или даже скорее всего не один.

3.2 Настройка ПО.

Ключевые особенности настройки ПО.

  • Настройка захвата:
      для всех камер
    • cam_type=netcam (потоки MJPEG)
    • geometry=640x480
    • для каждой камеры
    • InetCam_URL=http://ip_адрес:port, где ip_адрес - адрес удаленного DVR и port - номер порта конкретной видеокамеры на DVR, см. параметр wc_port на DVR;
  • Настройка записи на HDD:
    • отключаем детектор motion_detector=Выкл (этим у нас CPU на каждом DVR занимаются);
    • формат записи file_fmt=MJPEG;
  • Трансляция в сеть на рабочие места наблюдения, для каждой камеры нужно разрешить выдачу потока Motion Jpeg в сеть:
    • webcam_live=Вкл
    • wc_port=номер порта, на котором будет мини веб-сервер трансляции;
  • Просмотр на локальном мониторе:
    • monitor_live=Выкл - не нужен, экономим ресурсы;

4. Рабочие места наблюдения.
4.1 Выбор оборудования.

Совершенно бюджетный компьютер, но с хорошим монитором 19 дюймов.

На каждом РМ одновременный просмотр до 16 в/к. Для одного оператора это более чем достаточно.

4.2 Настройка ПО.

Ключевые особенности настройки ПО.

  • Настройка захвата:
      для всех камер
    • cam_type=netcam (потоки MJPEG)
    • geometry=640x480
    • для каждой камеры (всего 16 на каждом РМ)
    • InetCam_URL=http://ip_адрес СЕРВЕРА:port, где port - параметр wc_port на СЕРВЕРЕ для конкреной в/к из 96;
  • Настройка записи на HDD:
    • отключаем детектор motion_detector=Выкл;
    • отключаем запись save_image=Выкл;
  • Просмотр на локальном мониторе:
    • monitor_live=Вкл;
 



Яндекс цитирования Rambler's Top100 Rambler's Top100 ООО "Техносвязь"