klipper:ustreamer
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| klipper:ustreamer [2022/11/10 09:26] – korxif | klipper:ustreamer [2022/11/14 10:02] (текущий) – korxif | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Замена mjpg-streamer на ustreamer ====== | ====== Замена mjpg-streamer на ustreamer ====== | ||
| + | ===== Зачем и почему? | ||
| + | |||
| + | µstreamer (читается как мю-стример) это mjpg-streamer "на стероидах" | ||
| + | |||
| + | Как пишет сам разработчик: | ||
| + | " | ||
| + | |||
| + | Ну и ложка дегтя - в kiauh mjpg-streamer на момент написания статьи пропал, | ||
| + | |||
| + | <WRAP center round todo 60%> | ||
| Здесь описывается локальная сборка, | Здесь описывается локальная сборка, | ||
| + | |||
| + | </ | ||
| + | |||
| + | Все, что делается по этой инструкции делается из unix-консоли. Т.е. первым делом надо поключиться к вашему уустройству с установленным Klipper по SSH (Putty, Xshell и подобное). Данный конкретный рецепт для OrangePI с установленной системой Raspbian. Для других устройств и OS смотрите сайт проекта µstreamer. | ||
| + | |||
| ===== Отключаем mjpg-streamer ===== | ===== Отключаем mjpg-streamer ===== | ||
| - | Первым делом надо остановить и отключить | + | Итак, |
| - | Выполняем команды: | + | |
| - | < | + | Выполняем |
| + | < | ||
| sudo systemctl stop webcamd | sudo systemctl stop webcamd | ||
| sudo systemctl disable webcamd | sudo systemctl disable webcamd | ||
| </ | </ | ||
| Такими действиями мы не удалили, | Такими действиями мы не удалили, | ||
| + | |||
| + | ===== Установка ustreamer с нуля ====== | ||
| + | Если до этого в системе не было стримера, | ||
| + | |||
| + | А именно установить утилиты для сборки из исходного кода (уже могут быть, мы же ставили клиппер!) и набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, | ||
| + | |||
| + | <code bash> | ||
| + | sudo apt install build-essential ffmpeg | ||
| + | </ | ||
| + | |||
| ===== Сборка ustreamer ===== | ===== Сборка ustreamer ===== | ||
| - | Далее нам надо собрать ustreamer. В принципе, | + | Далее нам надо собрать |
| Пререквизиты для сборки make, gcc, libevent c поддержкой pthreads, libjpeg-turbo и libbsd. | Пререквизиты для сборки make, gcc, libevent c поддержкой pthreads, libjpeg-turbo и libbsd. | ||
| - | < | + | < |
| - | $ sudo apt install libevent-dev libjpeg62-turbo-dev libbsd-dev libgpiod-dev libsystemd-dev | + | sudo apt install libevent-dev libjpeg62-turbo-dev libbsd-dev libgpiod-dev libsystemd-dev |
| </ | </ | ||
| Собираем его (по-умолчанию в нашем домашнем каталоге, | Собираем его (по-умолчанию в нашем домашнем каталоге, | ||
| - | < | + | < |
| - | $ git clone --depth=1 https:// | + | git clone --depth=1 https:// |
| - | $ cd ustreamer | + | cd ustreamer |
| - | $ WITH_GPIO=1 WITH_SYSTEMD=1 make | + | WITH_GPIO=1 WITH_SYSTEMD=1 make |
| - | $ ./ustreamer --help | + | ./ustreamer --help |
| </ | </ | ||
| Строка 33: | Строка 59: | ||
| В итоге, если все получилось, | В итоге, если все получилось, | ||
| - | < | + | < |
| - | $ sudo make install | + | sudo make install |
| </ | </ | ||
| Строка 43: | Строка 69: | ||
| Первым делом надо убедиться, | Первым делом надо убедиться, | ||
| - | < | + | < |
| ls -l / | ls -l / | ||
| + | -rwxr-xr-x 1 root root 419392 ноя 10 12:18 / | ||
| </ | </ | ||
| + | У вас права доступа (-rwxr-xr-x) должны быть как в примере выше. | ||
| + | |||
| + | Запускать процесс будем от имени пользователя klipper. | ||
| + | |||
| + | Добавляем пользователя в группу video (он там уже должен быть, но хуже от команды точно не будет): | ||
| + | <code bash> | ||
| + | sudo usermod -a -G video klipper | ||
| + | </ | ||
| + | |||
| + | Далее нам нужно создать руками конфигурационный файл для systemd. | ||
| + | В нашем случае мы не будем делать как предлагает автор ustreamer' | ||
| + | |||
| + | Используем наиболее привычный вам текстовый редактор в unix-среде (vim, nano, joe..): | ||
| + | |||
| + | <code bash> | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | в файле пишем следующее (обратите внимание - формат, | ||
| + | < | ||
| + | [Unit] | ||
| + | Description=uStreamer service | ||
| + | After=network.target | ||
| + | [Service] | ||
| + | Environment=" | ||
| + | User=klipper | ||
| + | ExecStart=/ | ||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | |||
| + | Включаем автозапуск стримера: | ||
| + | <code bash> | ||
| + | sudo systemctl enable ustreamer.service | ||
| + | </ | ||
| + | |||
| + | и, наконец, | ||
| + | |||
| + | <code bash> | ||
| + | sudo systemctl start ustreamer.service | ||
| + | </ | ||
| + | |||
| + | Убеждаемся, | ||
| + | <code bash> | ||
| + | systemctl status ustreamer | ||
| + | ● ustreamer.service - uStreamer service | ||
| + | | ||
| + | | ||
| + | Main PID: 4544 (main) | ||
| + | Tasks: 7 (limit: 2218) | ||
| + | | ||
| + | CPU: 1.287s | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | |||
| + | Так как мы жестко привязали стример к порту 8080, видеопоток с камеры должен быть доступен по адресу http:// | ||
| + | |||
| + | Если вы настраиваете камеру впервые - идем в web-интерфейс Klipper, раздел " | ||
| + | |||
| + | Этот же самый URL должен быть в telegram.cfg, | ||
| + | Должно быть что-то типа такого: | ||
| + | < | ||
| + | [camera] | ||
| + | host: http:// | ||
| + | </ | ||
| + | |||
| + | Финально проверяем в интерфейсе клиппера - всё должно работать. | ||
| + | {{ : | ||
klipper/ustreamer.1668072362.txt.gz · Последнее изменение: — korxif
