MJPEG IP Camera
mjpeg
The MJPEG IP Camera integration allows you to integrate IP cameras which are capable to stream their video with MJPEG (Motion JPEG) into Home Assistant.
In Apple Home through HomeKit Bridge
What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.
| Entity | Shows up as | Note |
|---|---|---|
camera | Camera | Needs its own HomeKit Bridge in accessory mode |
3 reports below say how a device from this integration behaves in the Home app.
What people report
MJPEG cameras work for stills; HomeKit streaming needed stream_source support, which was added in 2023.
- Works2
- Partly works1
- Won’t be supported1
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| D-Link DCS-930L | Works | MJPEG fallback fixed with basic auth when still URL missingSaved copyProposed change I bought an old DCS-930L (circa 2010) camera on ebay to test with ## Type of change - [ ] Dependency upgrade - [x] Bugfix (non-brea Excerpt saved from GitHub on 2026-10-23. | PR #112861 · 2024-03 | |
| MJPEG IP cameras | Works | Partly in Home Stills worked; live stream hung until stream_source support was added | stream_source added so HomeKit can access the streamSaved copyProposed change This change adds the stream_source() function to allow other integrations, namely HomeKit, access to the stream. When trying to access an MJPEG camera via the HomeKit integration, it doesn't work and an `Camera has no stream source ` error message appears in the logs, see https://github.com/home-assistant/core/issues/85098. This PR adds the required implementation to fix it. ## Type of change <!-- Excerpt saved from GitHub on 2026-10-23. | PR #86908 · 2023-01 |
| MJPEG cameras (Valetudo, OctoPrint) | Partly works | Partly in Home Snapshot works; stream works only without native H264 and in accessory mode | Fixed by config workaroundSaved copySame here. Have this exact issue with forwarding video to HomeKit from Valetudo.Map cam (ICantBelieveItsNotValetudo)and Octoprint integration. Excerpt saved from GitHub on 2026-10-23. | Issue #85098 · 2023-01 |
| MJPEG IP camera | Won’t be supported Local | Broken in Home Still image works but live stream hangs; no stream_source support | Cameras without stream_source unsupported in HomeKitSaved copyThe problem I have set up an mjpeg IP camera (https://www.home-assistant.io/integrations/mjpeg/) with Home Assistant, and allowed the Homekit integration to expose it. However, the live stream does not work when accessed through a homekit client like an iPhone. The still image works fine, but when you go to view the stream, it hangs on a loading icon. ## Environment - Home Assistant Core release with the issue: - Last working Home Assistant Core release (if known): 0.110.6 - Operating environment (Home Assistant/Supervised/Docker/venv): HassOS 4.10 - Integration causing this issue: Homekit - … Excerpt saved from GitHub on 2026-10-23. | Issue #36724 · 2020-06 |
Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Local push
Talks to the device on your network, and the device tells Home Assistant the moment something changes.
Details
| Installs (analytics) | 7,683 (1.08%) |
|---|---|
| Added in | Home Assistant pre 0.7 |
| Set up in the UI | Yes |
In ReReHome
Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.
Bridges get their own settings page listing the accessories behind them.