Hi,

    I've come up with a screen streamer for FG. The idea is to stream
the screen directly to any video encoder or player, to make FG
video-making easier. At the moment it streams via (a very basic) http.


    You run FG like:

    $ fgfs --screenstreamer=localhost,20000 


    Then you can do things like (using ffmpeg and ffplay as examples):
    
    - watch FG screen directly:
      ffplay -f rawvideo -pix_fmt rgb24 -s 800x600 http://localhost:20000/
      ffplay -f mjpeg "http://localhost:20000/?format=mpjpeg";

    - encode FG screen into video on the fly:
      ffmpeg -r 20 -f rawvideo -pix_fmt rgb24 -s 800x600 -i 
"http://localhost:20000/?fps=20"; -vcodec mpeg4 -an output.avi


    It also has very basic query string support, so you can tune things
with a different URL like:

    http://localhost:20000/?fps=20&scale=2

    which asks for stream fps 20 and scaled the frame down by a half.


    At the moment it can stream out raw rgb data or multipart jpeg. Raw
rgb data is there mainly for local video encoding and it uses less cpu.
While the multipart jpeg can be played directly in a video player or
inside a webpage directly (which works with firefox and the likes).
    

    For more details please read the descriptions on top of the
src/Network/screenstreamer.cxx file.


    The patch is at http://pigeond.net/~pigeon/fg.ss.patch

    Apply in FG source dir with patch -p1. It works with both plib and
osg FG. Tested only on Linux for now.


    Comments and feedbacks are much welcomed.

    I'm particularly interested in how much the streaming degrades FG's
performance. The first thing to watch out for is FG's window size.
800x600 seems to be a good choice to start with. And obviously the
higher the streaming fps the slower it gets FG to. Also mpjpeg does jpeg
compressions which will slow down FG's fps as well.


    Thanks.


Pigeon.


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to