Code Monkey home page Code Monkey logo

chirp's People

Contributors

nlitz88 avatar

Watchers

 avatar

chirp's Issues

Add option to read in YouTube video as source

I think one of the earliest/fastest ways people will be able to adopt this or play around with it is to just feed it a recording of their stream from YouTube. Therefore, if it's just to test it out, then I should add support in the video-source argument for supplying a link to a YouTube video and grabbing frames from there.

Also, I'm pretty sure supervision has functions for enabling this, so I'm betting it's something we can add fairly quickly.

Also, a YouTube STREAM is really the big target!

OR, in the future, if this system ends up as a docker system--just include a container that serves as an RTMP server. Then, set it up so that your existing streaming device just sends video to that RTMPs server container. Still not as flexible as just sending it straight up to YouTube, so may have to consider some alternatives.

It looks like Ultralytics has an RTMP input source, as well as a YouTube link. Not sure if the YouTube option supports live streaming yet: https://docs.ultralytics.com/modes/predict/#inference-sources

If not, there's a library called "pafy" that some people recommend for working with YouTube content: https://pythonhosted.org/pafy/

Add weather data to detection events

Was poking around the feederwatch website and saw this section: https://feederwatch.org/about/detailed-instructions/#record-effort-weather-data

Essentially, it seems snow can greatly influence the number of birds you might see (or even weather data in general).

Therefore, it would probably be helpful to add something like snow detection and other weather details for each detection event. I.e., is it snowing at the time of the detection, is there snow on the feeders, what's the temperature, cloud cover, humidity, etc. All these parameters.

I forgot temperature initially--yet we always say that we see more birds when it gets colder out--so that would be an essential data point to test that theory.

To add all these data points, consider adding a function or some unit that runs at some interval to refresh these metrics. I.e., we don't need to poll accuweather for the temperature every frame--but maybe every 30s or every minute. We can (and should) also do this in another thread so as to not bog down the main thread with those IO-bound tasks.

Update: Just thinking about this now, but this if we are just going to pull current weather conditions from the national weather service or a similar API every so often, then this data can just as easily be added after the fact--assuming that historical weather data is accessible via those APIs. Just something to keep in mind.

Add Video Sink to end of pipeline

Either create an RTMP(s) sink or just a normal video device sink. In the case of a video device sink, this just means you could take it and use it as an input device in OBS. This isn't the worst idea in the world, and would probably be nice to have anyway eventually.

Should also add an option for no output at all--in case someone wants to run this on their stream without recording it.

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.