Coder Social home page Coder Social logo

erlyvideo's Introduction

erlyvideo is a flash streaming server, written in erlang.

currently it can:

  * stream, seek, pause and resume mp4 and flv files 
  * fast starting of flv playback with building index in background
  * record flv from camera
  * have possibility to auth users
  * broadcast flv between people
  * provide push channel to flash, just like juggernaut, just like AMQP (look doc/push.edoc)

currently in development:
  * good recording from flash camera. Currently there are problems.
  * improve handling of background vlc/ffmpeg for them to recode uploaded videos
  * reading of MPEG TS. It may be required for streaming and recording from video cameras

  
future plans:
  * try to change quality on fly
  * RTSP/RTP to read from QuickTime Broadcaster


What you can do right now?

  * use it for streaming flv and mp4 files
  * use it as a replacement for long-poll push channels
  * use it as a recorder of video camera
  * use it with longtailvideo player


How can You help?
  
  * Launch it and test on your content;
  * make fork on github, add your improvements and push them to me.

How to launch:

  * git clone git://github.com/maxlapshin/erlyvideo.git
  * cd erlyvideo
  * cp src/erlmedia.app ebin/erlmedia.app
  * $EDITOR ebin/erlmedia.app
  * change /tmp to /Users/username/Movies
  * make
  * make run
  * open http://localhost:8082
  * click on any flv/mp4 file and then press Play
  * change any erlang code
  * type ems:rebuild() in console
  * profit!

How to hack and add features:

  * read doc/hacking.edoc
  * add plugin

Plugin structure:

  * Look at src/apps_streaming.erl
  * You should define and export functions, that will be available to flash. Format is  FunctionName(AMF, State). Reply is State.
  * To handle events to client runloop, add 'WAIT_FOR_DATA'(Message, State) function, which should respond in the same way as OTP handler.

erlyvideo's People

Contributors

chooh avatar maxlapshin avatar windock avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.