Как установить mjpg streamer

Захват видео с сетевых камер, часть 1

В этой статье я рассмотрю эти способы передачи изображений с сетевых камер, а также приведу пример захвата таких изображений всё на том же Python’е.

MJPEG over HTTP

Самый простой способ передачи картинки — это MJPEG по HTTP. В этом случае кадры отдаются готовыми JPEG файлами через специальные разделители. Для таких случаев был разработан специальный MIME тип multipart. У него есть несколько подтипов, нас интересуют mixed и x-mixed-replace. Отличий между ними практически нет, мы их будем обрабатывать абсолютно одинаково. Отличие у них смысловое: mixed указывает просто на документ, состоящий из нескольких частей, эти части могут быть независимыми или могут объединяться; а тип x-mixed-replace прямо указывает, что каждая следующая часть должна заменять собой предыдущую и обрабатываться должны как обновление какого-то представления. Буква «x» вначале названия указывает на то, что этот тип является экспериментальным, но тем не менее он во всю используется.

В HTTP заголовке тип MIME указывается в Content-Type параметре:

Чтобы понять структуру передачи MJPEG по HTTP достаточно взглянуть на следующий пример:

Для анализа того, как ваша сетевая камера передаёт изображения, можно воспользоваться либо снифером (я пользуюсь WireShark), либо подключиться к камере через telnet, например так:

После строки GET нужно ещё отправить одну пустую строку для индикации того, что ваш заголовок закончился. А вместо «/jpeg» нужно написать тот запрос, по которому ваша камера отдаёт MJPEG.

В приведённом выше примере %Binary JPEG% соответствует интересующей нас информации — JPEG изображению. Его-то нам и нужно выделить из потока.

После HTTP заголовка (после пустой строки) идёт тело передаваемого документа, состоящего из множества частей. Каждая часть начинается с разделителя, имеет свой собственный заголовок и своё тело документа после пустой строки. Content-Type: image/jpeg указывает нам, что мы действительно получаем JPEG изображения, Content-Length на размер текущего кадра в байтах (в первой части это 23950 байт), а в X-Timestamp может передаваться временная отметка текущего кадра, можно использовать для этих целей текущее время компьютера в момент приёма кадра, но X-Timestamp будет точнее, так как сеть может оказывать разное влияние на скорость передачи кадров.

Python MJPEG over HTTP Client

Параметр debug можно выставить в ноль для отключения отображения выводимой информации.

Загрузить исходный код можно по этой ссылке: Python MJPEG over HTTP Client.

Источник

Фотонаблюдение или timelapse видео на Raspberry Pi

В противовес готовым решениям, самоделка на Raspberry Pi – это достаточно недорого, куда более увлекательно, и гораздо более гибко, благодаря полноценной ОС на борту и терабайтам готового софта на любой вкус.

Для решения описанных задач был придуман следующий алгоритм работы:

В начале дня (по расписанию) в системе запускается процесс, который делает фотоснимки с некоторым интервалом (скажем, раз в минуту), сохраняет их локально на карту памяти и тут же выкладывает на какой-нибудь облачный диск по WebDAV протоколу. Это обеспечивает некоторое подобие «живого» наблюдения, которое, хоть и не требуется по условиям, но является приятным бонусом. В конце дня (тоже по расписанию) процесс фотосъемки прерывается и запускается сборка видеофайла из фотографий. По окончании сборки, видео выкладывается на тот же облачный диск, что дает возможность быстрого удаленного просмотра цельной avi-шки, без необходимости переключения между фото-файлами (10 часов работы, по кадру в минуту, дадут общий хронометраж видео – всего около минуты, при 10 fps).

В таком подходе, конечно, не реализуется видеонаблюдение в его привычном виде, но решаются все поставленные задачи. Кроме того отпадает необходимость покупать у провайдера выделенный IP, чтобы подключаться к камере напрямую, а также нет нужды заводить отдельный сервер видеонаблюдения, потому что его функции хранения и доступа к данным перекладываются на бесплатный сервис (например Яндекс.Диск).

Итак, железо:

Поскольку это мой первый опыт работы с Raspberry, чуть-чуть остановлюсь на вещах, возможно уже известных более продвинутым пользователям.

