Back to projects
PX47
Multimedia binary processing engineScalable backend pipeline utilizing ffmpeg and audiowaveform for high-throughput stream analysis. S3-integrated with pre-signed upload flows.
PX47 Demo
Tech Stack
Node.jsExpressffmpegAudioWaveFormAWS S3Docker
Overview
This project is a backend data-processing pipeline for audio and video files, built with Express.js. Users can upload files directly to S3 using pre-signed URLs, and files are processed asynchronously using BullMQ + Redis workers. The pipeline handles format conversion, metadata extraction, waveform generation, and uploads the processed files back to S3.
Architecture Overview

Features
- Direct S3 uploads via pre-signed URLs
- Automatic worker triggering after file upload
- Audio format conversion (e.g., MP3/AAC)
- Metadata extraction from audio/video files
- Waveform generation stored as JSON
- Processed files and waveform JSON are uploaded back to S3
- Asynchronous processing with BullMQ + Redis
Workflow
- Client requests a pre-signed URL from the backend
- Client uploads the file directly to S3
- A worker picks up the uploaded file
- Worker downloads the file locally (required by FFmpeg)
- Extracts metadata using FFprobe
- Generates a mute video from the original video
- Extracts audio-only track and converts to AAC format
- Generates waveform JSON for the audio
- Uploads processed files back to S3
- Saves all metadata and S3 keys in the database