Socket
Book a DemoInstallSign in
Socket

github.com/chirag-and-dheeraj/video-streaming-server

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/chirag-and-dheeraj/video-streaming-server

v0.0.0-20250721083701-c4439dc90bca
Source
Go
Version published
Created
Source

Dekho: An on-demand video streaming server

Some Achievements ✨

We launched Dekho on Peerlist in the 3rd Week of January 2025 and we had a pretty good response.

Project of the week Project of the week

Star History

Star History Chart

Overview

Dekho is a research and study project aimed at understanding and learning about audio and video streaming. Our primary focus was on implementing the HLS (HTTP Live Streaming) protocol to build an on-demand video streaming server.

Setup Instructions

Basic Steps

  • Clone the repository
  • Create an Appwrite storage bucket
    • Make sure that you make a note of APPWRITE_KEY, APPWRITE_PROJECT_ID and the BUCKET_ID.

With Docker

  • Install docker-compose on your machine.
  • cd into the root of the repository.
  • Just run docker-compose up to start the server.

Without Docker

  • Install the make utility because we have created a Makefile to ease the setup
  • Now we are moving to the dependency installation steps.
  • This project needs go version go1.23, ffmpeg utility and psql (PostgreSQL) 16.3 database.
  • To install these, and the Go dependencies, run make install-dev.
    • The make install-dev takes care of installing PostgreSQL, Go, FFMpeg, golang-migrate and Go dependencies.
    • Run make start-postgres to start the postgres service.
    • Create a database user by running this command sudo -u postgres createuser -s username_here -P
    • -P will prompt for a password.
    • Enter the psql shell by running this command sudo -u postgres psql and create a database by running CREATE DATABASE <database_name>;.
    • Create a .env file using .env.local as a reference.
  • Once the dependencies are installed successfully, run make cleanstart.
  • This command will create all the necessary folders and start the server on http://127.0.0.1:8000
  • If you just want to run the server, run: make start
  • If you just want to clean up, run: make clean

Technologies Used

  • Server: Go
  • Database: PostgreSQL
  • Storage: Appwrite Storage
  • Video Processing: FFMPEG for breaking down videos into .ts chunks
  • Video Player: HLS.js
  • Frontend: HTML, CSS, JS

Project Architecture

Architecture Diagram

Key Resources

Our journey has been greatly enriched by the insights and guidance from various resources. A pivotal article that set us on the right path is "Learning the basics of video streaming with Golang" by Rohit Mundra.

For a comprehensive list of resources that have been instrumental in our learning and development process, please refer to our documentation.

Getting Involved

We welcome any queries or contributions to the project. If you have any questions or suggestions, please feel free to reach out to us:

Updates and Blog Posts

Stay tuned for upcoming blog posts and updates on our progress. If you haven't heard from us in a while, feel free to bug us about it!

FAQs

Package last updated on 21 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.