Первый нюанс – это питание периферийных устройств. Дело в том, что при включении Raspberry от одноамперного источника, USB портам достается совсем немного тока. В итоге у меня не получилось подключить одновременно веб-камеру и USB Wi-Fi dongle, или две веб-камеры: одно из устройств работало стабильно, а другое сначала вроде бы заводилось в системе, но через минуту просто отказывалось работать.

Второй нюанс – количество USB портов. Их в малинке всего два, а значит подключить камеру, клавиатуру и wi-fi одновременно не получится. Однако есть пара решений.

Во-первых можно подключить к Raspberry питающий USB хаб, а в него уже воткнуть всю необходимую периферию. У меня, например, все работало с таким:

Это увеличит число доступных портов и даст им всем достаточно тока, хотя и потребует занять еще одну розетку 220В.

Во-вторых, имеет смысл управлять малиной по SSH – тогда не нужно подключать ни клавиатуру, ни мышь, ни монитор. А если очень хочется увидеть графическую оболочку, то можно установить VNC server и получить удаленный доступ к рабочему столу. Делается это примерно так:

запуск сервера на первом порту:

Теперь подключиться к «малиновому» VNC можно клиентом из под рабочей ОС (под Windows, например, отлично работает UltraVNC )

Выбор и установка софта:

В качестве ОС я использовал Raspbian, как наиболее подходящую для непродвинутых пользователей. Нужно скачать образ системы и установить его на карту памяти с помощью специальной утилиты (Win32DiskImager под Windows). Все это подробно описано на странице загрузок официального сайта Raspberry: www.raspberrypi.org/downloads

После первого запуска системы имеет смысл сконфигурировать часовой пояс, чтобы время создания снимков отображалось корректно.

Конечно, это можно сделать и позже, командой

Для захвата фото с веб-камеры настоятельно рекомендую использовать mjpg-streamer. Эта утилита – единственная среди опробованных на данной конфигурации железа, смогла выдать фото в «правильном» разрешении. Остальные инструменты которые мне довелось испытать (motion, ffmpeg, streamer), никак не отдавали HD картинку, предлагая в лучшем случае только 640×480, а то и вовсе отказывались запускаться. К сожалению в виде исполняемых файлов mjpg-streamer не распространен, однако скомпилировать его оказывается не сложнее, чем установить готовый пакет. Чем и займемся (предполагается, что все операции производятся от имени пользователя pi).

Сначала стоит обновить локальный индекс пакетов, доступных для установки:

Также можно запустить апгрейд уже установленных в системе пакетов, если нужно, хотя на практике все работает и без этого:

Чтобы вывести на фотографиях дату и время их создания, нам понадобится пакет imagemagick, в состав которого входит утилита convert. Она обладает поистине неограниченными возможностями по изменению изображений, так что написать в углу десяток цифр с ее помощью оказывается совершенно несложно. Этот же пакет понадобится и для компиляции mjpg-streamer, так что ставим его, не задумываясь:

Склейкой видео из набора фотографий занимается программа aviconv, которую мы тоже установим не самостоятельно, а вместе с пакетом libav-tools, без которого компиляция mjpg-streamer не будет успешной. Ставим:

Еще понадобится пакет libjpeg8-dev, который также содержит необходимые библиотеки для mjpg-streamer:

Для скачивания исходников c sourceforge понадобится subversion:

А само скачивание и компиляция mjpg-streamer делается так:

Последний шаг – установка пакета для работы с удаленной файловой системой по WebDAV и, собственно, ее монтирование:

В процессе монтирования нужно будет ввести имя пользователя и пароль.

Рабочий процесс шаг за шагом:

Теперь у нас есть все необходимое для дальнейшей работы. Вкратце опишу основные команды, не особо налегая на bash, чтобы не перегружать статью. Думаю, что описание автоматизированных скриптов для запуска отдельных операций может быть поводом для отдельного эссе.

Читайте также:  Для чего развал на задних колесах

Итак, запускаем mjpg-streamer:

Для отрисовки временной метки на изображении используем скрипт примерно такого вида:

Он поставит метку в правом нижнем углу изображения и запишет результат в out.jpg. Получится примерно так:

Для записи на Яндекс.Диск просто копируем нужный файл в /mnt/dav:

Стоит отметить, что само копирование на удаленную файловую систему осуществляется в 2 этапа: сначала файл копируется в локальный кэш где-то в /var/cache/davfs2, а дальше davfs уже занимается собственно переносом файла по сети. Это значит, что команда копирования завершится раньше, чем файл физически окажется доступен в Яндекс.Диске. Поэтому не расстраивайтесь, если не обнаружите на Яндексе только что скопированный файл – скорее всего нужно немного подождать.

