Network camera image retrieval and archiving.
CAM2 Image Archiver
If you use this software, please include the following statement in acknowledgments
"The image archiving program is provided by the CAM2 (Continuous Analysis of Many CAMeras) project at Purdue University."
What is this repository for?
This repository stores the source code for retrieving data (image or video) from network cameras.
This is part of Purdue's CAM2 (Continuous Analysis of Many CAMeras) project. The project's web site is https://www.cam2project.net/
In particular, "You agree not to use the Platform to determine the identity of any specific individuals contained in any video or video stream."
Software licensed under Apache license. See LICENSE.txt for details.
The lead investigator is Dr. Yung-Hsiang Lu, email@example.com. Please send your questions, comments, or suggestions to him.
Thousands of network cameras are connected to the Internet and provide real-time visual data (image or video). Many network cameras require no password and anyone connected to the Internet can retrieve the data,i.e., the data is publicly available. This program considers only publicly available camera data.
Even though the data is publicly available to anyone interested seeing, there are several problems. First, there is no central repository where network cameras must register. Thus, significant efforts must be taken to find various sources of data. Second, different brands of network cameras need different methods to retrieve the data. The cameas may also provide different data formats: some provide individual JPEG images; some provide motion JPEG (MJPEG) video; some others provide H.264 video.
To solve these problems, researchers at Purdue University are developing the software to retrieve data from heterogeneous sources.
This software requires a database that stores cameras' information (how to retrieve the data). The repository contains some examples of entries in a database (using MySQL).
Full documentation can be found at https://purduecam2project.github.io/CAM2ImageArchiver/index.html
sudo apt-get install libopencv-dev python-opencv
- Install MySQLdb to access the MySQL database from Python:
sudo apt-get install python-mysqldb
- Create an empty MySQL database using the following MySQL command:
CREATE DATABASE cam2;
- Build the database using the provided file and the following Linux command:
mysql -u root -p cam2 < sample_database.sql
- Modify the database credentials in the
DB_SERVER = 'localhost' DB_USER_NAME = 'root' DB_PASSWORD = '' DB_NAME = 'cameras'
CAM2ImageArchiver.pyis the main Python module. It archives images from a single camera.
camera.pyprovides classes to communicate with different types of cameras: IP cameras, non-IP cameras, and stream cameras.
StreamParser.pyis used by
camera.pyto parse JPEG and MJPEG streams.
error.pycontains custom Python Exceptions.
CamerHandler.pysplits the retrieval job into threads for parallel processing.
Example usage can be found in the documentation.
This program downloads image snapshots from 2 sources
(1) A given URL address
(2) A camera ID in the MySQL database * MySQL database must be available on host computer.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|CAM2ImageArchiver-2.0.3-py3-none-any.whl (15.8 kB) Copy SHA256 hash SHA256||Wheel||py3||Oct 17, 2018|
|CAM2ImageArchiver-2.0.3.tar.gz (11.7 kB) Copy SHA256 hash SHA256||Source||None||Oct 17, 2018|