Thingino: Difference between revisions

From Leo's Notes
This page was last edited on 3 August 2025, at 04:16.
Created page with "Thingino is an open-source firmware for Ingenic based IP cameras. This is a good alternative firmware for the Wyze Cam (v2, v3, but not the v4) as it has RTSP support with an up-to-date kernel/OS. == Installation == Josh at WL Tech Blog has made Thingino installers for all the supported cameras available from his GitHub repo: * https://github.com/wltechblog/thingino-installers Simply find the installer for your camera and follow the instructions provided. === Wyze ca..."
 
No edit summary
Line 20: Line 20:


== Frigate integration ==
== Frigate integration ==
Getting Thingino and Frigate with nvidia hardware acceleration seems to be a little tempermental with frequent issues that cause the detection and recording threads to crash. A few things that I had to do to make it work:
Getting Thingino and Frigate with nvidia hardware acceleration seems to be a little tempermental when configured with a specific combination of configuration settings that leads to the detection and recording processes to eventually misbehave and crash. When this misbehavior happens, ffmpeg uses 100% GPU and rapidly eats up as much system memory as it can get before OOM kills it. While this happens, the preview shows corrupt frames like this:
[[File:Frigate misbehaving.jpg|alt=Frigate + nvidia acceleration + Thingino misbehaving which causes frames to scramble until ffmpeg crashes.|none|thumb|Frigate + nvidia acceleration + Thingino misbehaving which causes frames to scramble until ffmpeg crashes.]]
A few things that I had to do to make it work:


# If you use the sub stream, you shouldn't use hwaccel_args : preset-nvidia or else ffmpeg goes off the rails and then crashes
# If you use the sub stream, you shouldn't use hwaccel_args : preset-nvidia or else ffmpeg goes off the rails and then crashes

Revision as of 04:16, 3 August 2025

Thingino is an open-source firmware for Ingenic based IP cameras. This is a good alternative firmware for the Wyze Cam (v2, v3, but not the v4) as it has RTSP support with an up-to-date kernel/OS.

Installation

Josh at WL Tech Blog has made Thingino installers for all the supported cameras available from his GitHub repo:

Simply find the installer for your camera and follow the instructions provided.

Wyze cam v3

Installation on the Wyze Cam v3 is simple: You simply need to copy a few files to your SD card and then reboot the camera. You don't even need to touch it if you already have wz_mini_hacks installed as you just need to copy the files via SSH and reboot.

  1. Download the latest installer files from https://github.com/wltechblog/thingino-installers/tree/main/wyze-cam-3
  2. Extract the files and then upload it to the SD card. if you're using wz_mini_hacks with SSH enabled, you can just copy it via SSH:
    $ for i in  factory_t31_ZMC6tiIDQN  thingino-wyze_cam3_t31al_gc2053_atbm6031.bin  thingino-wyze_cam3_t31x_gc2053_atbm6031.bin  thingino-wyze_cam3_t31x_gc2053_rtl8189ftv.bin ; do cat "$i"  | ssh root@wyze-camera "cat - > /media/mmc/$i" ; done
    
  3. Reboot the camera and wait 2-3 minutes.
  4. You should see a wireless access point show up once this is done named "THINGINO-XXXX". Connect to it and then go to http://172.16.0.1/ to complete the setup. After you enter your password/wifi settings, you will see the MAC address of the device.

Frigate integration

Getting Thingino and Frigate with nvidia hardware acceleration seems to be a little tempermental when configured with a specific combination of configuration settings that leads to the detection and recording processes to eventually misbehave and crash. When this misbehavior happens, ffmpeg uses 100% GPU and rapidly eats up as much system memory as it can get before OOM kills it. While this happens, the preview shows corrupt frames like this:

Frigate + nvidia acceleration + Thingino misbehaving which causes frames to scramble until ffmpeg crashes.
Frigate + nvidia acceleration + Thingino misbehaving which causes frames to scramble until ffmpeg crashes.

A few things that I had to do to make it work:

  1. If you use the sub stream, you shouldn't use hwaccel_args : preset-nvidia or else ffmpeg goes off the rails and then crashes
  2. If you want to use hwaccel_args: preset-nvidia, then don't use the sub stream as an input. You can still use it as a live stream.

This seems to work for me:

garage:
    ffmpeg:
      hwaccel_args: preset-nvidia
      output_args:
        record: preset-record-generic-audio-aac
      inputs:
        - path: rtsp://127.0.0.1:8554/wyze-garage?timeout=30
          input_args: preset-rtsp-restream
          roles:
            - record
            - detect
            - audio
    live:
      stream_name: wyze-garage_sub
go2rtc:
  streams:
    wyze-garage:
       - rtsp://thingino:thingino@ip:554/ch0#timeout=30
    wyze-garage_sub:
       - rtsp://thingino:thingino@ip:554/ch1#timeout=30

  webrtc:
    candidates:
      - 10.1.2.30:8555
      - stun:8555