A collection of modules I have created to programmatically search for/download imagery from live cam feeds across the state of California.

Overview

california-live-cams

A collection of modules that I have created to programmatically search for/download imagery from all publicly available live cam feeds across the state of California. In no way am I affiliated with any of these organizations and these modules/methods of gathering imagery are completely unofficial.

Initially, I wanted to create a fire-detection engine using Haar-Cascade classifiers but due to each image containing a logo, the project requires further problem-solving. I hope these modules help someone else in the meantime!

Alertwildfire.org

This is a very robust module as it contains search features and a querying system that returns results in a JSON object. Aside from California, AWF also has cams in Oregon, Washington, Idaho, Nevada & Utah.

Note: Each image consistently contains a black footer that contains data. Tesseract-OCR engine flawlessly detects the text in the black bar each time which might be very useful to someone.

Source: alertwildfire.org

Usage:

from awf import *
from PIL import Image

if __name__ == '__main__':

    # Initialize an API-session
    api = AWF()

    # This will keep images after the script has stopped if set to False.
    AWF_GLOBALS.BURN_AFTER_READING = True

    # Note: Downloads are saved to the location "__main__/downloads" by default.

    # Get all cams where "county" == "napa", then download the latest image of each result to our cache.
    print("Starting query...")
    query = api.fetchByProp("county", "napa", download=True)

    # If any results from the query:
    if (len(query)):

        print("Found %s matching cams." % len(query))
        
        for cam in query:
            print("Cam ID:   %s" % cam['properties']['id'])
            print("Location: %s, %s" % (cam['properties']['county'], cam['properties']['state'],))
            Image.open(cam['download']['filename']).show()
            _ = input("Hit enter to continue...")

    # Finally, kill our updater thread as it will be hanging.
    AWF_GLOBALS.exit_thread = True

Preview:



Caltrans & DOT

This is a collection of ALL of the Department Of Transportation's highway cams located in the state of California, in cooperation with Caltrans. While there is also live-video feeds selectively available, I have not added a streaming capability to the module yet but plan to in the near future. I did not add a search/query feature to this module as my main focus is around Wildfire detection.

Source: cwwp2.dot.ca.gov

from cdt import *
from PIL import Image
from os import remove

# Iterate over entire set of cams
while True:
    
    # Get current cams from Caltrans/DOT
    # This will create a file, data.json
    cams = getCams(file=True)

    # Iterate cam results
    for cam in cams:

        # Print the cam info
        print()
        print("City:    %s" % cam['city'])   
        print("County:  %s" % cam['county'])     
        print("Highway: %s" % cam['county'])    
        print("Cam ID:  %s" % cam['cam']['id'])   
        print()

        # Get the latest feed image url
        imageLocation = getCamFromPoster(cam['cam']['poster'])

        # Download the image
        filename = getImage(imageLocation, "test.jpg")

        # Show the image
        im = Image.open(filename)
        im.show()

        _ = input("Hit [enter] to continue...")

        remove(filename)

Preview:



Notes

  • I plan to merge both modules into one centralized module with universal search features.

  • Again, in no way am I affiliated with the above organizations.

  • Rate-limiting has not been an issue with either organization but this doesn't mean we can make a rediculous amount of requests... please be respectful!

  • I'm am open to accepting contribution to these modules and future iterations, just DM me on Twitter.

  • Enjoy!!

Owner
Chad Groom
Full Stack dev with interest in OSINT, AI, language-processing, image-processing & security. Non-Security/OSINT @ceegroom. Available for work🤙
Chad Groom
A Python package for downloading / archiving all available episodes from a podcast RSS feed.

allcasts 📻 🗃 A Python package for downloading all available episodes from a podcast RSS feed. Useful for making private archives of your favourite p

Lewis Gentle 5 Nov 20, 2022
Google Art Image Downloader Tkinter

Google-Art-Image-Downloader-Tkinter 由 google-art-downloader 整改的批量 Google 艺术展平台高清图片下载 ⭐ It works perfectly from 2018 year till today, thanks for stars!

PY-GZKY 1 Jan 05, 2022
Simple Youtube Video Downloader

