Добрый вечер. прошу поделиться опытом у кого есть или просто посоветовать что-то поумнее, чем уже придумано.
Для начала что есть:
- х камер видеонаблюдения (статичные ип адреса, камеры отдают RTSP stream)
- сервер (линух) выделенный только под эту задачу.
- быстрый свич все это дело соединяющий.
задача: писать все потоки на сервер, хранить 2 недели, потом удалять.
проблема: камеры периодически отрубаются, отсюда задача номер два: быстро понять что, ничего не пишется и перезапустить процесс. (достаточно запустить процесс заново и все ок, какой-то глюк в прошивке камер, накат последней прошивки не помог).
для винды, производитель камер написал софтину, которая сама понимает шо камера дисконнектнулась и перезапускает запись.
на линух производитель забил.
что придумалось на данный момент и, мне кажется, будет работать.
шедуллером запускается Х процессов VLC плеера (или любого другого софта, способного сохранять RTSP поток. X = кол-во камер) , которые пишут куда-то свои PID и уходят в бекграунд. вместе в ПИДом пишется имя файла, куда данный процесс в настоящий момент пишет поток.
по крону, раз 2 (1||3||5||...) секунды оббегаю эти текущие файлики и пытаюсь поставить на них обычный лок.
- если лок не поставился - все ок, значит процесс живой и пишет туда. делать ничего не надо.
- если лок встал - значит процесс не пишет, нужно его перезапустить. убиваю процесс по пиду и запускаю заново.
я случайно не изобретаю велосипед?![Smile :) :)](/talk/styles/default/xenforo/smilies/smile.png)
Для начала что есть:
- х камер видеонаблюдения (статичные ип адреса, камеры отдают RTSP stream)
- сервер (линух) выделенный только под эту задачу.
- быстрый свич все это дело соединяющий.
задача: писать все потоки на сервер, хранить 2 недели, потом удалять.
проблема: камеры периодически отрубаются, отсюда задача номер два: быстро понять что, ничего не пишется и перезапустить процесс. (достаточно запустить процесс заново и все ок, какой-то глюк в прошивке камер, накат последней прошивки не помог).
для винды, производитель камер написал софтину, которая сама понимает шо камера дисконнектнулась и перезапускает запись.
на линух производитель забил.
что придумалось на данный момент и, мне кажется, будет работать.
шедуллером запускается Х процессов VLC плеера (или любого другого софта, способного сохранять RTSP поток. X = кол-во камер) , которые пишут куда-то свои PID и уходят в бекграунд. вместе в ПИДом пишется имя файла, куда данный процесс в настоящий момент пишет поток.
по крону, раз 2 (1||3||5||...) секунды оббегаю эти текущие файлики и пытаюсь поставить на них обычный лок.
- если лок не поставился - все ок, значит процесс живой и пишет туда. делать ничего не надо.
- если лок встал - значит процесс не пишет, нужно его перезапустить. убиваю процесс по пиду и запускаю заново.
я случайно не изобретаю велосипед?
![Smile :) :)](/talk/styles/default/xenforo/smilies/smile.png)