This application is the Final Year Project of Gerald Lau. It applies Audio Fingerprinting and Audio Watermarking technologies to create an application that embeds and retrieves link into a video.
- Node.JS 12.13.0
- NPM 6.12.0
- Vue.JS 2.6.11
- Python 3.8.0
- Flask 1.1.1
- MongoDB 4.2.5
- FFmpeg 4.2.2
For instruction on how to set up each component, refer to their respective READMEs:
In development/production, it may be desirable to have MongoDB running in the background as a service.
If you have MongoDB installed using Brew, you can use this command:
brew services start [email protected]
Otherwise, just google around on running MongoDB as a service.
For this project, Gunicorn was chosen as a production server. A Gunicorn config file is provided in the Backend folder.
To run:
cd backend
gunicorn -c gunicorn.conf.py backend:app
You may also want to investigate running the Gunicorn script on startup as a service.
As the Frontend requires access to the microphone, browsers will need to run in a secure context, i.e over HTTPS.
In development:
Localhost is excluded from this requirement. To test other domains, you can use a flag in Chrome to get around this:
In production:
One solution is to create a self-signed SSL certificate to use with the Apache server for the Frontend, and with Gunicorn for the backend.
Read more here: