README
November 22, 2009 ยท View on GitHub
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.