ООО "Сетевые информационные системы" ПО видеонаблюдения LinuxDVR c поддержкой аналоговых CCTV видеокамер и сетевых IP видеокамер. |
www.LinuxDVR.ru |
Документ изменен: 21.10.2006, распечатан: 29.03.2024Выбор кодека для записи видео.
В этом разделе описывается методика выбора наиболее приемлимого формата файлов
для записи видео и последующей работы с ним.
Какие условия нужно учитывать.
Общую формулу вывести очень трудно, поэтому по каждому пункту списка выше приведем свои мнения и соображения, а решение оставим за Вами. Система гибкая, все параметры можно настроить конкретно по каждой в/к отдельно. Про параметры и как их менять написано тут: настройка видеокамер. 1 Сравнение кoдeков JPEG, MJPEG, MPEG1, MPEG4.Примечание: запись в файлы .mpg кoдeком MPEG1 и .avi кoдeком MPEG4 (DIVX, в следующих версиях XVID) у нас реализована в VBR режиме (varios bitrate), и поэтому качество сжатого изображения постоянное и может регулироваться от плохого к отличному. Запись в файлы .avi кoдeком MJPEG - это тоже самое, что отдельные JPEG, только несколько файлов "в одном флаконе". По скорости сжатия (читай загрузке CPU), разница между JPEG(MJPEG) и MPEG1(MPEG4) составляет примерно в 1,5 раза. По удобству работы с архимом: конечно удобней работать с кадрами, упакованными в один файл, а не с большим списком jpeg-ов. Приведем описание работы с архивом в 2-х случаях.
Примечание: для лучшего понимания текста посмотрите как выглядит интерфейс.
1. Запись в отдельные файлы JPEG. Здесь все просто, сформировав запрос к базе данных и нажав на кнопку Вы получаете список ссылок на сохраненные JPEG-и порциями до 300 ссылок. Хотя и есть автоматический режим Play(вперед/назад) в рамках одного списка кадров, все равно не очень удобно, преимущество только одно - для просмотра нужен только браузер. 2. Запись в файлы AVI или MPG. В этом случае после запроса к архиву, в правом фрейме вы получате 4 jpeg-a (первый кадр с движением и потом 3 кадра в следующие 3 секунды) а затем идут видеофильмы с полным сеансом движения (включая вышеперечисленные кадры). Размер файлов видеофильмов можно задавать от 1 до ... Mb.
Идея такая: сделав выборку по камерам и времени Вы сразу легко в браузере
видите и анализируете первые кадры с движением.
Если что-то интересное (а не уборщица прошла), то уже жмете на ссылку с видеофильмом,
загружается медиаплейер и смотрите видео. Почему мы не делаем "революций" и не используем супер форматы сжатия типа Wavelet, JPEG2000 и т.п., которыми бравируют многие российские (заметьте не зарубежные) разработчики.
Плюсы супер форматов:
Минусы супер форматов:
Дополнительно скажем, что мы далеко не едины с таким подходом к стандартизации решений.
2
Количество видеокамер и общая скорость ввода в кадрах/сек.
Вы должны понимать что главный параметр в нашем случае это общая скорость видеоввода. Например (для локальных в/к подключенных к платам видезахвата): 4 камеры по 25 к/с обеспечат общую скорость 100 к/с, а 24 в/к по 3 к/с обеспечат только 72 к/с. Для сетевых вебкамер скорость ввода настраивается на самом устройстве и может также ограничиватся шириной канала передачи данных. Естественно, чем больше общая скорость, тем больше кадров в каждую секунду подвергаются сжатию и записи на диск. Повторимся еще раз, чтобы Вы запомнили, что считать нужно не по количеству в/к а по суммарной скорости видеоввода в кадрах в секундах.
3
Размер кадра.
По этому параметру почти линейная зависимость по загрузке процессора. Размер кадра для несжатого кадра YUV420P = W х H x 3/2. Пример: 384x288x3/2 = 168 Kb, 640x480x3/2 = 461 Kb. (для тех кто читает через несколько строк - это не сжатое видео, а исходное с драйвера) То есть, при прочих равных условиях, для кодирования кадра в 640x480 CPU потребуется времени более чем в 461/168 = 2,7 раза по сравнению с кадром 384х288. Соответственно во столько же возрастет загрузка CPU. Так что выбирайте оптимальные для Вас значения размера кадра с желаемым качеством изображения и мощностью процессора.
4
Мощность процессора.
Только одна ремарка: если Вам нужно писать живое видео по нескольким каналам с размером 768x576 и непременно в MPEG4 и почему то все кадры подряд(без детектора движения), то сразу выбирайте последние процессоры PIV или Athlon 64. Для тех кто сразу сказал "ФУ": возьмите какую-нибудь распространенную программу для записи видео (м.б. в комплекте с ПО ТВ-тюнера) и поэкспериментируйте записывая какой-нибудь канал. Выбирайте кoдeк DIVX (как самый быстрый из семейства MPEG4), желаемое разрешение и смотрите на загрузку CPU. В LinuxDVR загрузка будет меньше (за счет оптимизации кoдeков и дистрибутива в целом под конкретные возможности CPU), но возможно не на много. Примечание: использование технологий MMX, SSE, SSE2, 3DNow предполагается как само собой разумеющееся.
5
Тип устройств ввода - сетевые вебкамеры или локальные.
С локальными аналоговыми видеокамерами, подключеными к платам видеозахвата все просто. Изображение изначально получается сырое в формате YUV420P - все равно нужно процессору поработать над сжатием. Другое дело интернет камеры. Они уже сжатый поток MJPG выдают. Для них идеальный формат сжатия для записи на диск - MJPEG(AVI).
В этом случае случае алгоритм работы такой:
В результате - нет операции самой ресурсоемкой преобразования формата и можно на один сервер завести в 2-3 раза больше вебкамер, по сравнению с режимом записи с преобразованием формата.
6
Интенсивность и продолжительность движения целей(людей, машин и т.п.) по конкретным в/к.
Это очень важный фактор. Грамотная настройка детектора движения по в/к, позволит писать только кадры в которых что-то происходит и может сильно сократить загрузку системы (или уменьшить требования к ней).
7
Емкость и скорость работы жесткого диска.
Сначала про скорость. Диски желательно выбирать с поддержкой режимов UDMA 100,133 SATA 150. с частота вращения шпинделя от 7200 rpm. И естественно включать поддержку чипсетных драйверов (не в generic/стандартном/общем - IDE или SATA режимах). Иначе производительность заметно падает. LinuxDVR - это специализированный дистрибутив, и в нем обеспечена поддержка всех основных чипсетов и автоматически включаются режимы, ускоряющие работу с диском. А вот примерный расчет емкости диска. Copyright (©) 2004-2010 ООО "Сетевые информационные системы", mailto: |