Smoke

<<< Назад

Как подружить Camshoter и обычную вебку

Расскажу как из обычной веб камеры снять rtsp поток и использовать модуль Camshoter. Только Linux!

Привет всем!

Давно меня манил модуль Camshoter (camshoter) от directman66, очень я его хотел себе приколхозить ибо покупать камеру, которая умеет rtsp совсем не хотелось, да и в закромах валяется 6 USB камер Logitec C270.

Что потребуется?

  • Любая вебка
  • Любой linux

Установка

1) Устанавливаем ffserver
apt-get install ffmpeg
2) Открываем конфиг
sudo nano /etc/ffserver.conf
3) Вбиваем в конфиг

HttpPort 8090 
RtspPort 5554
HttpBindAddress 0.0.0.0 
MaxClients 1000 
MaxBandwidth 10000 
NoDaemon 

<Feed feed1.ffm> 
File /tmp/feed1.ffm 
FileMaxSize 5M 
</Feed> 

<Stream test.mpeg4>
Feed feed1.ffm
Format rtp
VideoCodec mpeg4
VideoFrameRate 30
VideoBufferSize 80000
VideoBitRate 100
VideoQMin 1
VideoQMax 5
VideoSize 640x480
PreRoll 0
Noaudio
</Stream>

Естественно, порты можно поменять. Веб админку отключим, но порт все равно нужно оставить в конфиге.
4) Создаем 2 .sh скрипта для запуска и остановки службы (Я создал в папке /var/www/

sudo -i
nano /var/www/start_ffserver.sh

в нем пишем:

#!/bin/bash -

# Запускаем ffserver
/usr/bin/ffserver;

Сохраняем, закрываем.
Дальше еще 1 скрипт:

nano /var/www/start_ffmpeg.sh

и в нем:

#!/bin/bash -

ffmpeg -r 30 -s 640x480 -f video4linux2 -i /dev/video0 http://localhost:8090/feed1.ffm

Сохраняем, закрываем.
Дальше еще 1 скрипт:

nano /var/www/stop_ffserver.sh

в нем:

#!/bin/bash -

killall ffserver;
killall ffmpeg;

Сохраняем, закрываем.
Далее делаем их испольняемыми:

chmod ugo+x /var/www/start_ffserver.sh
chmod ugo+x /var/www/stop_ffserver.sh
chmod ugo+x /var/www/start_ffmpeg.sh

Готовченко! Осталось запилить скрыпты как службы и запускать при старте системы...
1 служба:

nano /etc/systemd/system/ffserver.service

в ней пишем:

[Unit]
Description=Start_FFServer

[Service]
ExecStart=/var/www/start_ffserver.sh
ExecStop=/var/www/stop_ffserver.sh

[Install]
WantedBy=multi-user.target

Сохраняем, закрываем.
2 служба:

nano /etc/systemd/system/ffmpeg.service

в ней пишем:

[Unit]
Description=Start_FFMpeg
Requires=ffserver.service
After=ffserver.service

[Service]
ExecStart=/var/www/start_ffmpeg.sh

[Install]
WantedBy=multi-user.target

Сохраняем, закрываем.
Выставляем права:

chmod 664 /etc/systemd/system/ffserver.service
chmod 664 /etc/systemd/system/ffmpeg.service

Релод служб:

systemctl daemon-reload

и включаем автозапуск:

systemctl enable ffserver
systemctl enable ffmpeg

Готово!

Запускаем все это безобразие!

systemctl start ffserver
systemctl start ffmpeg

Идем в модуль и добавлем нашу камеру как у меня (Если ничего не меняли):

Вот и все! =)

Обсуждение (0) (7)

Смотрите так же:
02.06.2020 Стилизация штатного редактора кода, часть 2
01.06.2020 Распознавание речи - бесплатно, просто, быстро.
01.06.2020 Стилизация штатного редактора кода
29.01.2020 Парсим данные баланса из ЛК Билайн (Update)
28.01.2020 Camshoter на свой лад
21.01.2020 Google Location + Yandex Maps, на свой лад
19.01.2020 Получение Я.Погоды из сценария
17.01.2020 Рассказ хейтера сцен в MJDM. Часть 2
17.01.2020 Как можно НЕ использовать сцены в MJDM. Часть 2
16.01.2020 Перезагружаем роутер Zyxel из MJDM
07.10.2019 Управление планшетом из сцен/WEB
07.10.2019 Использование злосчастных WebSoccet
17.01.2020 ~DELETED~
23.07.2019 Как можно НЕ использовать сцены в MJDM. Часть 1.

Нижний Новгород, Россия

На форуме: SmoKE_xDDD