Skip to main content

Pynopticon

Project description

Panopticon

Pynopticon

Pynopticon is a video recording utility that saves the last n frames before an interesting event to disk. This is useful if you just want to record the frames leading up to an interesting event.

import time
from pynopticon import Pynopticon

p = Pynopticon(record_frames=100)
p.start()
time.sleep(10)
p.save()

Optionally, you can upload the video to YouTube. This requires a client_secrets.json file, see instructions here.

import time
from pynopticon import Pynopticon, get_authenticated_service

youtube = get_authenticated_service(client_secrets_file="./client_secrets.json")
p = Pynopticon(record_frames=100, youtube=youtube)
p.start()
time.sleep(10)
p.save(upload=True, title="My Video", description="My Description")

There is also a server that exposes an http api, in case if you want to run Pynopticon on an external device.

# without upload:
python -m pynopticon

# with upload:
CLIENT_SECRETS_FILE="client_secrets.json" python -m pynopticon

api:

  • /: visit in browser for live streaming
  • POST /start: same as p.start() (after stop, server auto starts pynopticon instance)
  • POST /save: same as p.save(). Set ?upload=true to upload to YouTube. Only works if CLIENT_SECRETS_FILE is set.
  • POST /stop: same as p.stop()

config:

  • RECORD_FRAMES: number of frames to record before an event. Default: 100
  • CLIENT_SECRETS_FILE: path to client_secrets.json file. Default: None
  • PORT: port to run server on. Default: 4004
  • HOST: host to run server on. Default: 0.0.0.0
  • CAM: camera index. Default: 0

https://en.wikipedia.org/wiki/Panopticon

Installation

Requires OpenCV!

  • from pip
pip install pynopticon
  • from source
git clone https://github.com/rickwierenga/pynopticon

Developed for the Sculpting Evolution Group at the MIT Media Lab

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Pynopticon-0.0.5.tar.gz (6.7 kB view hashes)

Uploaded Source

Built Distribution

Pynopticon-0.0.5-py3-none-any.whl (8.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page