Создание видео из набора jpeg-ов нуждается в подготовке: имена файлов должны представлять собой последовательность возрастающих чисел, подчиняющихся определенному шаблону. Вот скрипт, который переименует все jpg файлы в текущем каталоге по возрастанию времени их модификации, а затем запустит конвертацию в avi:

Надо сказать, что avconv – тоже очень мощная утилита, умеющая кодировать практически что угодно во что угодно с доброй сотней параметров. Однако стоит учитывать довольно скромные возможности по софтовому кодированию-декодированию видео у Raspberry, чтобы не возлагать на нее слишком много надежд. Например конвертация набора из примерно 600 файлов в фильм, сжатый в H.264, занимала у меня около двух часов. Поэтому в примере выше я использую кодирование в MJPEG, которое по сути ничего не сжимает, а только склеивает jpg друг с другом. Такая конвертация выполняется за несколько минут и не теряет исходного качества картинок.

Далее, при некоторой сноровке и навыках разработки bash скриптов, можно настроить полностью автоматизированную систему, которая будет, включаться и выключаться по расписанию, убирать за собой мусор, отслеживать доступность свободного места на удаленном диске и т.п. Также через диск можно организовать удаленное управление Raspberry, например, выкладывая в определенный каталог скрипты, которые малинка будет сама забирать и выполнять.

В завершение предлагаю пример самодельного timelapse видео. Обратите внимание, что время в правом нижнем углу — неверное. Это из-за того, что в Raspberry нет часов реального времени, и если ее включить без подключения к интернету, то будет использоваться последнее время работы, без учета часового пояса.

Источник

Как установить mjpg streamer

This is a fork of http://sourceforge.net/projects/mjpg-streamer/ with added support for the Raspberry Pi camera via the input_raspicam plugin.

mjpg-streamer is a command line application that copies JPEG frames from one or more input plugins to multiple output plugins. It can be used to stream JPEG files over an IP-based network from a webcam to various types of viewers such as Chrome, Firefox, Cambozola, VLC, mplayer, and other software capable of receiving MJPG streams.

It was originally written for embedded devices with very limited resources in terms of RAM and CPU. Its predecessor «uvc_streamer» was created because Linux-UVC compatible cameras directly produce JPEG-data, allowing fast and perfomant M-JPEG streams even from an embedded device running OpenWRT. The input module «input_uvc.so» captures such JPG frames from a connected webcam. mjpg-streamer now supports a variety of different input devices.

WARNING: mjpg-streamer should not be used on untrusted networks! By default, anyone with access to the network that mjpg-streamer is running on will be able to access it.

You must have cmake installed. You will also probably want to have a development version of libjpeg installed. I used libjpeg8-dev. e.g.

If you do not have gcc (and g++ for the opencv plugin) you may need to install those.

This will build and install all plugins that can be compiled.

By default, everything will be compiled in «release» mode. If you wish to compile with debugging symbols enabled, you can do this:

Advanced compilation (via CMake)

There are options available to enable/disable plugins, setup options, etc. This shows the basic steps to enable the experimental HTTP management feature:

From the mjpeg streamer experimental folder:

See README.md or the individual plugin’s documentation for more details.

Discussion / Questions / Help

mjpg-streamer was originally created by Tom Stöveken, and has received improvements from many collaborators since then.

mjpg-streamer is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Источник

MJPG-Streamer on a Raspberry Pi Zero W with a USB Webcam Streaming Setup

Last Updated on June 8, 2020.

After my recent move, the streaming and ‘workshop/den/laboratory’ setup has been a lot of work from the ground up on the computer system side. I used to have a Raspberry PI 4 used as a remote webcam that covered my old place’s 3D printing area. While that worked, I never liked the idea of dedicating a whole Raspberry Pi 4 to that – I wanted to try a Raspberry Pi Zero W and see if it could handle the load. Utilizing the popular MJPG-Streamer package, I was able to get that installed and running, though I had a few hiccups which I’ll reference at the bottom.

The article is a combination of various articles I found on the web, referencing older versions of one part or another, and this is a reference for my setup should I need to rebuild it.

Hardware

Fresh Raspbian Install

