Building surveillance system with WebRTC and YOLO

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • KaithemAutomation

    Pure Python, GUI-focused home automation/consumer grade SCADA

  • Code is here(Specifically under src/thirdparty/iot_devices/NVRChannel).

    Basically I stream from RTSP cameras into GStreamer. I have GStreamer constantly convert to MPEG-TS(A wonderful format because the fixed size chunks make stream streaming easy) and output on a named pipe, plus output the keyframes to ramdisk files.

    The TS stream I output via a web socket and use a JS player to decode that(See kaithem/data/modules/Beholder for the player code).

    But I also output the video to files in the ramdisk continually and keep the last few segments. When record is triggered, I copy all the existing segments over(To catch things before record started), start copying any new ones and start creating an HLS playlist file. When you go to play a file in the web UI, I use an HLS player directly.

    This allows playback while a session is still being recorded, and future metadata stuff in the file, and lets me use .ts for everything.

    Keyframes go into a motion algorithm that uses PIL to perform an erosion operation and remove small bits of noise, taking into account real motion will be connected pixels. If motion is seen, tflite-runtime runs the Efficientdet model. This is probably the weakest part of the system, since I only look at keyframes and the model is not very accurate I occasionally miss things.

    The results get postprocessed because sometimes the model sees things that aren't there. Definitely could use better modeling.

    The motion estimator value is exposed as a tag point for other automation triggers in realtime.

    I'm using Amcrest at the moment but they have some big ethical problems last I heard, so I'd probably go with TP Link Tapo if they still have RTSP next time.

    https://github.com/EternityForest/KaithemAutomation

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Cylon: JavaScript framework for robotics, drones, and the Internet of Things

    1 project | news.ycombinator.com | 4 May 2024
  • Figma's Journey to TypeScript

    5 projects | news.ycombinator.com | 4 May 2024
  • How to Use JSON Path

    11 projects | news.ycombinator.com | 3 May 2024
  • Show HN: Kubernates in Node.js

    1 project | news.ycombinator.com | 4 May 2024
  • Access your Synology NAS with a custom domain on Bunny.net (DDNS)

    1 project | dev.to | 4 May 2024