Skip to content

jaydee029/V-trance

Repository files navigation

V-trance

V-Trance is a cost effective video transcoding and on demand streaming platform leveraging event driven architecture and microservices for scalable, asynchronous processing. It performs transcoding and/or stream creation, enabling multi format video output optimized for web delivery and adaptive bitrate streaming.

First Image Second Image

Problem Statement & Introduction

Most existing services offered by cloud providers like AWS Elemental MediaConvert, Azure Media Services, or specialized platforms like Mux offer high-quality transcoding and streaming infrastructure. However, they are also expensive, often based on per-minute pricing models that scale linearly with content volume. Additionally, traditional transcoding systems are monolithic and difficult to scale horizontally. They are often limited by single-node processing models, which become bottlenecks under high load.

The primary objective of this project is to design and build a scalable, modular, and costeffective platform for video transcoding and on-demand streaming that delivers performance and flexibility comparable to commercial solutions, but at a significantly reduced cost.

Features & Properties

  • Provides various video manipulation services like transcoding, transrating as well as Adaptive bit rate video streaming using HLS(http live streaming) using FFmpeg.
  • Allows user signp/login using stateless Access and Refresh tokens
  • Microservices architecture implimented to enable scalability and asynchronous processing,
    • User service provided endpoints for user authorization and authentication.
    • trance-api service provides api endpoints for transcoding and stream creation
    • worker service does the heavy lifting , performing various transcoding and stream creation tasks
    • RabbitMQ used for asynchrnous job processing therby implementing event driven architecture
  • PostgresSQL used as primary database. Traefik api gateway implemented for ease of access.
  • Blackblaze B2 used for object storage, and Cloudflare CDN used for swift content delivery and reduced latency.

Architecture and User flow

1) High Level Design

image

2) Diagram describing user request flow

image

3) Diagram describing service request flow

image

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages