Бесплатно. На домашнем роутере пробрасываете наружу порт для камеры, далее заходите на свою камеру из-вне и смотрите изображение.
Ну, может только роутер придётся купить.
По большей части им были не довольны клиенты: не удобен в работе, не захватывает аудио. И может, конечно, это я его настраивать не умею, но при сбоях питания очень часто портится база так, что не посмотреть сохранённые ранее записи. Да и сама запись в кучу последовательных JPEG файлов несколько огорчает (даже с учётом возможности дельнейшего перекодирования, всёравно не феншуй). Сейчас где позволяет бесплатная лицензия (до 4 каналов) я использую AVReg (бывший linux-DVR), а если регистратор платный ставят, то обычно это либо GLOBOSS, либо Domination, но я ими не занимаюсь.
Так что поле свободных регистраторов ещё далеко не перепахано.
Так можно же камеры прогнать через компьютер. У меня так на одном объекте 4 камеры работают, прога забирает с них изображения а далее раздаёт в интернет (в том числе и на сайт), можно регулировать частоту кадров и размер изображения. Раздаёт тоже MJPEG, но по HTTP. Если больше никакой специфики не нужно, то должны справится и другие проги такие как flumotion или ffserver.
Стояли вполне конкретные задачи, использовать собственный клиент оказалось легче и надёжднее, чем подключать готовые решения (я правда пробывал, включая OpenRTSP, gstreamer и ffmpeg). А когда код обрёл некую универсальность, то решил поделиться им с общественностью.
Твистед как раз для облегчения рутины, считаете нужно было пользоваться socket?
Я не говорю, что хочу создать систему основываясь на приведённом в статье коде, в этом случае действительно стоит по максимуму задействовать готовые библиотеки.
Кстати, к этому коду h264 прикрутить не сложно, в смыле сохранение видео потока без декодирования, который бы проигрывался в любом плеере. А ffmpeg у меня сейчас работает с модулем на С, который контролируется питоновским скриптом.
Да, этот код сначала создавался без какой бы то нибыло проработки, особенно видно в rtsp_client.py. По хорошему переписать его надо. Плюс хорошо было бы отойти от использования питоновских листов в пользую простых массивов. Многие моменты отсутствуют необходимые для законченных решений, но этот код работает и используется. А вот построение архитектуры является моей основной проблемой.
Пожалуйста.
Только что подключил четыре VLC, ноут уже сильно торомзил. С одним клиентом задержка изображения составляла полторы секунды, с четырмя составила почти две с половиной секунды.
Камера мне очень нравится, шустрая, картинка хорошая, есть ночной режим. Много настроек. Может одновременно отдавать видео в нескольких форматах, может что-то записывать на microSD. Стоит такая порядка 15к, есть ещё подобная, купольная, она уже где-то 10к стоит.
У меня есть долгосрочное желание написать свою систему видеонаблюдения. Простая система у меня уже есть, записывает видео с video4inux2 устройств с помощью ffmpeg. Хочу сделать её максимально модульной, чтобы кто угодно мог писать расширения для неё. Основная проблема в грамотном дизайне архитектуры.
C плюсами и минусами, конечно, привычнее, но я лично считаю их не красивыми. А без них пользователи легко узнают о разворачиваемости из-за необычного вида тега: он будет необычно маленького размера, курсор будет pointer и внизу будет темная линия. Нажмут на него и опа — развернулся. А если разворачивается, то и о сворачивании догадаются.
Какой именно момент про нумерацию? То что отображать слева? Или то как разбивать длинные строки, не нарушая нумерации?
Сворачивать source можно нажатием на первую строчку, без дополнительных кнопок и минусов, только делать курсор pointer.
Если desc не указан, то в свёрнутом состоянии отображать первую строчку, плюсик вначале строки даже не обязателен, если выделить свёрнутость стилем. А стиль, например, отображать border-bottom более тёмным серым или слегка голубым цветом, может толщиной в 3 пикселя.
А нумерацию строк желательно вывести слева от тега, как сейчас находится кнопка «написать новый хабратопик». Чтобы существующие строки не сокращались. И нужно что-то будет сделать с переносом строк, так как вынужденно длинные строки уходят за край тега, их часть приходится переносить на следующую строку, указывая, что это должны быть одна строка. Так вот нужно чтобы в этом случае нумерация учитывала это тоже. Может обозначить каким-нибудь тегом мягкий перенос? Где длинная строка будет разрываться с сохранением единого номера. Или же вовсе сделать горизонтальную прокрутку, которая появлялась бы тоже только при наведении? Или сделать автоматическую разбивку на строки в местах знаков препинания (.,:;-+*/&|()#~%).
Это правельное решение. Нежели всей толпой пытаться протиснутся в узкую дверь лучше выстроится в очередь и пройти по одному, нужно лишь немного постоять в очереди.
Очень хорошо изложено. На мой взгляд ещё стоит добавить про modprobe.d/*.conf — автоматическое конфигурирование модулей при загрузке. Полезно в частности для видео устройств.
Ну, может только роутер придётся купить.
Да, по свободной.
Так что поле свободных регистраторов ещё далеко не перепахано.
Твистед как раз для облегчения рутины, считаете нужно было пользоваться socket?
Я не говорю, что хочу создать систему основываясь на приведённом в статье коде, в этом случае действительно стоит по максимуму задействовать готовые библиотеки.
Кстати, к этому коду h264 прикрутить не сложно, в смыле сохранение видео потока без декодирования, который бы проигрывался в любом плеере. А ffmpeg у меня сейчас работает с модулем на С, который контролируется питоновским скриптом.
В любом случае спасибо за здоровую критику.
Только что подключил четыре VLC, ноут уже сильно торомзил. С одним клиентом задержка изображения составляла полторы секунды, с четырмя составила почти две с половиной секунды.
Камера мне очень нравится, шустрая, картинка хорошая, есть ночной режим. Много настроек. Может одновременно отдавать видео в нескольких форматах, может что-то записывать на microSD. Стоит такая порядка 15к, есть ещё подобная, купольная, она уже где-то 10к стоит.
Может только фон изменить, сделать его таким же как и у тега, и цвет номеров соответственно.
А вот так при сворачивании:
Какой именно момент про нумерацию? То что отображать слева? Или то как разбивать длинные строки, не нарушая нумерации?
Если desc не указан, то в свёрнутом состоянии отображать первую строчку, плюсик вначале строки даже не обязателен, если выделить свёрнутость стилем. А стиль, например, отображать border-bottom более тёмным серым или слегка голубым цветом, может толщиной в 3 пикселя.
А нумерацию строк желательно вывести слева от тега, как сейчас находится кнопка «написать новый хабратопик». Чтобы существующие строки не сокращались. И нужно что-то будет сделать с переносом строк, так как вынужденно длинные строки уходят за край тега, их часть приходится переносить на следующую строку, указывая, что это должны быть одна строка. Так вот нужно чтобы в этом случае нумерация учитывала это тоже. Может обозначить каким-нибудь тегом мягкий перенос? Где длинная строка будет разрываться с сохранением единого номера. Или же вовсе сделать горизонтальную прокрутку, которая появлялась бы тоже только при наведении? Или сделать автоматическую разбивку на строки в местах знаков препинания (.,:;-+*/&|()#~%).