yi-hack-v4
New Custom Firmware for Xiaomi Cameras based on Hi3518e Chipset. It features RTSP, SSH, FTP and more!
Top Related Projects
Alternative Firmware for Xiaomi Cameras based on Hi3518e Chipset
Quick Overview
Yi-hack-v4 is a custom firmware project for Yi Home cameras, specifically the Yi Home 1080p and Yi Dome Camera. It aims to enhance the functionality of these cameras by providing additional features and removing cloud dependencies, allowing for local network operation and improved privacy.
Pros
- Enables local streaming and recording without relying on cloud services
- Adds RTSP support for easy integration with home automation systems
- Improves privacy by removing cloud dependencies
- Provides SSH access for advanced users and customization
Cons
- May void the camera's warranty
- Requires technical knowledge to install and configure
- Not officially supported by Yi Technology
- Potential for instability or bugs compared to official firmware
Getting Started
- Download the latest release from the GitHub repository.
- Format a microSD card (FAT32, 16GB or smaller recommended).
- Extract the contents of the release archive to the root of the microSD card.
- Insert the microSD card into the camera and power it on.
- Wait for the camera to complete the firmware update (blue LED will flash).
- Access the camera's web interface using its IP address.
- Configure settings and enjoy the new features.
Note: Always refer to the project's README and wiki for detailed instructions and any updates to the installation process.
Competitor Comparisons
Alternative Firmware for Xiaomi Cameras based on Hi3518e Chipset
Pros of yi-hack-v3
- Supports older Yi camera models, potentially useful for legacy hardware
- May have more stable features due to longer development time
- Possibly simpler codebase for easier customization
Cons of yi-hack-v3
- Lacks support for newer Yi camera models
- May miss out on recent improvements and optimizations
- Potentially fewer active contributors and less frequent updates
Code Comparison
yi-hack-v3:
#!/bin/sh
CONF_FILE="etc/system.conf"
YI_HACK_PREFIX="/home/yi-hack-v3"
export PATH=${PATH}:${YI_HACK_PREFIX}/bin:${YI_HACK_PREFIX}/sbin:/bin:/sbin:/usr/bin:/usr/sbin
yi-hack-v4:
#!/bin/sh
CONF_FILE="etc/system.conf"
YI_HACK_PREFIX="/tmp/sd/yi-hack-v4"
export PATH=${PATH}:${YI_HACK_PREFIX}/bin:${YI_HACK_PREFIX}/sbin:/bin:/sbin:/usr/bin:/usr/sbin
The main difference in the code snippets is the installation path. yi-hack-v3 uses /home/yi-hack-v3
, while yi-hack-v4 uses /tmp/sd/yi-hack-v4
. This change may reflect improvements in file system organization or compatibility with newer camera models.
Both projects aim to enhance Yi cameras with custom firmware, but yi-hack-v4 is likely more up-to-date and supports newer models. Users should choose based on their specific camera model and desired features.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Why another Yi firmware?
The answer is simple: missing updates, RTSP and not based on the latest stock firmware (which features improvements and new cool stuff). The effort and work that has been put into the other projects is great and without them the making of this new version wouldn't be possible.
RTSP Server
I've been working on a functional RTSP implementation for the past 3 months. After that I published on Discord the first working closed-beta, available to supporters only. Since then I fixed some issues with Xiaomi's H264 encoder that happened to hang ffmpeg of Shinobi and Home Assistant.
Now everything works as it should and the app functionalities are intact (but they can be disabled if you want).
Tested on the following platforms (but it should work with anything that accepts an RTSP stream:
- Home Assistant
- Shinobi
- Zoneminder
- Synology Surveillance Station
I'm really thankful to those who supported the project and helped me by donating or sending me new cameras to test on, therefore I would like to reward them allowing to be the first ones to test the new functionalities.
Here's a quick guide on how to enable it: Enable RTSP Server.
Table of Contents
Features
This firmware will add the following features:
- NEW FEATURES
- NEW CAMERAS SUPPORTED: Yi Outdoor 1080p and Yi Cloud Dome 1080p.
- RTSP server - which will allow a RTSP stream of the video while keeping the cloud features enabled (available to the supporters of the project).
- viewd - a daemon to check the
/tmp/view
buffer heads/tails location (needed by the RTSP). - MQTT - detect motion directly from your home server!
- WebServer - user-friendly stats and configurations.
- SSH server - Enabled by default.
- Telnet server - Disabled by default.
- FTP server - Enabled by default.
- Web server - Enabled by default.
- Proxychains-ng - Disabled by default. Useful if the camera is region locked.
- The possibility to disable all the cloud features while keeping the RTSP stream.
- In development:
- ONVIF
- A static image snapshot from the web interface.
This firmware might add:
- Alarm functionality via Telegram (@frekel's PR #177 in yi-hack-v3)
- Auto upload of the recorded footage to the cloud (eg. Google Drive, Dropbox, etc.)
- Rotation control (on Yi Dome versions of the camera) without need for the app.
- You decide, just open an issue with the request.
Supported cameras
Currently this project supports the following cameras:
- Yi Home 17CN / 27US / 47US
- Yi 1080p Home
- Yi Dome
- Yi 1080p Dome
- Yi 1080p Cloud Dome
- Yi 1080p Outdoor
Getting Started
-
Check that you have a correct Xiaomi Yi camera. (see the section above)
-
Get an microSD card, preferably of capacity 16gb or less and format it by selecting File System as FAT32.
IMPORTANT: The microSD card must be formatted in FAT32. exFAT formatted microSD cards will not work.
How to format microSD cards > 32GB as FAT32 in Windows 10
For microSD cards larger than 32 GB, Windows 10 only gives you the option to format as NTFS or exFAT. You can create a small partition (e.g 4 GB) on a large microSD card (e.g. 64 GB) to get the FAT32 formatting option.
- insert microSD card into PC card reader
- open Disk Management (e.g. Win+x, k)
- Disk Management: delete all partitions on the microSD card
- right click each partition > "Delete Volume..."
- repeat until there are no partitions on the card
- Disk Management: create a new FAT32 partition
- right click on "Unallocated" > "New Simple Volume..."
- Welcome to the New Simple Volume Wizard: click "Next"
- Specify Volume Size: 4096 > "Next"
- Assign Drive Letter or Path: (Any) > "Next"
- Format Partition: Format this volume with the following settings:
- File system: FAT32
- Allocation unit size: Default
- Volume label: Something
- Perform a quick format: ☑
- Disk Management: delete all partitions on the microSD card
You should now have a FAT32 partition on your microSD card that will allow the camera to load the firmware files to update to yi-hack-v4
.
Example: 4 GB FAT32 partition on 64 GB microSD card
- Get the correct firmware files for your camera from this link: https://github.com/TheCrypt0/yi-hack-v4/releases
Camera | rootfs partition | home partition | Remarks |
---|---|---|---|
Yi Home | - | - | Not yet supported. |
Yi Home 17CN / 27US / 47US | rootfs_y18 | home_y18 | Firmware files required for the Yi Home 17CN / 27US / 47US camera. |
Yi 1080p Home | rootfs_y20 | home_y20 | Firmware files required for the Yi 1080p Home camera. |
Yi Dome | rootfs_v201 | home_v201 | Firmware files required for the Yi Dome camera. |
Yi 1080p Dome | rootfs_h20 | home_h20 | Firmware files required for the Yi 1080p Dome camera. |
Yi 1080p Cloud Dome | rootfs_y19 | home_y19 | Firmware files required for the Yi 1080p Cloud Dome camera. |
Yi Outdoor | rootfs_h30 | home_h30 | Firmware files required for the Yi Outdoor camera. |
- Save both files on root path of microSD card.
IMPORTANT: Make sure that the filename stored on microSD card are correct and didn't get changed. e.g. The firmware filenames for the Yi 1080p Dome camera must be home_h20 and rootfs_h20.
-
Remove power to the camera, insert the microSD card, turn the power back ON.
-
The yellow light will come ON and flash for roughly 30 seconds, which means the firmware is being flashed successfully. The camera will boot up.
-
The yellow light will come ON again for the final stage of flashing. This will take up to 2 minutes.
-
Blue light should come ON indicating that your WiFi connection has been successful.
-
Go in the browser and access the web interface of the camera as a website. By default, the hostname of the camera is
yi-hack-v4
. Access the web interface by entering the following in your web browser: http://yi-hack-v4
Depending upon your network setup, accessing the web interface with the hostname may not work. In this case, the IP address of the camera has to be found.
This can be done from the App. Open it and go to the Camera Settings --> Network Info --> IP Address.
Access the web interface by entering the IP address of the came in a web browser. e.g. http://192.168.1.5
IMPORTANT: If you have multiple cameras. It is important to configure each camera with a unique hostname. Otherwise the web interface will only be accessible by IP address.
- Done! You are now successfully running yi-hack-v4!
Unbrick your camera
TO DO - (It happened a few times and it's often possible to recover from it)
Acknowledgments
Special thanks to the following people and projects, without them yi-hack-v4
wouldn't be possible.
- @shadow-1 - https://github.com/shadow-1/yi-hack-v3
- @fritz-smh - https://github.com/fritz-smh/yi-hack
- @niclet - https://github.com/niclet/yi-hack-v2
- @xmflsct - https://github.com/xmflsct/yi-hack-1080p
- @dvv - Ideas for the RSTP stream
- @andy2301 - Ideas for the RSTP rtsp and rtsp2301
DISCLAIMER
I AM NOT RESPONSIBLE FOR ANY USE OR DAMAGE THIS SOFTWARE MAY CAUSE. THIS IS INTENDED FOR EDUCATIONAL PURPOSES ONLY. USE AT YOUR OWN RISK.
Top Related Projects
Alternative Firmware for Xiaomi Cameras based on Hi3518e Chipset
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot