CrazedCoding.com Video Processing Server, and Audio Signal Frequency Prediction Tool, and BIT Master Thesis
The sole purpose of this repo is to serve as a platform for the thesis work of the author. So far, it is the culmination of a combination of academic and entrepreneurial projects developed over the past several years.
The main component is Linux-based python server that is capable of processing video files for visual keywords. It is mainly designed to efficiently (de)serializes messages sent to/from the client/server using Google Protobufs. It has a email based sign-up system, and uses TCP/WebSockets to send/receive messages to/from the client/server. It is written for Python 3.7+ and it's requirements are listed in requirements.txt.The client is written in pure HTML/JavasSript and can be found in the www folder.
To use this project for your own domain/server, simply replace all occurances of the string "CrazedCoding" (while preserving the occurance's case) to your own server's domain name.
We've gone through this process quite a few times, and have included a set of useful installation and debugging commands in commands.txt. In particular, when setting up the postfix/dovecot email system, the following debug command always comes in useful:
tail -f /var/log/mail.log
Install CUDA. This tuturial might help.
Install git and clone this repository:
apt-get install git
git clone https://github.com/CrazedCoding/CrazedCoding.com.git
cd CrazedCoding.com
Follow the guide: How to secure Postfix using Let’s Encrypt to configure postfix and dovetail for email verification.
sudo apt install postfix
sudo certbot certonly -d CrazedCoding.com -d www.CrazedCoding.com --expand
Follow the guide: How to Install the protoc Compiler if you plan to modify and rebuild `www/proto/messages.proto`. You can use the following commands to generate the `messages_pb2.py` file used by the server:
protoc ./www/proto/messages.proto --python_out=./
mv ./www/proto/messages_pb2.py ./
Follow the guide: How to Install PyTorch:
sudo apt-get install python3-pip
sudo apt-get install ffmpeg
Using python 3.6
sudo python3 -m pip install -r requirements.txt
If all goes well, then you should be able to start the server using the following command:
sudo python3 server.py