I’m utilizing the latest version of Raspbian as of this writing, which was released around February, 2020. Flashing that to a simple 16 GB Micro SD Card for a blank slate:

Always fresh, never frozen

Assuming you’re relatively familiar with the Pi, here’s the minimum I’m generally doing as post boot up task work:

After that, the obligatory ‘update’ install:

I can now SSH into the Pi Zero W, disconnect the keyboard, and move along with the install.

Build Dependencies

We need to download some things first before we can build mjpg-streamer. I found some references to articles that pulled from the SVN repo to retrieve and compile, but I ended up getting a large amount of compile errors that look like some library was swapped but the source wasn’t updated. It’s the ‘redefinition of ‘struct statx_timestamp’’ error.

Instead of pulling the SVN version, I’m going to be pulling the Git repo of mjpg-streamer that was created by jacksonliam. This (https://github.com/jacksonliam/mjpg-streamer) is the ‘official’ successor to the now abandoned SVN version at https://sourceforge.net/projects/mjpg-streamer/.

We’ll now install our dependencies before we download and compile mjpg-streamer code:

Git, Make, Install

The make install will copy binaries, libraries and the www pages to the /usr/local/ directory structure:

Test The Build

I’m going to test the build by plugging in a webcam into the Pi Zero W’s lone USB port. Executing dmesg shows that it was loaded properly:

Let’s test by trying to run mjpg-streamer against the input_uvc.so plugin, since I”m not using a Raspi-Camera, but a USB one instead. (Otherwise I’d use input_raspicam.so and enabling the camera module in raspi-config). I’ll also output using the http plugin. So my testing command line looks like this:

Читайте также:  Как узнать историю компьютера

Executing that line gives us a dump of data – here’s the relevant info:

Our key variables to tweak are -f for frame rate, and -r for resolution. I’ll change those later, but for a quick test I head on out to my browser and point it at the www server at http://cam-pi-zero.local:8080/

I always feel like… somebody’s watching me…

Not only do we see the web interface, but a snapshot of the web cam, which was, clearly, laying down on a workbench behind me while I tried this out.

Validating the stream worked (by clicking ‘Stream’) and turning around, I could see myself moving:

Hello you… come here often?

You can now hit CTRL-C in your SSH window (or terminal) and quit the stream. After this point, I could delete the build files I downloaded.

Tweaking configuration

I wanted to run my camera at its intended resolution and at least a frame rate of 30fps. To do that I modified my command line:

I then loaded my own stream up in VLC by opening the direct network path to the stream:

That worked, and I get about a 1-2 second delay from Pi to VLC. So I wouldn’t use this with audio feeds unless I was planning on creating a sync delay. I’m using this to monitor 3D prints, or watch birds outside, so my use case does not demand low latency. Is it exactly 30 frames per second? No…. NO it’s not.

At 1280×720, it seemed closer, but at 1920×1080, when set at 30fps, it definitely wasn’t even close. I’d guess more like 15.

The PI wasn’t maxed out on CPU, but it could just be the nature of USB 2.0 at this point. I’m not sure how I can tell if it’s overloaded there or not, but, once again, this is a light monitoring video stream, I don’t care too much about latency. It could be WiFi as well. Someday I may dig in a bit more and find out where the bottleneck is.

I think you could probably choose either 1920×1080 15fps or 1280×720 30fps routes and be okay.

Running On Startup

I liked Jacob Salmela‘s script – all I did was change it for my command line on the stop and restart section for my resolution and frame-rate. Save the following script by doing a sudo vi:

Then we enable this on startup by performing:

Now you can reboot your pi, or use commands like ‘sudo service livestream start’ I rebooted my pi, and my fed was running, and running a status command on my service yields:

Conclusion

Using the Raspberry Pi for video streams is good enough if we’re looking for low frame rate monitoring without audio. I’ve yet to find anything that really gives me the frame rate and audio (regardless of latency) that a standard USB webcam directly into my OBS machine would give. Maybe if NDI ever makes it on to the raspberry Pi, or if there is ever SLDP support.

Have you tried streaming across the network on a Raspberry Pi with a USB webcam? Did you fare better than I? Let me know!

Nevertheless, with that, I’m done! I can now embed this into OBS via the VLC media source or anything that can handle an HTTP Motion JPEG video stream. I won’t have audio, but that’s okay for what I’m using this for.

Источник

Raspberry Pi и mjpg-streamer или видеотрансляция с

Это моя первая статья о Raspberry Pi.

Часть первая. Установка необходимого ПО

Raspberry Pi, Raspberry Camera module, приложение для смартфона (на Android) IP Cam Viewer, программа захвата видео и трансляции в сетьmjpg-streamer

По поводу установки образа на «малину» я ничего писать не буду, поскольку это уже много раз описывалось.

Подразумевается, что Вы уже умеете это делать. Итак приступим.

Подключаемся по SSH к «малине» и первое, что мы делаем это запускаем обновление

sudo apt-get update

sudo apt-get upgrade (процедура длительная, наберитесь терпения)

Затем заходим вraspi-configи включаем поддержку камерыsudo raspi-config

меняем значение с Disable на Enable

Перезагружаемся, снова коннектимся и устанавливаем дополнительные библиотеки и приложения, которые нужны дляmjpg-streamer:

sudo nano ms/mjpg-streamer-master/mjpg-streamer-experimental/start.sh

убираем две незакомментрованные строки и пишем вместо них вот эти

должно получиться вот так

Далее выходим из редактора nano командойCtrl+X, затемEnter(соглашаемся с изменением) иY(да). Находясь в папкеmjpg-streamer-experimentalзапускаем наш скрипт./start.sh

Должно запуститься и в консоли увидите следующее:

и светодиод на камере должен загореться.

Выход командойCtrl+C. Скрипт остановится и светодиод погаснет.

Далее с браузера заходим по такой ссылке:http://ip-address-raspberry:8080/?action=stream(где ip-address-raspberry – это IP Вашей «малины»)и попадаем на вебсервер, нажимаем на Stream.

Естественно Ваши устройства должны быть в одной сети: компьютер с Putty, «малина» и телефон с Ip Cam Viewer. Если Ваш комп не видит малину, Но Вы точно знаете что SSH имеет доступ, то вероятно у Вас роутер блокирует связь между устройствами. Я так однажды попал. Не наступайте на те же грабли 🙂

Теперь нам надо подключиться с телефона к нашей камере. Я использовал программу IP Cam Viewer, так как она содержит богатый функционал.

Что там нужно сделать, так это только добавить Вашу камеру :

нажимаем «меню», «управление камерами», затем «+» для добавления новой камеры, выбираем «стандартный адрес», Имя: любое; Производитель «Generic URL»; Модель «Generic URL»; URL «вписываем точно такой же адрес «: http://ip-address-raspberry:8080/?action=stream», затем нажимем «Тест» и если изображение с камеры получено, то сохраняем.

Теперь о настройках камеры. Сама камера тоже имеет много настроек изображения. Начиная от разрешения и частоты кадров, заканчивая наложением всяких эффектов. Подробно можно вязть описание с ресурса https://github.com/jacksonliam/mjpg-streamer/blob/master/README.md

Собственно с этого ресурса я взял всю информацию по настройке. Как Вы заметили, я взял разрешение камеры 640х480 и частоту кадров 10 к/с. Максимально возможные эти параметры 1920х1080х30.

Собственно вот результат:

Автор:

Комментариев: 62

crazysova7

Спасибо всё чётко и подробно.

Ivanserov8

Это мой первый пост, поэтому некоторые картинки у меня не вышло загрузить нормально. Если, что непонятно, постараюсь ответить.

kolya04

ViZord1

А вот если это-же наберешь с клавы а не Ctrl-C — Ctrl-V, то заработает. В этой строке символ «-» не тот по ascii. (обычный 45, а этот 8211). Для человеческого глаза это один символ, а для линукса это разные символы. 🙂

kolya04

Здравствуйте ViZord1, спасибо что ответили, но у меня после следующего шага опять все на так. после «cd /ms/mjpg-streamer-master/mjpg-streamer-experimental» отвечает «-bash: cd: /ms/mjpg-streamer-master/mjpg-streamer-experimental: No such file or directory»

ViZord1

kolya04

попробовал, получилось. после «./start.sh» написал что запустилось, но через браузер не могу ничего увидеть, По поводу того, что роутер что-то не пропускает, месяц назад пробовал запустить видеопоток на вебке, тогда все заработало, но не устроило качество вебки, и тогда все снес, сейчас все по-новой и ничего не устанавливал.Кстати, при запуске горит индикатор на самой камере, а видео почему-то нет.

Ivanserov8

тогда просто unzip master.zip

kolya04

все заработало, но задержка приличная, я бы сказал больше чем с вебкой, порой 3-4 сек. использовать для мобильной платформы, с управление через сеть ну очень тормознуто все будет

Ivanserov8

задержка естественно будет. Если нужно уменьшить задержку, то надо понизить качество видео. Задержка практически пропадает на разрешении 640х480, а также можно уменьшить частоту кадров до 15 к/с

Читайте также:  код страны сейшельские острова

kolya04

Так и стояло 640х480, кадров не помню, но судя по тому что видео было с рывками явно меньше 25 кадров, но заметил если малина через Ethernet-кабель что задержки нет.

Ivanserov8

возможно у Вашего роутера не хватает производительности или у Вас WiFi-USB может не справляется с нагрузкой

OsDima

kolya04

не знаю как в RASPBMC, а в RASPBIAN нужно зайти в папку, а потом «make clean all», может и в RASPBMC так же.

Ivanserov8

Переходим в папку cd /ms/mjpg-streamer-master/mjpg-streamer-experimental и собираем make clean all не выходя из этой папки собираем. make нужно установить.

Ivanserov8

sudo apt-get install make

Ivanserov8

Ivanserov8

Внимание! Появились изменения! Пропала поддержка Rasberry Camera. При первой возможности я обновлю статью

alemleon

Ivanserov8

Возможно опечатка где-то. Ругается на то, что не может перейти в папку по указанному адрессу

alemleon

Дело в том, что директории ect/ms/mjpg-streamer-master/mjpg-streamer-experimental у меня нет?

Ivanserov8

а как Вы распаковывали?

alemleon

Выполнял все инструкции, как в статье.

woofer

Здравствуйте! Вы написали, Если Ваш комп не видит малину, Но Вы точно знаете что SSH имеет доступ, то вероятно у Вас роутер блокирует связь между устройствами Похоже у меня тот самый случай. Малинка и компьютер в одной сети подключены к одному роутеру. Подскажите пожалуйста как победить?

Ivanserov8

Отключите брандмауэр в роутере. Включите DHCP, если отключен.

itsagooddaytodie

Спасибо большое за статью! А может кто нибудь подскажет, где можно сменить порт стрима с 8080 на свой?

apssent

Супер! Спасибо автору. А как можно реализовать просмотр нескольких камер одновременно?

Ivanserov8

Нужно прописывать каждую камеру по ip-адресу в программу

apssent

Можно по подробнее?

Ivanserov8

Если у Вас несколько «Малин» с камерами, то просто соединяете их через «свитч»(при условии что у них статичные адреса). Если адреса присваиваются по DHCP, то через роутер.

apssent

Вы не совсем поняли мой вопрос, я имел ввиду вот что, можно ли к одной малине подключить допустим 2 камеры и просматривать с них изображение? Я где то видел статью, там товарищ к mjpg-streamer подключить две камеры и все работало. Вот хотелось бы узнать как он это сделал.

Ivanserov8

Можно, только вебкамеры тормозить будут. Я с одной пробовал, так понижал разрешение до 640х480 и только тогда становилась приемлемое качество. Вы спросите лучше у того, кто это сделал. А ещё лучше ссылку бы нам скинули сюда

Sanchopancho

Огромная благодарность автору статьи. Все заработало отлично(с учетом некоторых комментариев). По-моему это самая лучшая статья на эту тему во всем интернете. Я до этого просмотрел не менее 5-и статей на разных сайтах. Короче — здесь ничего лишнего и добавить нечего. (если что, я чайник в этих делах).

Ivanserov8

Sanchopancho

Уважаемый Ivanserov8, а не могли бы Вы описать на своем примере рассказать как разместить видео на сайте Народного мониторинга. Из других источников я не могу разобраться в каком файле нужно исправить порт для трансляции. (у меня книжка «Raspberri Pi практическое руководство».)Там хорошо все написано, но мутновато.

Ivanserov8

Опишите, пожалуйста, топологию Вашей сети: внешний (белый) IP имеется? Сможете настроить проброс портов на роутере? Вкратце опишу: имеем нашу камеру с поротом вывода 8080. Подключаем её к роутеру и получаем от него по DHCP IP для камеры. Далее на роутере настраиваем маршрутизацию на этот IP и указываем порт назначения 8080. Далее в народном мониторинге добавляете Вашу камеру но с белым IP-адресом и портом 8080. Адрес будет такой «yourip:8080/?action=stream». Я не задавался такой целью, поэтому это только в теории.

Ivanserov8

Ради интереса куплю внешний IP у провайдера и попробую все на деле.

Sanchopancho

Очень благодарен за внимание к чайнику. Я пока переварю Ваш ответ. А там видно будет. Тоесть, как я понял, мне всего лишь нужно инициализировать порт в роутере 8080. А белый IP-адрес это внешний, а не локальный?

Ivanserov8

Да это внешний. Все правильно поняли. Когда Вы будете в народном мониторинге указаывать Ваш внешний IP, то роутер автоматически переадрессует на локальный IP. В этом и есть суть проброса портов

Sanchopancho

… так. Теперь еще пару часиков с бубном попляшу…

Sanchopancho

Уважаемый Ivanserov8. С Вашей подсказкой, Божьей помощью и бубном все у меня заработало. С народного мониторинга получаю снимки. А по сети изображение почти без задержки. Премного благодарен!

Ivanserov8

Очень рад, что Вам помогли мои советы! Удачи в Ваших проектах.

Sanchopancho

Уважаемый Ivanserov8. А не подскажете ли Вы как установить файл start.sh в автозапуск. Я пробовал вставлять скрипт от Time-lapse камеры в /etc/rc.lokal — программа автоматически запускалась при включении Малины. А вот start.sh почему-то не запускается.И еще (если я Вам не надоел) — как находясь в консоли можно удалить системный файл. Или, если есть такая возможность, из-под графической оболочки.

Ivanserov8

я добавлял файл в init.d и автозапуск получался. Если используются два скрипта к одной камере, то естественно будет работать только тот скрипт, который первым запустился и инициализировал камеру. Удаление файлов команда rm под суперпользователем root.

titanium

RelMayer

RelMayer

Ivanserov8

29 — это строка в скрипте, где ошибка. Надо внимательно проверить путь. Потому как если Вы перенесли скрипт в другое место, то и путь в скрипте должен поменяться, поэтому и пишет not found

Ivanserov8

RelMayer

Спасибо большое! Все получилось, но вышла еще одна проблема, у меня Wi-Fi отключается автоматически после 2-3 мин работы с этим приложением. Точно так же с Ethernet подключением. Прим том, что я настроил, чтоб Wi-Fi не отключался вообще: cat /sys/module/8192cu/parameters/rtw_power_mgnt Чтобы отключить функцию управления питанием, нужно создать новый файл: sudo nano /etc/modprobe.d/8192cu.conf и прописать строку options 8192cu rtw_power_mgnt=0 де 0 — Управление питанием отключено

Sanchopancho

Ivanserov8

-R Если исходный_файл указывает на каталог, cp копирует этот каталог вместе со всем деревом файловой иерархии, которое он содержит. Ес- ли исходный_файл оканчивается на /, копируется не сам каталог, а только его содержимое. Эта опция также указывает на необходимость копирования символических ссылок, а не объектов, на которые они указывают, и заставляет cp создавать специальные файлы вместо того, чтобы копировать их, как обычные. Создаваемые каталоги имеют те же права доступа, что и исходные каталоги, вне зависимости от действу- ющего для процесса значения umask. Я читаю книги Колесникова. Хороший писатель.

RelMayer

Ivanserov8

А в чём проявляется зависание? Дистрибутив обновляли?

RelMayer

Ivanserov8

В общем вот Январское обновление Raspberry Pi, ломающее стример

RelMayer

faraday

Прочитав статью не совсем понял, интересуют два вопроса: 1) можно ли транслировать видео 720p/30 при подключении малинки по ethernet? 2) можно ли архивировать видеофайл на внешний диск, или скажем на диск расшаренный по сети?

Ivanserov8

1) Да, конечно можете. 2) Средствами mjpg-streamer нельзя. Но Вы можете взять поток с «малины» другой программой. Я взял IP Can viewer. Можете попробовать прикрутить motion прям на самой «малине». Motion имеет гораздо больший функционал и предназначена для построения видеонаблюдения. Ещё есть AVReg. Отечественная разработка. Работает только на linux-машинах. Вся документация на русском.

Rikigreak

denik

Подскажите, есть ли возможность у данного устройства вести стрим как видео так и аудио потока, с возможность транслировать в сеть? или записи на себя?

Источник

Обучающий проект