Skip to content

Neirea/video-ops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Video Ops

This is an app for uploading videos, processing them into 480p, 720p, and 1080p. Once uploaded, you can watch them in a custom-made player and embed them into another website as "iframe".

  • To set up CORS in GCP CLI: gsutil cors set cors.json gs://<bucket name>

System architecture:

Video Ops diagram

  1. Videos are uploaded with the app using signed URLs.
  2. Raw video is uploaded to Google Cloud Storage (GCP) bucket via multipart upload.
  3. GCP upload triggers Google Pub/Sub which pushes a notification to the transcoding server.
  4. FFmpeg generates thumbnails with all set qualities.
  5. FFmpeg transcodes video into all set qualities.
  6. Transcoded videos are saved to the production bucket and data is saved to the database.
  7. The app consumes content via streaming.

Features:

  • Custom-made player
  • Switching between video resolutions: 480p, 720p and 1080p
  • Thumbnails on hover or scrubbing over the timeline
  • Embedded video player support

Technologies:

  • App: Next.js, MongoDB
  • Video processing: Node.js, FFMpeg, MongoDB
  • Google Cloud Storage and Pub/Sub
  • Deployed on Vercel and Railway

About

video uploader & streaming

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages