This service transcodes media files from one format to another.
It uses server and worker components to manage concurrency.
TL;DR: ffmpeg as a service.
Development still at an early stage.
# Clone the repo
git clone https://github.com/vothub/media-converter-api.git
cd media-converter-api
# Install dependencies
npm install
# Start the app
npm start
This starts the application at http://localhost:3000
with a single worker thread and a single server thread.
Media Converter is configured by environment variables.
You can use a .env file to set the necessary values.
Database (both processes)
POSTGRES_HOST(defaults tolocalhost)POSTGRES_PORT(defaults to5432)POSTGRES_USER(defaults to empty string)POSTGRES_PASS(defaults to empty string)POSTGRES_DBNAME(defaults tovhmc)
API
APP_PORT(defaults to3000)APP_BASE_URL(defaults tolocalhost:3000)
Worker
POLLING_FREQUENCY_MS(defaults to3000)
- Retry logic
- Add persistent backing storage (scaling restriction)
- Improve documentation - schemas, statuses, data flow, presets, etc.