gauravgrover95 / video_streaming

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

video_streaming

This project aims to explore various techniques involved in streaming videos over the internet.

Demo

http://www.youtube.com/watch?v=P5ZLoHmLKnk

YouTube Link

Folder Structure

  • "initial-attempt" => This is a simple node js server which utilizes polling for keeping the video in sync
  • "dash-streaming" => In this, we've used adaptive bitrate (abr) streaming technology mpeg-dash for low bandwidth support
  • "dash-live-streaming" => In here we've used Learn2Adapt-LowLatency algorithm on top of mpeg-dash for low latency sync between abr video streams

Up and running

For running any project in the sub-folder. First download and extract files.zip in the root of the project

$ npm install
$ cd <project-folder> 
$ node server.js

In Browser open port with project-port mentioned in the terminal output while starting the server

http://localhost:<project-port>

For opening in mobile on same network.

  1. Determine ip of your computer system from network preferences or using ipconfig(windows) / ifconfig(unix based OS)
  2. Type following in url bar
http://<ip>:<project-port>
  1. press enter

TODO

  1. Make a dedicated android based app using exo-player utilizing dash stream
  2. Utilize ffmpeg to get the local mpeg-dash streams of live video from static file

About


Languages

Language:JavaScript 50.7%Language:HTML 49.3%