This is a server side component that runs alongside the Cacophony Project API, performing post-upload processing tasks.
Currently it supports the following kinds of processing:
- Feeding uploaded CPTV (Cacophony Project Thermal Video) files to an external classifier. The tags and MP4 files generated by the classifier are passed back to the API server. This is handled by thermal_processing.py.
- Converting uploaded audio files to MP3 format (if required). This is handled by audio_processing.py
- Running the Cacophony Project audio-analysis tool over uploaded audio recordings.
cacophony-processing requires access to the Cacophony API's
fileProcessing
API as well as direct access to the API's backing
object store. Copy processing_TEMPLATE.yaml
to processing.yaml
and
edit as appropriate.
The processing.yaml file may either be placed in /etc/cacophony or in the same directory as the code.
- Start cacophony-api locally.
- Copy processing_TEMPLATE.yaml to processing.yaml and edit as appropriate.
- Create and activate a virtualenv. This virtualenv must use Python 3.5 or later.
- Install dependencies:
pip install -r requirements.txt
- Run
python main.py
- Ensure all changes have been merged and are pulled into the local copy.
- Tag the release (starting with a "v"), e.g.:
git tag -a v1.2.3 -m "1.2.3 release"
- Push the tag to Github, e.g.:
git push origin v1.2.3
- TravisCI will run the tests, create a release package and create a Github Release