No description or website provided.
CoffeeScript Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
public
src
test
views
.gitignore
Cakefile
LICENSE.txt
LICENSES-EXTERNAL.md
README.md
package.json

README.md

Real-Time Streaming Media Server

This server takes standard video packets from any mp4 source - e.g. camera, screencap or input video - that are simply POSTed to a single REST URL like http://www.example.com/streams/yourstream/upload/, and makes it available via livestreaming right in your browswer at a URL like http://www.example.com/streams/yourstream/.

What the server does is segment the incoming video, converts it to HTTP Live Streaming format, buffers it, and sends it to a simple frontend. The advantage is this makes it easy for apps to take whatever video they have and make it live streamable on a server that anyone with node can run.

Technology

  • Node 0.4.9
  • HTTP Live Streaming (HLS)
  • iOS demo app
  • segment.c
  • ffMPEG

Running it

Get node and npm installed, then

git clone https://github.com/andrewschaaf/media-server
cd media-server
npm install -g coffeescript
npm install
cake dev
node lib/server.js

Using it

Adding video

Do an HTTP POST request to http://localhost:3000/streams//upload/ with a piece of a MPEG4-encoded video. (For example, one thats been run through ffMPEG)

Viewing the video

Point your Safari or Mobile Safari browser (sorry no Chrome) to http://localhost:3000/streams// and sit back and watch the show. There can be up to a 10 second delay when new content comes in due to the way HLS works.

You also need...

We also have a server that does the segmenting for you, but only runs on ubuntu. You can either run the node server also on ubuntu, or run the segment service on ubuntu on a VM.

The project is node-mpegts-segmenting.

Authors

Andrew Schaaf andrew@andrewschaaf.com Derek Dahmer derekdahmer@gmail.com