Вопрос или проблема
Я пытаюсь транслировать видео с моей USB-камеры через Motion, используя Linux 21.2. Она отображается через localhost:8080
, но я пытался отключить поток через localhost
, чтобы можно было просматривать его с другого компьютера (ноутбука) в той же сети.
В файле конфигурации поток localhost
отключен, но я все еще могу получить к нему доступ через localhost:8080
, но не при поиске ip.adress:порт
на другом устройстве.
Моя конфигурация:
# Номер порта, используемого для веб-контроля.
webcontrol_port 8081
# Ограничить подключение веб-контроля только локальным хостом.
webcontrol_localhost on
# Тип параметров конфигурации, разрешенных через веб-контроль.
webcontrol_parms 0
############################################################
# Параметры конфигурации живого потока
############################################################
# Номер порта для живого потока.
stream_port 8080
# Ограничить подключения потока только локальным хостом.
stream_localhost off
В файле motion.conf
(/etc/motion/motion.conf
) замените номер порта на 0, чтобы отключить поток, например:
stream_port 0
Ответ или решение
Конфигурация и эксплуатация видеопотока через Motion может оказаться сложной задачей, особенно если вашей целью является доступ к камере с другого компьютера в сети. Вы столкнулись с задачей, когда камера доступна через localhost:8080
, но вам необходимо сделать ее доступной для других устройств в вашей локальной сети.
Теория
Основная цель таких настройек – управление видеоаналитикой и доступом к видеопотокам для мониторинга и записи. Motion — это программное обеспечение для передачи видеопотоков с камер в реальном времени. Оно предоставляет интерфейс для контроля и настройки через сетевые соединения (webcontrol), а также позволяет передавать видеопоток на указанный порт.
Ваша попытка открыть доступ к потоку через другой компьютер предполагает настройку конфигурации так, чтобы Motion принимал запросы не только от локальной машины, но и от других устройств в сети.
Пример
Как видно из вашего конфигурационного файла, вы используете Motion версии для Linux 21.2 с описанными ниже настройками:
-
Webcontrol — предоставляет интерфейс управления Motion, который также контролирует различные параметры конфигурации через веб-браузер.
webcontrol_port 8081
— порт контроля интерфейса.webcontrol_localhost on
— подключение к интерфейсу доступно только локальным пользователям. Для доступа извне этой сети, необходимо изменить значение наoff
.
-
Live Stream — отвечает за потоковое вещание видео.
stream_port 8080
— порт, через который отправляется видеопоток.stream_localhost off
— важный параметр, который позволяет сделать видеопоток доступным для устройств за пределамиlocalhost
.
У вас установлено, что stream_localhost
выключен, что, в теории, должно позволить доступ по IP адресу из другой машины, однако, вы сталкиваетесь с продолжающимися ограничениями.
Применение
Вот шаги и рекомендации, которые могут помочь вам решить проблему и уделить внимание еще нескольким моментам конфигурации:
-
Проверка IP адреса: Убедитесь, что вы правильно определили IP адрес вашего сервера, на котором работает Motion. В терминале используйте команду
ifconfig
илиip addr
для выявления IP адреса. -
Firewall и сетевые настройки: Убедитесь, что нет ограничений на уровне Firewall, которые могут блокировать доступ к порту 8080 с других машин. Используйте команду
sudo ufw status
на сервере для проверки правил персонального Firewall (если используется). -
Разрешайте доступ через Webcontrol: Измените
webcontrol_localhost
наoff
и перезапустите Motion с помощью командыsudo systemctl restart motion
, чтобы применить изменения. Это позволит проверять статус вашего сервера извне, хотя это не обязательно для потока. -
Проверка разрешений: Перепроверьте разрешения и права доступа к конфигурационному файлу
motion.conf
. Он должен быть читаемым для пользователя, от имени которого запускается служба Motion. -
Логи Motion: Проверьте журналы Motion, обычно они могут помочь диагностировать возможные причины проблемы. Используйте
journalctl -u motion
для просмотра логов в системе Linux. -
Конфигурация сети:
- Убедитесь, что устройство, с которого вы пытаетесь получить доступ к потоку, подключено к той же сети, что и сервер Motion.
- Присвойте своему серверу статический IP адрес, чтобы избежать переписывания динамического IP адреса после перезагрузки роутера.
Последние шаги могут казаться базовыми, однако каждый из них играет важную роль в успешной настройке системы видеопотока. Если выполнение данных рекомендаций не приводит к положительному результату, возможно, стоит рассмотреть обновление или переустановку ПО или поиска внешней помощи для детального анализа инфраструктуры вашей сети и настройки защиты.