Project Description

To put it simple, the goal of this project is to be able to publish any gstreamer input pipeline as a valid and discoverable ONVIF Camera device (i.e implementing profile S and maybe T).

ONVIF IP cameras, while not expansive are not easy to emulate using free and open-source software. This project aims to change that and allow anyone to make its own ONVIF compliant camera from commodity hardware (who said Raspberry Pi ?), or simply simulate a full software IP camera.

The project shall be either in Rust or Golang (to be defined)

Goal for this Hackweek

Here are the main goals for this HackWeek:

  • Bootstrap the project
  • Implement minimal mandatory requirements of profile S as read-only (sections 7.2, 7.3, 7.8, 7.9)
  • Take input from at least libcamera and test gstreamer pipelines

Bonus goals:

  • Implement full mandatory requirements of profile S
  • Implement mandatory requirements from profile T

Resources

Looking for hackers with the skills:

unit-testing video gstreamer xml

This project is part of:

Hack Week 23

Activity

  • about 1 year ago: atgracey liked this project.
  • about 1 year ago: nbelouin added keyword "unit-testing" to this project.
  • about 1 year ago: nbelouin added keyword "video" to this project.
  • about 1 year ago: nbelouin added keyword "gstreamer" to this project.
  • about 1 year ago: nbelouin added keyword "xml" to this project.
  • about 1 year ago: nbelouin started this project.
  • about 1 year ago: nbelouin originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    Update my own python audio and video time-lapse and motion capture apps and publish by dmair

    Project Description

    Many years ago, in my own time, I wrote a Qt python application to periodically capture frames from a V4L2 video device (e.g. a webcam) and used it to create daily weather timelapse videos from windows at my home. I have maintained it at home in my own time and this year have added motion detection making it a functional video security tool but with no guarantees. I also wrote a linux audio monitoring app in python using Qt in my own time that captures live signal strength along with 24 hour history of audio signal level/range and audio spectrum. I recently added background noise filtering to the app. In due course I aim to include voice detection, currently I'm assuming via Google's public audio interface. Neither of these is a professional home security app but between them they permit a user to freely monitor video and audio data from a home in a manageable way. Both projects are on github but out-of-date with personal work, I would like to organize and update the github versions of these projects.

    Goal for this Hackweek

    It would probably help to migrate all the v4l2py module based video code to linuxpy.video based code and that looks like a re-write of large areas of the video code. It would also be good to remove a lot of python lint that is several years old to improve the projects with the main goal being to push the recent changes with better organized code to github. If there is enough time I'd like to take the in-line Qt QSettings persistent state code used per-app and write a python class that encapsulates the Qt QSettings class in a value_of(name)/name=value manner for shared use in projects so that persistent state can be accessed read or write anywhere within the apps using a simple interface.

    Resources

    I'm not specifically looking for help but welcome other input.