This is the repository reference for HTTP MJPEG streaming with inline YOLOv6 overlays. Use it when you need the simplest browser-consumable stream in this category.
- You need a plain HTTP MJPEG stream.
- You want detections drawn directly into the streamed frames.
- You need camera or replay input without a separate frontend app.
- You need RTSP, WebRTC, or raw TCP instead of HTTP MJPEG.
- You need a standard DepthAI Visualizer topic workflow.
- You need a configurable server port or a control backchannel.
Category:streaming/mjpeg-streamingShape:script+standalonePrimary task:serve detected frames as an MJPEG stream over HTTPEntrypoint:main.pyStandalone path:oakapp.tomlFrontend:noneRuns on:RVC2 peripheral, RVC4 peripheral, and RVC4 standalone packagingRequires:camera input or replay media, HTTP access to the runtime, and YOLOv6 model assetsInput:live camera by default orReplayVideovia--media_pathOutput:HTTP MJPEG stream onhttp://<host-or-device>:8083Models:YOLOv6 YAMLs in depthai_models/Visualizer / UI:browser or any MJPEG-capable HTTP client
- main.py builds a camera-or-replay input path and runs YOLOv6 through
ParsingNeuralNetwork. - utils/mjpeg_streamer.py is a
HostNodethat draws detections into the passthrough frame. - That same host node starts a threaded HTTP server and continuously updates the frame served to clients.
- utils/server.py emits a multipart
image/jpegresponse for any GET request.
- The HTTP server port is fixed at
8083in utils/mjpeg_streamer.py. - There is no
dai.RemoteConnectionor separate topic output; the stream itself is the main interface. - In standalone mode the MJPEG server runs on the device-side app container, so clients must connect to the device IP rather than
localhost.
- streaming/rtsp-streaming: use this when you need a standard RTSP endpoint instead of MJPEG over HTTP
- streaming/webrtc-streaming: use this when you need a browser-oriented interactive stream with runtime options
- streaming/poe-tcp-streaming: use this when you need a custom TCP transport and a control backchannel
Run:python3 main.pyReplay mode:python3 main.py --media_path <VIDEO>Success looks like:openinghttp://localhost:8083in peripheral mode shows a live MJPEG stream with YOLO detections drawn on topCommon failure meaning:the HTTP port is unreachable, replay media is invalid, or the user expects a Visualizer topic instead of a standalone MJPEG endpoint