Giter Club home page Giter Club logo

xiaomi_yi_4k_camera's Introduction

Yi 4k and 4k+ Cameras

It's a nice camera but it has no documentation anywhere. It uses an ambarella SOC and has two operating systems which run at the same time on it: an RTOS and Linux. The RTOS does everything (encoding, the gui on the camera, etc...) while the linux barely does anything (it hosts a web server and some software that passes commands received from the network or bluetooth to the RTOS).

In this repo there is:

4k Stuff for the yi 4k.

4k+ Stuff for the yi 4k+.

For both the 4k and 4k+

Bitrate Mod The bitrate mod.

Firmware Unpacker Firmware unpacker for the 4k and 4k+ firmwares.

Useful autoexec.ash Commands Some useful autoexec.ash commands.

Telnet How to enable telnet on the camera.

Live How to create qr codes for the live streaming mode.

Settings Some notes on camera settings.

Dump Camera Settings Dump camera settings to a file.

Enable RTOS Logs Enable RTOS logging to sd card on the camera.

Camera Controller python script to control one or more cameras over wifi.

xiaomi_yi_4k_camera's People

Contributors

irungentoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xiaomi_yi_4k_camera's Issues

YI 4K+ firmware 1.4.9

Address table for the latest 1.4.9 please. Thanks!

Also there are no timestamp in 4K 48 and 60 fps with any firmware version. Any ideas why?

Modify sdcard fix firmware

Hello and big thanks for the great work!

I am trying to use a Toshiba EXCERIA M302-EA 128GB with the Yi 4k and suspect the same problem as you had with the Lexar 633x, wrong access frequency.

I would therefore patch mtdblock1 at the corresponding location.
As directly writing to /dev/mtdblock1 over telnet is not working (Operation not permitted) and not permanent, I am interested in how you managed to modify the firmware image.
Did you unpack & repack the firmware? Which tools were you using for achieving this result?

Thanks!

Edit: I think I found the frequency configuration at 0x469E30 in the 1.4 image file.

Turn on wifi without going through screen

Is there any way to turn on the wifi without going through the screen? I am trying to initiate multiple cameras in AP mode completely without having to go through the SD Card. I recall being able to do this through autoexec.ash in the old Yi Action Camera, but that command does not seem to work with the Yi 4K (t app key start_wifi).

Thanks again!

Firmware 1.4.14 released, bitrate hack no longer works

Hi,

Thanks for all your hard work.
Yi have released a new firmware, version 1.4.14
The bitrate hack no longer works.
could you have a look please..

I would love to know how you determined the addresses in the first place ๐Ÿ˜„

H2 Overclock

In the framerate mod you managed to increase DSP and processore core speed to 696 and 552 MHz respectively. What are nominal speeds? How to find another hex value for different speed? Thanks!

Firmware 1.4.23 released

Hi. was wondering if you will update your tweaks / hacks to support the newly released firmware? Thanks!

Windows Prevents Multiple Yi 4K devices from being in U-Disk mode at once

I have a project that makes use of multiple Yi 4K cameras connected to a PC for syncing. However, Windows only allows a single camera to enter U-Disk mode at a time, regardless of being connected to two different usb bus ports. However, this is not the case on Mac OSX, which can connect multiple Yi 4K cameras in U-Disk mode at once. Is there a way to force Windows to allow multiple Yi 4K devices to enter U-Disk mode at once? Thank you!

Video mod is unstable

I currently(1.4.23) changed bitrate to 90M/75M/60M, resolution to 4000x2560, 2000x1500 based on my_autoexec.ash(1080p ultra 90p not touched from irungentto version)
It works pretty fine usually. However when switched to 1080p ultra 90p, LCD display sometimes become 4:3 ratio video preview, in this case I start recording and the screen goes black and stucked.
Any idea?

thanks + question

thank you very much for sharing this!

one question though
can this break the camera in a way that can not be restored by re-applying the firmware update or in some other way?
(probably yes, but, is it likely to happen?)

