1

Нужно, чтобы при старте системы запускался фоновый процесс, который будет писать в нужную папку видео (возможно со звуком) с веб-камеры. Запись должна идти блоками (допустим по 5 минут). Файлу должно присваиваться имя в формате [cc][DDMMYYYYhhmmss][sss], где сначала идёт код камеры (например 05), потом момент начала записи деньмесяцгодчасыминутысекунды (например, 01012012080101), потом продолжительность блока в секундах. Т.е. на выходе должно получиться что-то типа 0501012012080101600.avi. Блоки должны писаться подряд, без пауз, всё время работы компа. Желательно, чтобы можно было сжатие, и можно было настраивать параметры видео-аудио. Целевая ОС - OpenSUSE. Желательно конечно без написания программы, или с минимальным написанием.

В принципе ffmpeg позволяет решить задачу, но как сделать, чтобы писалось непрерывно, блоками и с нужным мне именем.

2 (02.03.2012 22:16:48 отредактировано SkaarjZR)

Посмотри опции, напиши скрипт, да засунь в rc.local
Самое сложно - подобрать нужные опции. Думаю, всё есть в man.

3

Чё их смотреть-то, с опциями всё понятно:

ffmpeg -t 10 -f video4linux2 -s 320x240 -r 30 -i /dev/video0 -f oss -i /dev/dsp -f mp4 webcam.mp4

опции строки предписывают следующее:
-t 10 - ограничить время записи десятью секундами
-f - формат видео для захвата
-s 320x240 - разрешение видеозаписи
-r 30 - количество кадров в секунду
-i /dev/video0 - устройство, с которого будем захватывать видео (это может быть не только камера, но и тюнер)
-f oss - используемая система захвата звука
-i /dev/dsp - устройство для захвата звука
-f mp4 webcam.mp4 - имя файла, куда будем писать захваченое видео

Со скриптом не понятно. Надо чтоб никаких консолей не открывалось, чтоб формировалось имя файлы из даты и времени и подсовывалось в опции вызова, чтоб всё это делалось в цикле и чтоб как-то обрабатывались возможные ошибки ffmpeg (т.е. чтоб в случае ошибки ничего не выводилось и делалась приостановка на какое-то время перед следующим запуском ffmpeg). Где это глянуть можно? И это вообще скриптом реализуемо? В будущем, наверно демон буду писать, но пока хотелось бы реализовать максимально просто.

4

Попробуй motion

5

serg42 пишет:

И это вообще скриптом реализуемо?

Впринципе да. Читай мануал по скриптингу и запускай скрипт из rc.local
Готовых рецептов не подкину ибо скрипты пишу достаточно редко.