Camera compatibility
A community-maintained list of cameras people have run with Crumb: what works, the quirks worth knowing, and the fixes. It is curated by hand and contributed by pull request only, Crumb never collects anything about your cameras (no telemetry, no phone-home).
Add your camera: edit data/camera-compatibility.json, run the generator, and open a PR. See data/README.md for the schema.
Most cameras just work; this page exists for the ones with a wrinkle. An empty list under a camera means no quirks were reported.
Status: ✅ works · ⚠️ works with a caveat · ❌ not working · ❓ not tested
Tested cameras
| Camera | Type | Main / Sub | Android live | Headline quirk |
|---|---|---|---|---|
| Uniview IPC6322SR-X22P-D | PTZ / LPR | H265 / H264 | ⚠️ | Android fullscreen HD live falls back to SD |
Uniview IPC6322SR-X22P-D
Type: PTZ / LPR · Also sold as: Uniview 22x PTZ, commonly used as an LPR / ANPR camera
Streams
| Stream | Codec | Notes |
|---|---|---|
| Main | H265 | Full-range (yuvj420p), RTP aggregation-packet packetization, and a 'PPS id out of range' bitstream quirk. Benign to ffmpeg (server ingest, recording, desktop, and web are unaffected); rejected by strict RTSP HEVC readers. |
| Sub | H264 | Plays everywhere. |
Support
| Capability | Status |
|---|---|
| Recording | ✅ yes |
| Desktop live | ✅ yes |
| Web live | ✅ yes |
| Android live | ⚠️ partial |
| iOS live | ❓ unknown |
| Playback | ✅ yes |
| ONVIF | ✅ yes |
| PTZ | ✅ yes |
Reported on firmware: HCMN-B2201.6.9.220415.
Quirks & fixes
- Android fullscreen HD live falls back to SD (affects: android)
- The H265 main uses RTP aggregation packets plus a 'PPS id out of range' bitstream quirk that Android's RTSP HEVC path (Media3/ExoPlayer) cannot handle, so fullscreen live silently drops to the H264 sub and shows an 'SD' badge. It is specific to this camera's stream, not to H265 in general: clean 4K H265 mains from other cameras play full HD on the same phone. Server ingest, recording, desktop, and web are all unaffected because ffmpeg tolerates the quirk. iOS is untested.
Recommended settings
- For phone HD live: set the Main stream codec to H264 in the camera web UI (Setup > Video > Encoding).
- Leave the Sub stream on H264 (the default).
- Keep the keyframe (I-frame) interval near 1 second (the default) so the stream starts quickly.
Tested by badbread · 2026-07-10 · ffprobe on the go2rtc restream plus on-device Android playback; make/model via ONVIF GetDeviceInformation.
References: https://github.com/androidx/media/issues/1008 · https://github.com/google/ExoPlayer/issues/11089