Simple Youtube Video Downloader Download Youtube video using link and Will output result in D:/ (You can change the path in main.py file) Installation

Hansen Gianto 1 Oct 28, 2021
Noto fonts go universal! Download Noto fonts combined to suit your region (South Asia, SE Asia, Africa-MiddleEast, Europe-Americas).

Go Noto Universal Noto fonts go universal! Download Noto fonts combined to suit your region (South Asia, SE Asia, East Asia, Africa-MiddleEast, Europe

Satish B 67 Jan 06, 2023
Download songs and playlists from Spotify for free!

spotify-to-mp3-converter You can basically understand the process with just this image but for clarity, these are the steps. Before using the exe down

2 Jan 25, 2022
Downloads state flags from wikipedia for states/regions from all countries

world-state-flags Downloads state flags from wikipedia for states/regions from all countries This data is NOT curated Uses https://github.com/dr5hn/co

João Ribeiro Bezerra 2 Dec 15, 2022
A scriptable music downloader for Qobuz, Tidal, and Deezer

streamrip A scriptable stream downloader for Qobuz, Tidal, and Deezer. Features Downloads tracks, albums, playlists, discographies, and labels from Qo

967 Jan 03, 2023
Using Youtube downloader is the fast and easy way to download and save any YouTube video.

Youtube video downloader using Django Using Django as a backend along with pytube module to create Youtbue Video Downloader. https://yt-videos-downloa

Suman Raj Khanal 10 Jun 18, 2022
Shit-fetch - Shitpost fetcher (downloader)

shit-fetch Download shitpost (random) from https://random-shitpost.com/ Usage ./shitfetch.py --nsfw (true/false) --output ~/Downloads (default : ./)

Pinokaille 1 Jan 02, 2022
Download courses from khanacademy.org

khan-dl A python script to download courses from Khan Academy using youtube-dl and beautifulsoup4.

rand-net 806 Jan 03, 2023
An automatic beatmapset downloader via txt file, suitable for tourney mappools.

Pooler Pooler is a bulk osu! mapset downloader, perfect for use with osu! Tournament Mappools. Prerequisites Python 3.10 Requests (pip install request

Thomas 0 Feb 11, 2022
Quickly, simply, and asynchronously download NFT's from an Opensea collection

iRightClick Quickly, simply, and asynchronously download NFT's from an Opensea collection. NOTICE This tool is not developed to encourage or facilitat

Setro 34 Dec 30, 2022
A YouTube downloader which allows you to choose which video you want

Youtube Video Downloader Download multiple videos in one go! How to Use 1.First type the video you want to download 2.On clicking the Search button yo

2 Dec 17, 2021
Download all your URI Online Judge source codes and upload to GitHub with simple steps.

URI-Code-Downloader Download all your URI Online Judge source codes and upload to GitHub with simple steps. Prerequisites Python 3.x Installing Downlo

Luan Simões 9 Mar 23, 2022
A Telegram bot to download TikTok videos without any watermark.

TikTok Downloader Bot A Telegram bot to download TikTok videos without any watermark. Host on Heroku Youtube: Deployment Tutorial Demo: JayBee TikTok

Joy Biswas 184 Jan 04, 2023
Python based Telegram bot. Search and download YouTube video or audio.

Python-Telegram-Youtube-Media-Bot Python based Telegram bot. Search and download YouTube video or audio. Just change settings.py and start TelegramBot

Ahmet Bohur 2 Oct 02, 2022
Simple package for Sublime Text 4; download URL's for local viewing and editing

URLDownloader This is a simple example package that allows you to easily download the contents of any web URL to edit locally. Given a URL, the packag

Terence Martin 3 Mar 05, 2022
Youtube Downloader Telegram Bot 😉

Youtube Dl bot 😉 Prerequisite ffmpeg install dependencies pip3 install -r requirements.txt Setup Bot - Change configuration config.py File - insta

Aryan Vikash 285 Dec 06, 2022
This is Yt Downloader. Coded with Python (my first repository)

Get Started Download & install Python first before using this software. Download Python Installing Python and Pytube Library (IMPORTANT) Installing Py

Qi 2 Oct 25, 2021