Smoke

 
<<< Back

Как подружить 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

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

Вот и все! =)

Discuss (0) (7)

See also:
2023-03-13 Debounce настройка в z2m
2023-03-06 Боремся с mysql и жором места на диске
2021-10-24 Определяем выключен ли свет по камере о_О
2021-10-18 Опять прокси WS! Теперь для KeenDNS+NGINX
2021-09-19 Хитрый MJPEG или укрощение строптивого
2021-06-08 Парсим информер с Яндекс.Погоды
2021-01-13 Не разговаривает Алиса через облако?
2020-12-15 Разгоняем Xiaomi Home
2020-11-04 Проксирование WebSocket с wss:// -> ws://
2020-11-02 Как получить время езды до работы?
2020-06-02 Стилизация штатного редактора кода, часть 2
2020-06-01 Распознавание речи - бесплатно, просто, быстро.
2020-06-01 Стилизация штатного редактора кода
2020-01-29 Парсим данные баланса из ЛК Билайн (Update)
2020-01-28 Camshoter на свой лад
2020-01-21 Google Location + Yandex Maps, на свой лад
2020-01-19 Получение Я.Погоды из сценария
2020-01-17 Рассказ хейтера сцен в MJDM. Часть 2
2020-01-17 Как можно НЕ использовать сцены в MJDM. Часть 2
2020-01-16 Перезагружаем роутер Zyxel из MJDM
2019-10-07 Управление планшетом из сцен/WEB
2019-10-07 Использование злосчастных WebSoccet
2020-01-17 ~DELETED~
2019-07-23 Как можно НЕ использовать сцены в MJDM. Часть 1.

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

На форуме: SmoKE_xDDD