Допустим, POS-система выдала отчет за день по использованию скидочных карт. Известно точное время и название кассы.
Хочется получить видеофрагменты -20сек +10сек от прокатывания каждой карты. Либо фотографии!
Для получения кадра сейчас подойдет веб-запрос, отправленный в реальном времени. Но с видео и отмоткой в прошлое совсем беда.
Пробежался по спецификации (http://www.devline.ru/aboutweb/).
Как я понял, веб-сервер не умеет пока работать с архивом. (наследние версии 6.0).
Командная строка умеет открывать архив одной камеры (в режиме --simple) с нужного места. При этом запускается автовоспроизведение.
Это уже здорово.
В итоге сейчас можно одной командой открыть программу и посмотреть нужный кадр +- нужный отступ секунд.
Хотелось бы расширить функционал командной строки:
0. Сделать по-молчанию для режима --archive порт 9780. Сейчас он до сих пор пытается открыть 9779.
1. Добавить параметр --noautoplay.
Сейчас, увы, для --archive запускается автовоспроизведение. Это не всегда удобно.
В итоге мы сможем сразу увидеть нужный кадр.
2. Добавить возможность экспорта кадра на сетевой диск (т.е. с указанием пути). Например:
observer.exe --archive --export --cam-index N --time хх:хх:хx --folder "\\server\share"
либо в реальном времени:
observer.exe --export --cam-index N --folder "\\server\share"
3. Добавить для режима --simple взаимоисключающие параметры --stoptime и --duration,
Где первое это "время остановки" вида хх:хх:хх, второе - "длительность фрагмента" в секундах.
4. Добавить возможность экспорта файлов на сетевой диск с параметрами выше. Например:
observer.exe --archive --cam-index N --time хх:хх:хх --duration 20 --export --folder "\\server\share"
либо в реальном времени:
observer.exe --export --cam-index N --duration 20 --folder "\\server\share"
Во втором и четвертом случае вообще отпадает необходимость иметь настроенный клиент.
В итоге Любая внешняя программа сама сможет отправить на --server команду нарезать кадры или видеофрагменты, и можно будет просмотреть результат прямо из сетевой папки.
Связь с Линией в реальном времени не потребуется, выборку можно делать в конце дня.
Здравствуйте!
По данному вопросу Вам лучше обратится к программисту, показать спецификацию и описать задачу.
На странице http://www.devline.ru/aboutweb/#RPC есть описание и примеры, например для archive.get_frames_list :
Получение списка кадров, доступных для загрузки.
Параметры запроса:
channel - идентификатор канала;
stream - идентификатор потока;
start_time - начало временного отрезка для поиска кадров;
end_time - конец временного отрезка для поиска кадров.
Содержимое ответа:
frames_list - массив, где каждый элемент соответствует одному кадру. Содержимое элемента массива "frames_list":
id - идентификатор кадра;
gop_index - порядковый номер кадра в GOP, 0 - опорный/контрольный/intra кадр;
timestamp - время кадра.
Пример запроса списка кадров потока "video" камеры 0 за 13:00 часов 1 марта 2016 года:
1{
2 "method" : "archive.get_frames_list",
3 "params" :
4 {
5 "channel" : 0,
6 "stream" : "video",
7 "start_time" : [2016, 3, 1, 13, 0],
8 "end_time" : [2016, 3, 1, 14, 0]
9 }
10}
К сожалению никаких дополнительных примеров или исходников нет.