Giter VIP home page Giter VIP logo

martinbutt / openmiko Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openmiko/openmiko

1.0 1.0 0.0 151.61 MB

Open source firmware for Ingenic T20 based devices such as WyzeCam V2, Xiaomi Xiaofang 1S, iSmartAlarm's Spot+ and others.

License: GNU General Public License v3.0

Shell 4.67% JavaScript 0.09% Python 44.81% C 48.80% Go 0.01% Makefile 1.24% HTML 0.20% Vue 0.15% Dockerfile 0.03%

openmiko's People

Contributors

abdulhamdy avatar danclough avatar jricks92 avatar martinbutt avatar nishabe avatar schneemaier avatar tachang avatar

Stargazers

 avatar

Watchers

 avatar  avatar

openmiko's Issues

Document lack of support for recording direct to local SD card

Is your feature request related to a problem? Please describe.
Some users expect local recording to work out of the box as opposed to focusing on exposing a stream for off-device recording.

Describe the solution you'd like
Update the README to clearly state that it's not a supported feature.

Describe alternatives you've considered
N/A

Additional context
If anyone knows how to get this working, please share. I haven't pushed a PR myself to update the docs as I'm not 100% sure it is accurate to say local recording is deliberately not supported. Happy to do so if it's true.

Thanks for sharing your work on keeping this brilliant project alive.

Time Zone and Format change

WyzeCam v2. Release v1.0.0-alpha.2. Downloaded and installed compiled bin from Releases, renamed to demo.bin
The time in the timestamp is GMT.
How one can change the time displayed in the correct timezone?
For example GMT+2
Also, is there a possibility to change the date\time format other than 12/24h?

wont join wifi: Failed to add interface wlan0

Wyze Cam v2, upgraded from Release v0.0.40 to the v1.0.0-alpha.1.
copied my working (from .40) overlay with all of the conf files, added openmiko.conf
the openmiko.conf was edited to match initial settings, to include WIFI_MODULE=8189fs

[edit] Forgot to add, I did not compile, I used the precompiled BIN renaming to demo.bin

This was the first cam to upgrade as a test before going full on install

nl80211: Failed to set interface 0 to mode 2: -19 (No such device)
wlan0: Failed to initialize driver interface
Failed to add interface wlan0
wlan0: Cancelling scan request
wlan0: Cancelling authentication timeout
wpa_supplicant v2.5
random: Trying to read entropy from /dev/random
Successfully initialized wpa_supplicant
Initializing interface 'wlan0' conf '/etc/wpa_supplicant.conf' driver 'nl80211' ctrl_interface 'N/A' bridge 'N/A'
Configuration file '/etc/wpa_supplicant.conf' -> '/etc/wpa_supplicant.conf'
Reading configuration file '/etc/wpa_supplicant.conf'
ctrl_interface='/var/run/wpa_supplicant'
ctrl_interface_group='0'
ap_scan=1
bgscan='simple:30:-45:300'
Priority group 2
id=0 ssid='XXXXXXX'
nl80211: Could not add multicast membership for vendor events: -2 (No such file or directory)
rfkill: Cannot open RFKILL control device
nl80211: RFKILL status not available
Could not read interface wlan0 flags: No such device
nl80211: Driver does not support authentication/association or connect commands
nl80211: deinit ifname=wlan0 disabled_11b_rates=0
nl80211: Remove monitor interface: refcount=0
netlink: Operstate: ifindex=0 linkmode=0 (kernel-control), operstate=6 (IF_OPER_UP)
Could not read interface wlan0 flags: No such device
nl80211: Set mode ifindex 0 iftype 2 (STATION)
nl80211: Failed to set interface 0 to mode 2: -19 (No such device)
wlan0: Failed to initialize driver interface
Failed to add interface wlan0
wpa_supplicant.log
messages.log had to add LOG to upload
wpa_supplicant.conf.txt add .TXT to upload
openmiko.conf.txt add .TXT to upload

Autonight issue

WyzeCam v2. Release v1.0.0-alpha.2

In certain situation with weak lighting, for example, a 0.12w light, the camera is going crazy switching constantly to and from night mode.

What are those parameters mean? How can I configure it to be less sensitive or something like that?
AUTONIGHT_PARAMS="-j 3 -w 3 -1 1200000 -2 930000,14,10 -3 3000,17,8"

Freezing issue

Describe the bug
Camera freezes randomly. Total time uptime appears random.

Last frame of camera in frigate
https://imgur.com/a/tNQD88G

