A twitch like platform.

Overview

Streammmm

A real-time live streaming web backend written in NestJS.

Run Locally

git clone https://github.com/Neeraj319/streammmm
cd streammmm
  • Create .env file and add environment variables according to .env.example

Using Docker

make build
  • for nth run
make up

Normal Installation (This won't work if you are using windows use docker installation instead or use WSL)

npm install yarn
yarn install
  • copy the nginx.conf file present in rtmp/ folder and add it to /etc/nginx/
  • Reload nginx with
sudo nginx -s reload
  • Database setup Add your own config and make sure to edit .env file
yarn start:dev

Architecture

alt text

Using the API

Streaming using the API

  • Create a user and it's channel by following the api docs. Now create a video grab your stream key from api (Look at the API docs for all API endpoints)
  • Install OBS from -> https://obsproject.com/download
  • Open OBS follow the default instructions for setup
  • Follow the images below for instructions

alt text

  • Select Screen Capture (XSHM) and OK

alt text

Stream Key setup

  • In the up-left coroner you will find files options. You will also find Settings option there. Select stream option and follow the instructions in the image

alt text

  • Set Server Url to: rtmp://localhost:1935/streaming

  • In streamkey inputbox make sure to get the right stream key of your channel otherwise it won't work.

  • Now start the stream by:

alt text

To view the stream you can use VLC media player or HLS demo app

I'll be showing with HLS demo app

  • go to https://hls-js.netlify.app/demo/

  • hls stream url: http://localhost:8080/hls/generate_stream_file_name.m3u8

  • Change the last url parameter to your stream/videos's file name provided by the api

alt text

You should be able to view the stream on the player now.

Contributing

Contributions are always welcome!

See contributing.md for ways to get started.

Please adhere to this project's code_of_conduct.md.

You might also like...

Simplifies the process of obtaining the integrity token for Twitch's GraphQL API.

Twitch GQL Integrity Generator Simplifies the process of obtaining the integrity token for Twitch's GraphQL API. Getting Started Install the module wi

Dec 29, 2022

GetOsLocalesCrossPlatform - A cross platform alternative to get locales used on the platform. Works on Node, Electron, NW.js and Browsers

getOsLocalesCrossPlatform A cross platform alternative to get locales used on the platform. Works on Node, Electron, NW.js and Browsers This script is

Jan 2, 2022

A cross-platform AutoHotKey-like thing with TypeScript as its scripting language

suchibot A cross-platform AutoHotKey-like thing with JavaScript/TypeScript as its scripting language. Built on top of uiohook-napi and nut.js. Install

Sep 21, 2022

Agetos is a web-platform messaging service founded in 2022. It has no purpose. Just like the other applications.

Agetos is a web-platform messaging service founded in 2022. It has no purpose. Just like the other applications.

Start with a simple idea 🤳 Turn it into an awesome app 🔥 About Agetos is a web-platform messaging service founded in 2022. It has no purpose. Just l

Aug 4, 2022

:fireworks:Interactive Online Platform that Visualizes Algorithms from Code

:fireworks:Interactive Online Platform that Visualizes Algorithms from Code

Algorithm Visualizer Algorithm Visualizer is an interactive online platform that visualizes algorithms from code. Learning an algorithm gets much easi

Jan 4, 2023

📗 How to write cross-platform Node.js code

📗 How to write cross-platform Node.js code

How to write cross-platform Node.js code. Why you should care: according to the 2018 Node.js user survey, 24% of Node.js developers use Windows locall

Jan 3, 2023

a tunisian platform made to share knowledge. :dizzy:

a tunisian platform made to share knowledge. :dizzy:

⭐ tha9fni.tn a tunisian platform made to share knowledge. 🚀 What's tha9fni will be like? We're still tweaking the wireframes but this is How its goin

Nov 17, 2021

Bringing an all Open-Source Platform to study Data Structures and Algorithms ⚡

NeoAlgo-Docs Bringing an all Open-Source Platform to study Data Structures and Algorithms ⚡ 🔧 Installation You will need to have NodeJS and Yarn inst

Jun 2, 2022
Comments
  • chores: made changes in contributing.md

    chores: made changes in contributing.md

    There are more changes to be made in contributing.md file. It's actually hard to configure env variables and this much information is not enough.

    Need to mention

    1. JWT_ALGO ?? What are the allowed values ?
    2. JWT_EXPIRATION , Are we allowed to use just seconds or strings , like 1s , 2m ?
    hacktoberfest-accepted 
    opened by dibashthapa 5
  • Postgres password exposed in docker-compose file.

    Postgres password exposed in docker-compose file.

    Database connection credentials are exposed in the docker-compose file. Please use environment variables.

    https://docs.docker.com/compose/environment-variables/

    opened by sugamadhiakri 1
Owner
Neeraj Lamsal
Computer is a part of my life
Neeraj Lamsal
Dweon, a community platform for gamers. This is front-end only. Inspired by Discord, Spotify, Twitch. (Not finished yet)

What's Dweon? Dweon is a community platform that has Music+, Stream+, Chat+ for gamers. Dweon is not a real project. It has nothing but user interface

Eren Oğuz 8 Sep 4, 2022
🃏 A jest reporter for chats like: Twitch, Discord, etc.

?? @santima10/jest-chat-reporter ⚠️ ⚠️ This package is still under development ⚠️ ⚠️ A jest reporter for chats like: Twitch, Discord, etc. Configurati

Santi 3 Mar 30, 2022
A work-in-progress HTML sanitizer that strives for: performance like window.Sanitizer, readiness like DOMPurify, and ability to run in a WebWorker like neither of those.

Amuchina A work-in-progress HTML sanitizer that strives for: performance like window.Sanitizer, readiness like DOMPurify, and ability to run in a WebW

Fabio Spampinato 9 Sep 17, 2022
This repo is a collection of code samples and links to previous twitch live stream sessions. If you have any ideas or suggestions for future episodes, feel free to open an issue.

Talk DEV to me Talk DEV to me is a monthly show on twitch.tv/aws hosted by Tiago Barbosa and Alex Melnyk, where we invite customers, partners, or Amaz

AWS Samples 122 Jan 6, 2023
A bot built for Twitch.tv by EspressoStudios

Readme.md Documentation Version: 1.2.0 Twith bot version: 1.2.0 Current prefix: ! Prefix can be changed in the config.json file, in the 'prefix' form.

null 1 Jan 18, 2022
💬 A Twitch (BTTV and FFZ) emotes and badges parser - built with tmi.js in mind

?? A Twitch (BTTV and FFZ) emotes and badges parser - built with tmi.js in mind

Lucas Fernandes 8 Sep 2, 2022
You view the Twitch channel chat and you can access the details of the users who wrote during the viewing period.

Twitch Chat Web Page You view the Twitch channel chat and you can access the details of the users who wrote during the viewing period. Getting Started

Mert 6 Dec 13, 2022
Do you wanna improve your Twitch chat interactivity? Hold my beer.

OpenTwitch ???? O que é a OpenTwitch? A OpenTwitch é uma aplicação NodeJS desenvolvida ao vivo na twitch com o objetivo principal de fazer uma solução

Jhonatan Junio 40 Dec 28, 2022
This is a Next.js app that powers my Twitch overlays. Good luck and godspeed!

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Adam Elmore 17 Sep 27, 2022
Swaps active audio input device in OBS upon twitch chat channel point redemption.

OBS-Mic-Swapper Shortcuts Set up Program Description Example of Functionality FAQ Contact Info Set up Create an account on Twitch for your bot Make su

null 26 Nov 8, 2022