No description, website, or topics provided.
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
librtmp @ 432c061
libx264 @ 1c97f35


Small process for streaming bytestreamed data via an RTMP stream.


Some tips for debugging issues.

Step 1

If you uncomment the param.psz_dump_yuv parameter, the raw video stream will be dumped to file so that you can check the output for corruption or errors.

The resulting file will be playable using YAY ( You may also need to install the sdl libs (brew install sdl) beforehand. After install is complete, run:

yay -s [screen width]x[screen height] /tmp/dump.y4m

Step 2

Once the app opens, use key 'p' to play, and 'r' to rewind and view. See the YAY README for more details.

Because we're using a bytestream go-between, we have the ability to record a sequence of events and then play them back at will if needed. In order to do this, have a tpl-encoded bytestream recording available. Simply uncomment the case 'f' statement and add a 'f:' option to the getopt function. Uncomment the FILE *stream line and make sure that fileno() is getting the file handle for stream instead of stdin. Then simply run the screen_streamer binary from the command line with all the appropriate options. For example:

./screen_streamer -urtmp:// -rroomId -w1440 -h900 -frunnableStream.tpl

This will play back the stream file and actually stream the recorded events to the fms server and/or dump to the dump.y4m file if the dump param is uncommented (see above).


  • libx264 - ./configure --enable-static --disable-cli --enable-debug --enable-pic
  • librtmp


Both libx264 and librtmp are both licensed under GPL2.