Видео регистратор своими руками

    2014-05-12 11:41 | Автор: Oleg | Filed under: Oleg

    Понадобилось писать по времени видео с вебкамеры. Софта много, но как-то жрало ресурсы и было не совсем удобно. Были программы, которые писали по детектору движения, но и они не устраивали, да еще и большинство за деньги, надо было искать лекарство от жадности.
    Пару недель, ковырял ffmpeg, и тогда заметил, что он умеет работать с источником напрямую. Задача ясна. Погуглив, нашел пару вариантов решения. Ось оказалась 7-ка, значит источник будем брать через dshow. Можно было брать через vfwcap, как рекомендует ffmpeg, но тогда не будет звука 🙁
    Источник: HP Webcam HD-4110.
    Сначала надо определить какие параметры есть у камеры. Для этого необходимо найти название камеры. Все делаем по инструкции.

    Выбираем видео кодек, аудио кодек и контейнер. В моем случае камера поддерживает аппаратный MJPEG, но слишком большой размер файла получается, сжатие то по кадровое, выбор пал на mpeg4, по причине минимального потребления вычислительных ресурсов. Разрешение 1280x720 7.5fps, битрейт был выбран с учетом размера файла 800kbps, аудио кодек aac c битрейтом 32kbps и 44kHz.
    Нужно организовать нарезку файлов. Чтобы не громоздить большими файлами решил нарезать файлы по 15мин.
    Чтобы это все запускалось по расписанию ставлю nnCron LITE.
    Строки в кронтабе:
    */15 8-19 * * 1-6 ffmpeg.exe -y -f dshow -i video="HP Webcam HD-4110":
    audio="Microphone (2- HP Webcam HD-411" -s 1280x720 -r 7.5 -c:v mpeg4 -b:v 800k
    -c:a libvo_aacenc -b:a 32k -ac 1 -ar 44100 -t 898 "\VIDEO_REC\%YYYY%-%MM%-%DD% %hh%-%mm%.mp4"

    nnCron LITE позволяет использовать свои сокрашения типа %YYYY%.
    HDD не резиновый, поэтому организуем ротацию на неделю:
    0 7 * * 1-6 forfiles /P \VIDEO_REC\ /S /M *.* /D 7 /C "cmd /c del /F /Q @path"
    nnCron LITE позволяет запускать приложения с приоритетами, а так же скрывать консоль.

    Результатом вполне доволен. Архив на неделю имеет размер в 30Гб.

    1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)
    Loading...

    Метки: , , , , , , ,

    Comments (1) »