klipper:ustreamer
Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
klipper:ustreamer [2022/11/10 12:07] – создано korxif | klipper:ustreamer [2022/11/14 13: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.1668071278.txt.gz · Последнее изменение: 2022/11/10 12:07 — korxif