{"repo":"ashishnanda19/Video-transcoder","free":true,"listed":false,"github":"https://github.com/ashishnanda19/Video-transcoder","clone":"git clone https://github.com/ashishnanda19/Video-transcoder.git","description":"This project implements a scalable, event-driven video transcoding pipeline leveraging AWS services and Redis. It automatically processes uploaded videos and converts them into multiple resolutions to ensure efficient delivery and compatibility across devices.","language":"TypeScript","stars":81,"topics":["aws","docker","expressjs","ffmpeg","mongodb","nodejs"],"license":null,"category":"media-processing","readme_excerpt":"Video Transcoding System This project implements a distributed video transcoding system with a leaky bucket rate-limiting mechanism using Node.js, AWS services, Redis, and ffmpeg, aimed at automatically generating multiple resolutions of uploaded videos. It enhances accessibility and optimizes viewing experiences by providing users with options to preview and download videos in various resolutions. Project Demo Table of Contents - Architecture - Tech Stack - Setup Instructions - How It Works - Environment Variables - Endpoints - Improvements Architecture Technologies Used - AWS Services : S3, Lambda, EventBridge, ECS - Frontend : Next.js - Backend : Node.js (with Express.js) - Database : MongoDB, Redis - Docker - Serverless Framework Project Structure The project is organized into several components: - ecs-task : Manages the transcoding process by spinning up Docker containers on ECS. - upload-trigger-api : AWS Lambda function triggered by S3 events, initiates video transcoding tasks. - video-transcoder-client : Next.js frontend for uploading videos, previewing transcoded videos, and downloading transcoded files. - video-transcoder-server : Main server implemented as a Lambda function using the Serverless Framework, handles video transcoding job queue management, rate limiting, and webhook calls. Features - Automatically transcodes uploaded videos into multiple resolutions (360p, 480p, 720p, 1080p). - Rate limiting to ensure a maximum of 5 concurrent video transcoding jobs. -","default_branch":null,"files":null,"tree":[],"storefront":"/r/ashishnanda19","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ashishnanda19/Video-transcoder/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}