thanks!

Send and Receive API Commands/Data over bluetooth

Is there any way to interface with the 4K using API commands over Bluetooth instead of wifi? i.e. - connect and communicate over an advertised bluetooth MAC address as opposed to the 192.168.42.1 wifi ip address. As you mentioned, both interface at the Linux level of the camera so you would think it would be possible.

Issue StartUp Commands on Yi 4K

On the previous Yi action camera, you could enable startup scripts by placing lu_util exec "command" in autoexec.ash . However, this does not appear to work anymore. Is there any alternate way to initialize a command on startup (can't alter file system files as the filesystem is read only).

Thanks!

Max File Size Setting - Changing memory address value

This may be a tall ask, but do you know the address and write values for changing the max file size across the various firmwares? I am trying to automate camera settings and unfortunately this value can't be set from the system.pref.upload file (or perhaps it can, but I can't find what to write).

Currently I am using firmware 1.7.8 (for other reasons that broke in later firmwares).

Thanks!

Moving/Renaming files on /tmp/fuse_d over telnet

I am attempting to rename files over telnet (Yi 4K) in the /tmp/fuse_d folder (sd card) via the mv command, but it doesn't seem to be possible at all. The entire prompt just hangs, and the system appears to lock up. Does anybody have experience with bypassing this limitation? Is it even possible?

Thanks!

VR firmware change resolution

Great to see the new VR stuff.

Sadly I have no success changing the video resolution - is it possible inside the VR firmware?

My current attempt:
writel 0xA05FAA6A 0xA05FAACA

(1.0.179_en-us_firmware_first)

Thank you.

thx! +live stream & ultra 4k

Thanks a.... LOT for your work and for sharing this!
Unfortunately in PAL the ultra 4k remains on 3840x2160. Could you tell me the proper "writel" line please? I know that it is the same 24p but it would avoid me from swapping pal->ntsc->pal when using other resolutions.

I haven't found a resolution-fps table to work in conjunction with your bitrate table to do it myself..sorry.

As for the stream...I would like to receive a rtsp one, like I did with prevoius yi, to stream on VLC. Would it be possible by using the Live+qr code feature someway? I really would like to share the stream on a wifi network instead of using an ad-hoc YDXxxxxx classic app connection.

Thanks again for your great work!

Automatically Power On Yi 4K

Hi irungentoo. Really love the work you've done here.

Do you know of a way to have the Yi 4K turn on automatically when power is connected? I notice the light comes on shortly. I have power connected directly to the board and a relay the switches it on. It would be nice if it automatically turned on once receiving power.

Thanks!

Off noise reduction

Hello!
firmware 1.5.8 beta 2. if use mode #set 4k ultra to 4000x2700 disabled noise reduction. The picture quality is better.
How to turn off noise reduction on other resolutions?
Thank you!

RTSP Stream resolution

Hello,

You you probably now how RTSP-Stream resolution can be changed? (RTSP works on rtsp:\192.168.42.1\live). I can only reach 640x480 or 848x480.
It would be nice to get 1920x1080 or 1280x720.

Very good work although.

Thanks,
Alex

live camera watermark

Great work! It's nice to have all this information stored in one clean place.
Any way we can find where that watermark/shameless plug is stored so we can either change it to a custom one or remove it entirely?

Sharpness post process. question

You mentioned:

Sharpness: Enables some shitty post processing sharpening filter. Setting it to low seems to disable it.

Should i just bump up the bit rate with bit rate mod for setting low to avoid this?

4K+ difference and compatibility with 4K model

Are these tools in this repo all supported by 4K+ model as well?

I was especially interested in 4K+ genlock sync cable for example (4K+ upgraded micro usb to USB C interface) and the answer from other repo is that genlock is not supported by 4K+:
YITechnology/YIOpenAPI#57

Could someone describe in more detail about the difference, limitation?

Regards,

Ladislav

Yi 4K new firmware 1.10.4 out

