MiBeeNvr v0.4.0: Audio Recording Finally Arrives, Auto-Recovery When Cameras Go Down
Previously, MiBeeNvr’s MP4 files only had a video track — playback was silent. v0.4.0 fills this gap with audio recording. It also adds more practical camera health monitoring and auto-recovery.
Recordings Now Have Sound
Each camera can independently enable audio recording:
| |
Supported audio formats:
- AAC — Common for RTSP cameras
- G.711 μ-law / A-law — Common for Xiaomi cameras and ONVIF devices
Audio and video are packaged in the same MP4 file — playback includes sound directly.
Note: Audio recording is currently in testing. Audio codecs vary significantly across different camera models, so compatibility issues may exist. We’ll continue improving based on feedback — please report issues on GitHub if you encounter them.
Camera Down? Auto-Recovery
One of the most frequently reported issues from the community is Xiaomi camera connection instability — frequent disconnections. The challenge is that we can’t access everyone’s local network environment, making it hard to determine whether it’s a network issue, camera firmware issue, or protocol implementation issue.
So v0.4.0 introduces a health monitoring system with two core purposes: first, auto-recovery to solve immediate disconnection problems; second, recording health events so users can share event screenshots on GitHub Issues, enabling us to diagnose and fix issues more effectively.
- Multi-layer detection: Connection status → Stream quality → Frame freeze, three layers of detection
- Auto-recovery: Auto-reconnect on disconnection, with exponential backoff (won’t frantically retry)
- Health score: A comprehensive health score for each camera
- Health history page: Timeline showing when problems occurred and when they were resolved
If you’re experiencing instability with Xiaomi or other cameras, please open the health history page, take a screenshot, and submit it to GitHub Issues. I’ll periodically review and investigate. With specific event information, debugging will be much faster.
Raspberry Pi Runs Better Too
This release includes optimizations specifically for Raspberry Pi:
- Added ARMv7 binary (supports Raspberry Pi 2/3)
- LL-HLS parameter tuning for more stable playback on Raspberry Pi
- Frame rate throttling mechanism prevents stalling on low-performance devices
Supported architectures: amd64, arm64, armv7 — covering virtually all common hardware platforms.
v0.4.0 Complete Update
Beyond the two key features above, v0.4.0 includes the following updates (full list in Release Notes):
Streaming Protocols
- WebRTC (WHEP) — Sub-second latency real-time preview
- HTTP-FLV — Browser-friendly low-latency streaming
- RTMP Push — Supports OBS and other push tools
- SRT Receive — Remote/unstable network push
- LL-HLS — Low-latency HLS, parameters tuned for Raspberry Pi
HLS/LL-HLS Improvements
- Wait for IDR frame before starting segment write, preventing black frames
- Credit-based frame rate throttling for smoother playback
- Sub-stream failure auto-fallback to main stream
- LL-HLS backBuffer and liveSync parameter tuning for better Raspberry Pi stability
UI Redesign
- Camera page split into Active / Archived tabs
- Settings page split into General / Advanced tabs
- New health history page with Chinese/English support
- Setup Wizard for first-run guidance
Others
- ONVIF encoding auto-detection — Auto-detect H.264/H.265 when adding cameras
- Xiaomi cloud sync — Sync camera metadata
- Config encryption — Sensitive fields encrypted at rest
- 1651 tests passing, 60.7% coverage
- 196 commits, 73 features, 54 fixes, 21 refactors
FAQ
We’ve received lots of community feedback. Here are responses to common questions addressed in v0.4.0:
Q: Docker deployment keeps restarting with “no permission to folder”?
A: This is a Docker user permission issue. Two solutions:
- Add
user: "1000:1000"in docker-compose to specify the user - Or use the one-click install script to bypass Docker:
| |
The script automatically creates a system user, generates config, and installs the systemd service — no permission issues.
Q: ONVIF camera connects initially but shows no video, then shows disconnected?
A: v0.4.0’s health monitoring system is designed to solve this. The three-layer detection (connection → stream → video) automatically detects disconnections and recovers, with exponential backoff that won’t crash the device. If you were using v0.3.x, upgrading to v0.4.0 should significantly improve disconnection recovery.
Q: Settings page changes don’t save?
A: v0.4.0 restructured the settings page into General and Advanced tabs, with optimized save logic. If you still encounter issues, check the browser console for errors and report them on GitHub Issues.
Q: Docker restart fails with “cannot open database file”?
A: Same root cause as the first permission issue — the Docker container user can’t read/write the mounted directory. Ensure the mounted directory (./data) owner matches the container’s running user. Or use the one-click install script above for a clean binary deployment with no permission problems.
Q: Can it run on OneCloud ARMv7 devices?
A: v0.4.0 adds ARMv7 binary support. We recommend installing the binary directly instead of using Docker to avoid Docker-level compatibility and permission issues:
| |
Q: H.265 camera HLS won’t display on desktop browser?
A: This is a browser limitation — most desktop browsers (Chrome/Firefox/Edge) don’t support HLS playback of H.265. Mobile browsers typically support it through hardware decoding. MiBeeNvr’s multi-protocol architecture can bypass this: try switching to HTTP-FLV or LL-HLS — the player automatically excludes unsupported protocols.
For H.265 transcoding needs (real-time conversion to H.264), this feature isn’t available yet but is on the roadmap.
Quick Start
Haven’t tried it yet? One command to get started:
| |
Open your browser to http://your-ip:9090, set a password, and you’re good to go.
Want the technical details? Check out the v0.4.0 Tech Post
Haven’t read the previous posts? Start with MiBeeNvr Introduction or the v0.3.0 Tech Post
Open Source
GitHub: https://github.com/Mi-Bee-Studio/MiBeeNvr Gitee: https://gitee.com/Mi-Bee-Studio/MiBeeNvr
If you find it useful, give it a Star ⭐ on GitHub — the more stars, the more effort I’ll invest. Issues are also welcome and will be addressed promptly.