klipper:ustreamer
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| klipper:ustreamer [2022/11/10 09:09] – korxif | klipper:ustreamer [2022/11/14 10:02] (текущий) – korxif | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | Первым делом надо остановить и отключить mjpg-streamer, | + | ====== Замена mjpg-streamer на ustreamer ====== |
| - | Выполняем команды: | + | |
| - | < | + | ===== Зачем и почему? |
| + | |||
| + | µstreamer (читается как мю-стример) это mjpg-streamer "на стероидах". Таблица различий | ||
| + | |||
| + | Как пишет сам разработчик: | ||
| + | "Если вы собираетесь вести прямую трансляцию с веб-камеры на заднем дворе и вам нужно ее контролировать, | ||
| + | |||
| + | Ну и ложка дегтя - в kiauh mjpg-streamer | ||
| + | |||
| + | <WRAP center round todo 60%> | ||
| + | Здесь описывается локальная сборка, | ||
| + | |||
| + | </ | ||
| + | |||
| + | Все, что делается по этой инструкции делается из unix-консоли. Т.е. первым делом надо поключиться | ||
| + | |||
| + | |||
| + | ===== Отключаем | ||
| + | Итак, если у нас уже был установлен mjpg-streamer, | ||
| + | |||
| + | Выполняем | ||
| + | < | ||
| sudo systemctl stop webcamd | sudo systemctl stop webcamd | ||
| sudo systemctl disable webcamd | sudo systemctl disable webcamd | ||
| Строка 7: | Строка 28: | ||
| Такими действиями мы не удалили, | Такими действиями мы не удалили, | ||
| - | Далее | + | ===== Установка ustreamer с нуля ====== |
| + | Если | ||
| + | А именно установить утилиты для сборки из исходного кода (уже могут быть, мы же ставили клиппер!) и набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, | ||
| + | |||
| + | <code bash> | ||
| + | sudo apt install build-essential ffmpeg | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Сборка ustreamer ===== | ||
| + | Далее нам надо собрать сам ustreamer. В принципе, | ||
| + | |||
| + | Пререквизиты для сборки make, gcc, libevent c поддержкой pthreads, libjpeg-turbo и libbsd. | ||
| + | |||
| + | <code bash> | ||
| + | sudo apt install libevent-dev libjpeg62-turbo-dev libbsd-dev libgpiod-dev libsystemd-dev | ||
| + | </ | ||
| + | |||
| + | Собираем его (по-умолчанию в нашем домашнем каталоге, | ||
| + | |||
| + | <code bash> | ||
| + | git clone --depth=1 https:// | ||
| + | cd ustreamer | ||
| + | WITH_GPIO=1 WITH_SYSTEMD=1 make | ||
| + | ./ustreamer --help | ||
| + | </ | ||
| + | |||
| + | ===== Установка ustreamer ===== | ||
| + | В итоге, если все получилось, | ||
| + | |||
| + | <code bash> | ||
| + | sudo make install | ||
| + | </ | ||
| + | |||
| + | После выполнения этой команды бинарник стримера будет установлен в / | ||
| + | |||
| + | Дальше нам надо решить вопрос с автозапуском. Что нужно сделать описано [[https:// | ||
| + | |||
| + | Первым делом надо убедиться, | ||
| + | |||
| + | <code bash> | ||
| + | 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.1668071372.txt.gz · Последнее изменение: — korxif
