GithubHelp home page GithubHelp logo

hustcalm / yi-hack-6fus_4.5.0 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from roleoroleo/yi-hack-mstar

0.0 1.0 0.0 242 KB

Custom firmware for Yi Home 1080p 6FUS 4.5.0 version (only)

License: GNU General Public License v3.0

Shell 34.97% C 21.19% Makefile 5.18% CSS 3.81% HTML 21.92% JavaScript 12.69% Awk 0.24%

yi-hack-6fus_4.5.0's Introduction

Custom firmware for Yi home 1080p 6FUS 4.5.0 version (only)

This firmware is completely based on the work done by TheCrypt0 https://github.com/TheCrypt0/yi-hack-v4 It's a clone made only for Yi Home 1080p with fw 4.5.0 based on MStar platform.

I have no time to support the project, so feel free to clone/fork this git and modify it as you want.

RTSP Server

I'm working on a fully functional RTSP implementation, inspired by the following topic:

The RTSP server code derives from live555 - http://www.live555.com/ and from the archive rtsp2303_srcbin_20170414-1630.zip posted in the link above. At this moment it works but sometimes the video crashes.

Known issue.

h264 frames are temporarily saved in a 1.8 MB circular buffer. This file contains both high resolution frames and low resolution frames, mixed in a single stream. When I have to extract the frames from this buffer, I can recognize i-frames without problems thanks to the SPS nalu but I can't correctly recognize p-frames. I have developed an algorithm that tries to solve this problem by reading the POC but it is not error free. I'm looking for someone who knows h264 better than me and can help me with this: the code is in the ByteStreamFileSource.cpp file.

Table of Contents

Features

This firmware contains the following features. Apart from RTSP, snapshot and ONVIF, all the features are copied from the TheCrypt0 project.

Features

This firmware contains the following features. Apart from RTSP, snapshot and ONVIF, all the features are copied from the TheCrypt0 project.

  • FEATURES
    • RTSP server - allows a RTSP stream of the video (high and/or low resolution).
      • rtsp://IP-CAM/ch0_0.h264 (high res)
      • rtsp://IP-CAM/ch0_1.h264 (low res)
    • ONVIF server - standardized interfaces for IP cameras.
    • Snapshot service - allows to get a jpg with a web request. Gets the latest idr frame from the buffer and converts it to jpg (latest idr frame = no real time).
    • MQTT - Motion detection through mqtt protocol.
    • Web server - web configutation interface (port 8080).
    • SSH server - dropbear
    • Telnet server - busybox
    • FTP server
    • The possibility to disable all the cloud features.

Supported cameras

Currently this project supports only the following camera:

  • Yi 1080p Home 6FUS with firmware 4.5.0.0A or 4.5.0.0B

This firmware is based on 4.5.0.0B and completely overwrite the original firmware. So, USE AT YOUR OWN RISK.

Getting Started

  1. Check that you have a correct Xiaomi Yi camera.

  2. Get a microSD card, 16gb or less, and format it by selecting File System as FAT32.

  3. Save both files (home_y203c and sys_y203c) on root path of microSD card.

  4. Remove power to the camera, insert the microSD card, turn the power back ON.

  5. 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.

  6. The yellow light will come ON again for the final stage of flashing. This will take up to 2 minutes.

  7. Blue light should come ON indicating that your WiFi connection has been successful (if not disable using app).

  8. Go in the browser and access the web interface of the camera as a website. Find the IP address using your mobile app (Camera Settings --> Network Info --> IP Address).

  9. Done.

Build your own firmware

If you want to build your own firmware, clone this git and compile using a linux machine. Quick explanation:

  • Download and install the SDK for MStar platform: the file name is "MStar MSC3XX SDK.zip" (Google is your friend).
  • Prepare the system installing all the necessary packages.
  • Copy home and rootfs partition files to ./stock_firmware/yi_home_1080p
  • ./scripts/init_sysroot.all.sh
  • ./scripts/compile.sh
  • ./scripts/pack_fw.all.sh

Acknowledgments

Special thanks to the following people.


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.

yi-hack-6fus_4.5.0's People

Contributors

roleoroleo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.