LINUX.ORG.RU
ФорумAdmin

Zoneminder + Аппаратное кодирование


0

2

Здравствуйте, товарищи.

Имеется вопрос, на который я пока не могу нагуглить внятного ответа: использование GPU для кодирования видеопотока Zoneminder.

Завязка: В доме народ плавно созрел для установки ip-камер, есть кем меня заменить в случае чего — решили делать своими силами. Взяли первый попавшийся системник, накатили по-быстрому убунту + zoneminder — работает, но нагружает CPU.

Очевидно, было бы не плохо взять какую-то среднюю видеокарту, и молотить видеопоток на ней, но убунта при виде GeForce 660 GTX своего поведения почти не меняет.

Похоже, нужно брать генту и выбирать правильные флаги при компиляции. (пока мир не пересобрался, решил спросить совета)

И вот тут у меня не хватает опыта, хотелось бы мнение опытного человека:

Ведь подобный софт типа ZM не кодирует видео самостоятельно, а использует либы типа ffmpeg. В первую очередь эти либы нужно собирать с учетом всех возможностей проца и видеокарты, а потом уже ZM по аналоги?

Или может дело в кривости ZM, и ему это не поможет? Нашел пару топиков об аппаратном кодировании, и не понял, то ли ребятам было лень настраивать, то ли нечего настраивать.

Производитель? Я склоняюсь в nvidia по-привычке, памятуя падучие дрова на ati/amd. Но недавно слышал мнение что ati/amd быстрее на целочисоленных операциях, и вообще, во многом уделывают nvidia — что лучше для данного применения? кто-то имел профит с ati/amd на генте?

Если кто-то делал что-то подобное — можете поделиться опытом?

ZM не кодирует видео самостоятельно, а использует либы типа ffmpeg

Никогда не пользовался ZoneMinder, но в его wiki мелькает упоминание о ffmpeg для кодирования видео.

эти либы нужно собирать с учетом всех возможностей проца и видеокарты

Это вряд ли поможет, такой возможности пока нет. Есть только упоминание о поддержке кодирования с помощью VA-API в задачах на GSoC 2013.

Производитель?

И у AMD и у nVidia сносно работает декодирование. А рабочего кодирования я нигде не видел кроме как у intel'а.

i-rinat ★★★★★
()
Ответ на: комментарий от YAR

Вопрос резонный. Но народ хочет сэкономить.

Учитывая, что деньги не мои — наверное, они имеют на это право. Если это реально позволит сэкономить и не выльется в ферму по кодированию видео — то почему бы и нет?

stream13
() автор топика
Ответ на: комментарий от i-rinat

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

stream13
() автор топика
Ответ на: комментарий от stream13

У меня 2103, которая может делать 3 независимых потока. Какой-нибудь mjpg с 1fps отдаешь motion'у или ZoneMinder'у для обнаружения движения, а по событию - начинаешь захватывать h264@25-поток и писать его в файл.

YAR ★★★★★
()

А точно ли zoneminder делает видеопоток? Он складывает просто же jpeg в СУБД... Или он его делает для монитора? Но вроде нет там ffmpeg в процессах по-умолчанию.

DALDON ★★★★★
()
Ответ на: комментарий от stream13

У меня нет опыта с системами наблюдения, просто хочу сообщить, что надеяться на помощь видеоадаптеров в деле кодирования видео не стоит. Разве что в далёком будущем.

i-rinat ★★★★★
()

Идея тухлая, кодировать не будет.

Потому, что:

1. Zoneminder не пишет видео, вообще. Он складывает стопицот мильенов JPEGов и потом их показывает последовательно, редкостный колхоз. Из-за этого я не стал его юзать.

2. Алгоритмы кодирования в JPEG через OpenCL есть: https://code.google.com/p/jpeg-opencl/

Но это отдельный проект и как его интегрировать фиг знает, возможно он работает как in-place замена libjpeg.

Как вариант - попробуй libjpeg-turbo, это версия оптимизированная под современные процессоры с SSE/AVX.

По идее ее достаточно просто поставить и она заменит libjpeg, и снизит нагрузку на проц.

blind_oracle ★★★★★
()
Последнее исправление: blind_oracle (всего исправлений: 1)
Ответ на: комментарий от blind_oracle

1. Zoneminder не пишет видео, вообще. Он складывает стопицот мильенов JPEGов и потом их показывает последовательно, редкостный колхоз. Из-за этого я не стал его юзать.

Что используешь взамен zoneminder?

anonymous
()

GPU кодирование не советую. Купи проц мощнее и делай все что хочешь.
Похожую тему я уже поднимал

reprimand ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.