Live video stream #17

joshmcarthur opened this Issue May 1, 2012 · 1 comment


None yet

1 participant


I think it would be kickass to have a live stream available to logged-in users. Here's a story for this:

As a logged-in user
I'd like to see a live stream of games
So that I can watch games remotely or show others


As a webcam host
I want to publish a video stream
So that the web app can consume it

Node.js is probably the best thing to handle the streaming, as it's evented structure makes it perfect for this sort of thing. Here are some of the requirements I see:

  • The Node app should run in it's own Heroku application and be separate from the main Latter application (I don't want to force people into installing Node everywhere)
  • The Node app should require a token be provided before issuing the requester with a stream of data back
  • The Node app should be able to handle multiple clients connected at once without needing to stream through the Sinatra app
  • The app should be able to handle a standard stream from VLC streaming the iSight webcam
  • The app should restrict the incoming stream based on IP address
  • The app should be able to handle this stream not being present

On the interface side of things, I think this would be a link in the navbar on Latter, probably for desktop users only. Clicking this link would open a modal dialog that would dynamically add a video tag, set the source to the Node.js endpoint and begin playing. Closing the modal should destroy the DOM node and clean up after itself as much as possible. The Javascript should also be able to handle invalid tokens, or missing video gracefully.

Lastly, I think that the implementation for this should either be:

  1. In 3Months' fork
  2. As a configurable feature

This is because any other users are unlikely to have the same facility we have to stream video from a convenient and compatible device, and the lack of this requirement would cause an entire part of the site to not work.


Closed by 6db4fb2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment