Как найти правильный URL MJPEG-потока для камеры 3D-принтера

Как найти правильный URL MJPEG-потока для камеры 3D-принтера

автор FixoLab


Веб-страница камеры — это не обязательно её видеопоток. На ней могут быть элементы управления, JavaScript и изображение, источник которого указывает в другое место. Printer Tools нужен настоящий URL MJPEG-потока для внешней MJPEG-камеры или совместимого превью OctoPrint и Crowsnest.

Не менее важна разница между снимком и потоком. Снимок возвращает одно изображение; MJPEG продолжает отправлять JPEG-кадры в рамках одного HTTP-ответа.

Printer Tools
Printer Tools

Все ваши 3D-принтеры на одной панели

Следите за принтерами Bambu Lab, Klipper, OctoPrint, Creality, Snapmaker, Anycubic, Flashforge, Elegoo и Prusa в одном приложении

Доступно на Android, iPhone, iPad и Mac, с приложениями-компаньонами для Apple Watch и Wear OS и дополнительным удалённым доступом через VPN, OctoEverywhere или Obico

Printer Tools

Определите источник камеры

Начните с документации веб-камерного сервера, плагина OctoPrint, Crowsnest или IP-камеры. Ищите значение, которое прямо описано как поток, MJPEG или multipart JPEG.

Не считайте, что адрес страницы в браузере — это поток. URL панели часто отдаёт HTML, который компонент камеры не может декодировать как видео.

Знайте распространённые типы ответов

Точка доступа снимка возвращает один JPEG и закрывает соединение. Она обновляется только при повторном запросе. Точка доступа MJPEG держит multipart-ответ открытым и разделяет последовательность JPEG-кадров границами.

Если Printer Tools получает HTML, JSON, перенаправление на вход или неподвижное изображение там, где ожидает multipart-кадры, Live View может остаться пустым или остановиться после одного кадра.

Проверьте относительные и абсолютные пути

OctoPrint и обратные прокси могут публиковать пути относительно собственного базового URL. Crowsnest обычно предоставляет маршрут MJPEG через веб-интерфейс, но собственный прокси или имя камеры может его изменить.

Используйте точный путь из текущей конфигурации. Путь, скопированный из чужой установки Mainsail или OctoPrint, может указывать на службу, которой у вас нет.

Проверьте аутентификацию и перенаправления

Откройте поток на доверенном устройстве внутри локальной сети. Если происходит перенаправление на страницу входа, настройте поддерживаемую аутентификацию, а не вставляйте cookie браузера в Printer Tools.

Важны также HTTP и HTTPS. Защищённая страница может отклонять небезопасное встроенное содержимое, а локальный сертификат может требовать поддерживаемой цепочки доверия. Не отключайте защиту всего устройства ради одной камеры.

Настраивайте разрешение у источника

Требования MJPEG к пропускной способности быстро растут вместе с разрешением, частотой кадров и качеством изображения. Настройте умеренный профиль наблюдения в Crowsnest или в камере и проверьте стабильность, прежде чем повышать его.

Если один и тот же поток открывают несколько панелей, веб-камерному серверу может понадобиться кодировать или раздавать его нескольким клиентам. Используйте способ раздачи, поддерживаемый источником.

Не смешивайте со встроенными камерами принтеров

Не заменяйте встроенную камеру поддерживаемого принтера угаданным MJPEG-URL. K1 использует известный путь MJPEG, K2 — WebRTC, Bambu выбирает RTSPS или JPEG по TCP, а у других брендов свои способы передачи.

О выборе качества камеры читайте в статье как выбрать разрешение и частоту кадров.

Часто задаваемые вопросы

Почему URL работает в браузере, но не как камера?

Браузер может отображать веб-страницу, следовать перенаправлению на вход или выполнять JavaScript вместо того, чтобы открывать «сырой» MJPEG-ответ.

Можно ли использовать URL снимка?

Только там, где функция явно поддерживает снимки. Это не то же самое, что непрерывный MJPEG-поток.

Почему видео останавливается после одного изображения?

Возможно, вы выбрали точку доступа снимка вместо multipart-потока.

Стоит ли открывать URL веб-камеры в интернет?

Нет. Оставьте его в локальной сети и используйте VPN для удалённого доступа.

Официальные источники: µStreamer (GitHub) · Crowsnest (GitHub) · OctoPrint — Webcam configuration

Printer Tools
Printer Tools

Все ваши 3D-принтеры на одной панели

Следите за принтерами Bambu Lab, Klipper, OctoPrint, Creality, Snapmaker, Anycubic, Flashforge, Elegoo и Prusa в одном приложении

Доступно на Android, iPhone, iPad и Mac, с приложениями-компаньонами для Apple Watch и Wear OS и дополнительным удалённым доступом через VPN, OctoEverywhere или Obico

Printer Tools