Hi irungentoo,
Thanks a lot for your awesome work regarding the Xiaomi cameras. I've noticed that a new firmware version 1.10.4 is out for the 4K. Unfortunately the bitrate mod is not working anymore. Will it be supported by your mods?
Thanks a lot

Resolution 3840x2880

Hi,
can you please add address and code for 3840x2880 (proper 4:3) resolution for this and future firmwares so the 4k ultra mode can be modified to this resolution?

so this:
#set 4k ultra to 4000x2700
#NTSC
writel 0xA064DACC 0x0A8C0FA0
writew 0xA064DAD0 0x0403
#PAL
writel 0xA065444C 0x0A8C0FA0
writew 0xA0654450 0x0403

how to make to be this:
#set 4k ultra to 3840x2880
#NTSC
writel ?
writew ?
#PAL
writel ?
writew ?

or can you explain how to do it myself?

Thank you.

[question] Support timestamp metadata in wifi stream

Hello,

thanks for this project first of all!

I ordered 2 4k+ cameras for stereo vision, unfortunately I cannot in the moment load SD card (firmware 1.0.4 620r), but hopefully will resolve that, if you know about supported sd card for this firmware I would love to hear :-) :
http://forum.xiaoyi.com/forum.php?mod=viewthread&tid=50515&extra=

Main point of my question is if there is available to extract from the images taken and streamed via Wifi timestamp. I would like to use it for synchronization of images from 2 cameras for stereo vision. Thanks for any hints about this. I read articles where Andy S user and others discussed using NTP protocol to sync time and trigger at same time recording.

Well, my approach is little bit different, I will also use NTP to sync hours, but using OpenCV and FFmpeg projects I would like to capture images in parallel from both and sync them in the software. To to this I will need at each image timestamp mark, resolution in miliseconds is just fine for me, of course if we can get better to nanoseconds, could be more accurate ....

Thanks for any comments on this.

The right SD Card?

Just an observation: I was able to get the bitrate hack to work so far on only one card out of three. My SanDisk 64GB SDXC I Class 10 (U1) worked (for 30 seconds before getting the "Slow Card" error).
My PNY 64GB SDXC I Class 10 (U3) and Lexar 16GB SDHC I Class 10 (U1) were both no go's... (I was a bit surprised that the SanDisk U1 worked over the PNY U3, albeit 30 seconds. But I don't think the PNY's are generally well-reviewed, despite that higher speed designation.)
The way I tested was checking the bitrate in GSpot afterwards.
I plan to get a higher end SanDisk U3 card later today. (Anything to hold off that Yi 4K+ purchase. I have more need of higher bitrate 2.7K/60 fps for the medium FOV anyway.)

1.3.22 beta doesn't work

Hello,
I don't know if I'm doing something wrong.
I open a script in notepad++ with UNIX LF,
Then I copy the script to a new file and save it as a UNIX script type, with the name autoexec.ash into the root of the sd card.
And nothing happens.
The camera seems to simply ignore the scripts.

Streaming bitrate question

Thank you so much for all of the information! I hate to be this guy on gh, but... do you know of a way to change the bitrate at which the camera streams?

Possible to modify frame rates?

Hi,

First off great work on this hack and many thanks for publicly sharing it. I've got my 4K+ in the mail and looking forward to trying it out.

Now since the 4K+ uses an Ambarella H2 SoC, which is able to do 4K at 120fps I was wondering if it is possible to create such a recording profile?

How can I be sure it works?

Hello,

I donwloaded the file 'autoexec.ash' saving page as (I'm on windows) ash, and after downloaded it, I copy it in main directory of my YI 4k. But nothing happened. I have no idea about what to do, I don't know if it works properly or not and I'm not able to understand how to do.
What i have to do?

H265 in Yi 4k+

Hi. I'm a newbie of this camera. Can you add the h265 encoding to your fw or it's an hardware limit even if supported by the Ambarella H2

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.