CCTV in-memory GIF animated generation service
100K+
Polls IP CCTV cameras every couple of seconds (configurable), stores the last 1 minute in an in-memory ring buffer per camera. Provides a simple HTTP endpoint to retrieve a GIF. This service is designed to be easily integrated with home automation systems.
Example uses:
GET /gif?camera=frontdoor&duration=60&interval=0.25

Cameras are listed in YAML configuration file. The poll interval is specified per camera, optionally HTTP basic authentication can be used.
cameras:
frontdoor:
url: http://192.168.0.9/ISAPI/Streaming/channels/101/picture
interval: 2
backdoor:
url: http://192.168.0.10/jpg/1/image.jpg
interval: 2
auth: basic
username: admin
password: letmein
server:
web:
port: 8080
listen: 0.0.0.0
Per camera fields:
url: URL to retrieve a JPEG from the camera from. (required)interval: Time in seconds between polls (required)auth: HTTP authentication type, only basic is supported (optional)username: HTTP basic authentication usernamepassword: HTTP basic authentication password./buffer.py -c home.yaml
docker pull natmorris/cctv-gif-buffer:latest
docker run -d --name cctvgifbuffer --rm -v /etc/cctvgifbuffer:/config -p 8080:8080 -t natmorris/cctv-gif-buffer
libjpeg, install on Mac brew install libjpeg
[email protected]:natm/cctv-gif-buffer.git
cd cctv-gif-buffer
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
Copyright 2017 Nat Morris [email protected]
Licensed under the MIT License.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Content type
Image
Digest
Size
124 MB
Last updated
over 9 years ago
docker pull natmorris/cctv-gif-buffer