Просмотр и запись c капризной ip камеры
Просмотр и запись c капризной ip камеры
Часто в зоопарке ip камер попадается такая камера видеонаблюдения, которая не дружит с остальными. Что же в такой ситуации делать? Менять камеру? Городить отдельный видеорегистратор для одной камеры? Или ловить RTSP поток, конечно если она может его отдать =)
Подопытная камера видеонаблюдения KENO KN-DE201V2812. Для начала убедимся, что камера может дать картинку по RTSP и посмотрим на нее. Существует такой универсальный проигрыватель VLC media player, качаем и устанавливаем.
Запускаем VLC, жмем медиа –> открыть URL -> вкладка сеть и вводим сетевой адрес камеры, с которого забирать RTSP поток, в моем случае это rtsp://192.168.10.160:554/H264?ch=1&subtype=0, где rtsp – протокол, 192.168.10.160 – ip адрес камеры, 554 порт, H264 – кодек, ch=1 – номер канал, subtype=0 – основной поток. Посмотреть его можно в настройках камеры (иногда), или нагуглив. Жмем воспроизвести, видим картинку и радуемся, камера может давать картинку по RSTP.
Разберемся с записью, а чтобы было все серьезно, даже с записью по расписанию и удалению старых записей =) Реализовано все это будет с помощью скриптов, планировщика и VLC.
Скрипт №1. Запуск записи
Создаем текстовый документ с расширением cmd.
Сам скрипт:
@echo off
:L
for /f «delims=.» %%i in (‘wmic.exe OS get LocalDateTime ^| find «.»‘) do set sDateTime=%%i
«C:\Program Files (x86)\VideoLAN\VLC\vlc.exe» -vvv «rtsp://192.168.10.160:554/H264?ch=1&subtype=0″ —sout=file/ts:»D:\160\video-%sDateTime%.ts» —run-time=900 —play-and-exit —qt-start-minimized
goto :L
Подробно разбирать я его не буду, скажу только необходимое, имя файла составляется из локальной даты и времени, C:\Program Files (x86)\VideoLAN\VLC\vlc.exe – путь к vlc, rtsp://192.168.10.160:554/H264?ch=1&subtype=0 – адрес камеры, sout=file/ts:»D:\keno\video-%sDateTime%.ts» – путь для записей (video-%sDateTime%.ts не трогаем), run-time=900 – записывать файлы по 15 мин.
Скрипт написан, далее установим, когда его запускать. Для этого воспользуемся планировщиком заданий жмем пуск и пишем планировщик, открываем.
Жмем создать задачу
Переходим во вкладку триггеры и создаем новый, как на скриншоте ниже, например. Далее следующая вкладка, действия. Действие запуск программы и выбираем, только что созданный скрипт.
Скрипт №2. Завершение записи
Аналогично создаем текстовый файл с расширением cmd и вставляем туда запись:
@echo off
taskkill.exe /F /IM vlc.exe
taskkill.exe /F /IM cmd.exe
taskkill это программка, которая прибивает процессы. Для того чтобы прекратить запись нам нужно закрыть vlc и скрипт его запускающий.
В таком же порядке добавляем запись в планировщик о завершении записи.
Скрипт №3. Удаление старых записей
Создадим последний скрипт для удаление старых записей. Воспользуемся программкой forfiles – это программа для выбора файла и выполнения команды над ним.
У меня скрипт выглядит так:
@echo off
forfiles.exe /P D:\keno\ /D -4 /C «cmd /C del @file»
Вам нужно поменять стартовый путь, где искать программе файлы (ключ /P) и условия для выбора файла (ключ /D). В моем случае выбор происходит по дате изменения, -4 означает, что файлы с датой создания на 4 и больше отличающиеся от текущей будут удалены.
Скрипт готов создаем задачу в планировщике для этого скрипта и не вспоминаем больше об этой камере =)
Если у Вас есть потребность в настройке систем видеонаблюдения, можно обратиться к нам.