nlitz88 / chirp Goto Github PK
View Code? Open in Web Editor NEWScripts, utilities, and tools for analyzing bird feeder live streams.
License: MIT License
Scripts, utilities, and tools for analyzing bird feeder live streams.
License: MIT License
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/
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.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.