SSH also crashes :( Fixed after power cycle.

Specs
v1.0.0-alpha.2 on Wyze v2.

To Reproduce
Unsure.

Expected behavior
No crashes.

NOTE.
I have commented out VIDEO_DEV_3 in openmiko.conf so I could rotate some cameras with videocapture_settings.json
It appears to not work without doing this as /dev/video5 is not defined in the json file. However cameras I haven't flipped have also crashed.

I will try turning off ENABLE_AUDIO and see if that helps.

openmiko.conf

# OpenMiko configuration file

#ENABLE_DEBUG=0

# Starts ffmpeg on startup recording from the v4l2rtspserver
#ENABLE_RECORDING=0

# Start the micropython based api
ENABLE_API=1

# Use a swapfile on the sdcard
# ENABLE_SWAP=1
# Use this setting if swapfile is a dedicated partition
# SWAPFILE=/dev/mmcblk0p1

# Set parition to use for mounting at /sdcard
# SD_PARTITION=/dev/mmcblk0p2
# SD_FILESYSTEM=vfat

# Enable MJPEG over HTTP
ENABLE_MJPEG_OVER_HTTP=1
MJPEG_FPS=15

# Script that detects nighttime/daytime and turns on IR LEDs
ENABLE_AUTONIGHT=1
AUTONIGHT_PARAMS="-j 3 -w 3 -1 1200000 -2 930000,14,10 -3 3000,17,8"

# Set alternate videocapture settings file
VIDEO_CAPTURE_SETTINGS=/etc/videocapture_settings.json

# Set enable audio (is currently buggy, use at your own risk!)
ENABLE_AUDIO=1

# Make sure these settings match the /etc/videocapture_settings.json file
VIDEO_DEV_1=/dev/video3
VIDEO_DEV_2=/dev/video4
#VIDEO_DEV_3=/dev/video5

# Use 8189fs for WyzeCam V2. For the WyzeCam Pan and Dafang use 8189es
WIFI_MODULE=8189fs

# Disables LEDs on the camera
DISABLE_LEDS=0

# Enable logging
ENABLE_LOGGING=0


videocapture_settings.json

  "comment": "2 encoders (1920x1080 H264, 1920x1080 MJPEG)",
  "general_settings": {
    "flip_vertical": 1,
    "flip_horizontal": 1,
    "timestamp_24h": 1,
    "timestamp_location": 0,
    "show_timestamp": 1,
    "enable_audio": 1,
    "enable_logging": 0
  },
  "frame_sources": [{
    "id": 0,
    "pic_width": 1920,
    "pic_height": 1080,
    "group": 0,
    "pixel_format": "PIX_FMT_NV12",
    "buffer_size": 2,
    "channel_type": "FS_PHY_CHANNEL",
    "crop_enable": 0,
    "crop_top": 0,
    "crop_left": 0,
    "crop_width": 0,
    "crop_height": 0,
    "scaling_enable": 1,
    "scaling_width": 1920,
    "scaling_height": 1080,
    "frame_rate_numerator": 25,
    "frame_rate_denominator": 1
  }],
  "encoders": [{
    "channel": 0,
    "group": 0,
    "v4l2_device_path": "/dev/video3",
    "payload_type": "PT_H264",
    "buffer_size": 0,
    "profile": 0,
    "mode": "ENC_RC_MODE_H264VBR",
    "frame_rate_numerator": 25,
    "frame_rate_denominator": 1,
    "max_group_of_pictures": 10,
    "max_qp": 38,
    "min_qp": 15,
    "frame_qp_step": 3,
    "gop_qp_step": 15,
    "pic_width": 1920,
    "pic_height": 1080,

    "h264vbr_settings": {
      "statistics_interval": 1,
      "max_bitrate": 900,
      "change_pos": 50
    },
    "h264cbr_settings": {
      "bitrate": 500,
      "max_fps": 100,
      "min_fps": 1,
      "ibiaslvl": 2,
      "adaptive_mode": 0,
      "gop_relation": 0
    }
  },
  {
    "channel": 1,
    "group": 0,
    "v4l2_device_path": "/dev/video4",
    "payload_type": "PT_JPEG",
    "buffer_size": 0,
    "profile": 0,
    "mode": "ENC_RC_MODE_H264VBR",
    "frame_rate_numerator": 25,
    "frame_rate_denominator": 1,
    "max_group_of_pictures": 10,
    "max_qp": 38,
    "min_qp": 15,
    "frame_qp_step": 3,
    "gop_qp_step": 15,
    "pic_width": 1920,
    "pic_height": 1080,

    "h264vbr_settings": {
      "statistics_interval": 1,
      "max_bitrate": 500,
      "change_pos": 50
    },
    "h264cbr_settings": {
      "bitrate": 500,
      "max_fps": 100,
      "min_fps": 1,
      "ibiaslvl": 2,
      "adaptive_mode": 0,
      "gop_relation": 0
    }
  }],
  "bindings": [
    {
      "note": "Bind framesource 0,0 to OSD 0,0 ",
      "source": {
        "device": "DEV_ID_FS",
        "group": 0,
        "output": 0
      },
      "target": {
        "device": "DEV_ID_OSD",
        "group": 0,
        "output": 0
      }
    },
    {
      "note": "Bind OSD 0,0 to encoder 0,0",
      "source": {
        "device": "DEV_ID_FS",
        "group": 0,
        "output": 0
      },
      "target": {
        "device": "DEV_ID_ENC",
        "group": 0,
        "output": 0
      }
    }
  ]
}

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.