Links
Initial release in SVN
Download
Donate
Project Detail and Discuss
Get Support
Overview
fling-mplayer does live streaming and live transcoding of multimedia files over a TCP socket. This is an all in one source solution, you will not need a seperate client and server.
The motivation for this project was:
(a) wanting to view my 3 TBs of high bandwidth multimedia at remote connected locations, but not wanting to sneaker net the multimedia.
(b) the myriad of howtos and source packages that result from a "streaming server" google search that don't seem to work.
The selected protocol is TCP due to simplicity in firewall configuration. Note: If you have a link that suffers from high TCP resends this is probably not the solution for you.
You will need to have enough processor power on the serving machine to do the transcoding and enough bandwidth between the server and client to support the stream.
You will have to compile the source package on both the client and the server side.
I have done testing on Fedora Core 10, Ubuntu 8.10, and Cygwin.
Compliation
Pre-requisites on Ubuntu 8.10
sudo apt-get install libmp3lame-dev libx11-dev libxext-dev libxv-dev libasound2-dev
Pre-requisites on Fedora Core 10
sudo yum install libX11-devel lame-libs lame
Pre-requisites on Cygwin
Install the following with setup.exe
Packages: autconf, make, gcc-core, gcc-g++, freetype2,
Packages: libapr1, libaprutil, libcharset1, libdb, libexpat, libfreetype26,
Packages: libiconv, libjpeg6b libneon26, libogg, libogg-devel, libpng,
Packages: libvorbis, libvorbis-devel
Install http://mirror.facebook.com/videolan/contrib/win32-dx7headers.tgz in /usr/include
Compiling on All Targets
./configure
make
Running
Server
On the server side (where the videos are stored), go to the compliation directory and type:
$ fmserver -server tcps://192.168.1.10:8080 -server-password mypassword
Note: This assumes that your firewall is port forwarding port 8080 to 192.168.1.10
Note: You should use something unique as a replacement for "mypassword" otherwise you open up the server filesystem to the internet in general (a bad thing).
Client
On the client side (where you want to play the video), go to the compliation directory and type:
$ fmserver-stream.sh -s tcpc://home.myserver.com:8080 -p mypassword -o 120 -v 200 -f /media/myvideo.mp4
Note: There are more options, run ./stream.sh for all of them
Note: This assumes home.myserver.com:8080 points to the mencoder instance you started above
Note: You should use something unique as a replacement for my password otherwise you open up the server filesystem to the internet in general (a bad thing).
Note: -o 120 means to start the multimedia 120 seconds in
Note: -v 200 means to target 200 kb/s, this should be WELL under your broadband upload bandwidth
Note: the -f references a file on the SERVER side NOT on the CLIENT side (think FTP server)
Note: You should use something unique as a replacement for "mypassword" otherwise you open up the server filesystem to the internet in general (a bad thing).