Completed
TranscodeX

TranscodeX

A distributed video processing and streaming platform featuring multipart uploads, FFmpeg-powered HLS transcoding, AI-generated captions, transcript-based chat, realtime processing updates, and adaptive bitrate streaming.

Overview

Transcodex is a full-stack video processing platform inspired by modern streaming systems such as YouTube. The project implements the complete media pipeline from upload to playback — including multipart uploads, distributed video processing, thumbnail generation, HLS transcoding, adaptive streaming, AI-generated captions, transcript extraction, realtime progress tracking, and transcript-aware conversational AI. The primary goal was to explore media infrastructure, asynchronous processing, realtime communication, and AI integration in a single production-style system.

What Users Can Do

  • Upload large video files using multipart uploads directly to AWS S3.
  • Track video processing progress in realtime without polling.
  • Watch videos using adaptive bitrate HLS streaming.
  • Manually switch between 480p, 720p, and 1080p playback quality.
  • Control playback speed and view generated subtitles.
  • Access automatically generated captions and transcripts.
  • Chat with an AI assistant that answers questions using the video's transcript as context.
  • View thumbnails generated automatically during processing.

Why I built this

  • To understand how modern video platforms process and deliver media at scale.
  • To gain hands-on experience with FFmpeg, HLS, and adaptive streaming.
  • To learn distributed job processing using BullMQ and Redis.
  • To implement realtime communication using Socket.IO and Redis Pub/Sub.
  • To explore practical AI integrations beyond simple chatbot applications.
  • To build a portfolio project demonstrating backend engineering, cloud infrastructure, media processing, and AI in a single system.

Tech Stack

Next.js
TypeScript
PostgreSQL
Prisma
Redis
BullMQBullMQ
Socket.IO
FFmpeg
Turborepo

After launch & Impact

  • Implemented multipart uploads to AWS S3 for reliable large-file handling.
  • Built a distributed processing pipeline using BullMQ workers and Redis queues.
  • Created an FFmpeg-based transcoding system that generates multi-resolution HLS streams.
  • Implemented adaptive streaming with manual quality selection and playback controls.
  • Built realtime processing updates using Socket.IO and Redis Pub/Sub.
  • Integrated Whisper-based caption generation and transcript extraction.
  • Implemented transcript-aware AI chat using Gemini.
  • Designed a media pipeline that separates API responsibilities from processing workloads.

Future Plans

  • Implement semantic transcript search using vector embeddings.
  • Add timeline-aware AI responses that link answers to video timestamps.
  • Generate AI-powered video summaries and chapter markers.
  • Introduce GPU-accelerated transcoding for faster processing.
  • Add CDN integration for global video delivery.
  • Deploy horizontally scalable worker pools for parallel media processing.