LINUX.ORG.RU

Забирать данные с IP-видеокамеры через промежуточный сервер


0

1

Всем привет

У себя на даче решил поставить IP-камеру. Поставил, всё работает, на роутере поднял vpn(провайдер даёт серый адрес). Сервер в удалённом ДЦ с этого роутера забирает видеопоток и хранит месяц(на больше пока нет места)

Недавно случилось страшное, интернет не работал 1.5 дня (провайдер даёт интернет через направленный wifi, не очень стабильный, падает в грозы и т.д.). Пока не было интернета, нехорошие люди изрисовали туалет непристойностями. Видео с камеры, естественно, нет, интернет-то не работал :(

Собственно возникла идея, поставить на даче какой-нибудь мини-сервер и забирать поток через него. Т.е. сделать так, чтобы сервер забирал поток с камеры, бил его на мелкие файлики, а потом каким-то образом перемещать файлы на внешний сервер. Это как бы решает проблему отстуствия интернета.

Подскажите каким софтом(желательно, не за $ и под linux) можно воспользоваться для решения этой проблемы, так чтобы потом можно было нормально смотреть эти кусочки

Rsync для синхронизации дачного и ДЦшного серверов, а вот чем с вебки забирать и резать, тут не скажу, возможно ffmpeg-ом могучим.

ЗЫ. Прочитал как:

нехорошие люди изнасиловали туалет

varchar
()

С RTSP либо vlc, либо ffmpeg + обвязка на bash'e. Правда, я никогда видео-поток не пробовал кусочками хранить, но думаю ffmpeg точно настройку имеет, либо можно самому докрутить в него.

kulti ★★
()
Ответ на: комментарий от firestarter

Спасибо за наводку. Насколько я понимаю, ffmpeg -f segment может создать hls-поток(куча .ts-файлов + манифест).А чтобы смотреть это, нужно поднять nginx или другой веб-сервер с функционалом rtmp.

Но если синхронизировать файлы с внешним сервером, то как потом смотреть эту кучу файлов? (тем более что придётся ещё их как-то хитро переименовывать...)

И ещё вопрос, rsync умеет не трогать файлы, которые в данный момент открыты на запись? (чтоб он не пытался залить на внешний сервер .ts-файл, который пишется в данный момент)

leron81
() автор топика
Ответ на: комментарий от leron81

как потом смотреть эту кучу файлов?

Можно сгенерировать m3u8 файл (внутри нужно будет указать соответствующие метаданные, чтобы плеер знал что это HLS). Можно просто cat *.ts >> ../video.ts (проверено)

тем более что придётся ещё их как-то хитро переименовывать

Зачем? Они и так пронумерованы в правильном порядке.

И ещё вопрос, rsync умеет не трогать файлы, которые в данный момент открыты на запись?

Не в курсе.

firestarter ★★★☆
()
Ответ на: комментарий от firestarter

Зачем? Они и так пронумерованы в правильном порядке.

Например, если промежуточный(мини-сервер) перегрузится или на нём будет перезапущен ffmpeg/vlc/прочее, генерящее hls. Нумерация слетит, получится каша. В идеале, сразу именовать файлы unixtime'ом, а не порядковым номером, но готовые решения, как я понял, это не умеют, придётся считывать с файла creation time и называть его unixtime'ом

leron81
() автор топика
Ответ на: комментарий от leron81

Можно просто ffmpeg … -segment … segment-$(date +%s)-%03d.ts
Файлы будут иметь вид segment-1373311319-001.ts, где 1373311319 — время начала записи.

firestarter ★★★☆
()
Последнее исправление: firestarter (всего исправлений: 1)

Подскажите каким софтом(желательно, не за $ и под linux) можно воспользоваться для решения этой проблемы, так чтобы потом можно было нормально смотреть эти кусочки

Обе бесплатные:
motion и zoneminder
Могут хранить на компе и/или выкладывать куда-либо на удаленный ресурс.

провайдер даёт серый адрес

Можно настроить IPv6 (скачать клиент) и напрямую заходить смотреть что там творится.

DiMoN ★★★
()
Последнее исправление: DiMoN (всего исправлений: 2)
Ответ на: комментарий от DiMoN

Подскажите каким софтом(желательно, не за $ и под linux) можно воспользоваться для решения этой проблемы, так чтобы потом можно было нормально смотреть эти кусочки

Спасибо, посмотрю что за софт

Можно настроить IPv6 (скачать клиент) и напрямую заходить смотреть что там творится.

IPv6 over IPv4 это тоже тунель. Только с той разницей, что трафик будет ходить через тунельный сервер, а не напрямую. Абсолютно бессмысленная затея.

leron81
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.