This application will be used to obtain user information and video submissions of CS:GO footage to be analyzed into a data model for AI/ML development. The end user should be able to access a web page where they can submit a YouTube URL and Discord user information to the backend API.
This API should then attempt to download the video from YouTube and process it accordingly to be included in the data model. This API should work as the initial video processing pipeline as well as a hub for analysis results.
To help contribute to WALDO, please visit the WALDO Documentation page. and make sure to comply with the Contributor Agreement.
We like SemVer and promote using Conventional Commits!
WALDO Footage Collection API only...
- Clone the repository
- Install node dependencies
npm i
- Start your local MongoDB instance
- Run the dev server
npm run dev
There is basic swagger documentation about the endpoints available at /documentation
- This API should validate CS:GO footage
- This API should create clips on kill shots
- This API should trim and store kill shot clips
- This API should create a connection to download clips from server (individual and/or archive of clips?)
- User submits form with YouTube URL & Discord details
- API is called for the CREATE/POST logic
- Returns failure if not an acceptable YouTube URL or missing any information
- API attempts to download & process video for necessary clips
- Use/modify existing Python logic to create clips of kill shots
- Crop/trim video resolution to meet analysis requirements
- Return error response if clips could not be created
- API stores any clips created and sends valid response to user
- Analysis application sends request to GET footage
- API gathers and responds with a list of the newest footage documents
- Analysis application sends request to GET clips based on footage ID
- API gathers and responds with a list of clips associated with footage ID
- Analysis application sends request(s) to download clip/archive from the server
- API should pipe the video file/archive to the application
This PoC is currently planned to be hosted/maintained on a single instance with hopeful intentions of moving into a serverless processing format. This includes all parts of the video processing logic, local database management, and video file storage system; Database management will be associated through Mongo Atlas at production level. The current development stack is Express built with TypeScript on NodeJS with access to Python.