No description, website, or topics provided.
C
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
librtmp @ 432c061
libx264 @ 1c97f35
screen_streamer.xcodeproj
.gitignore
.gitmodules
Makefile
README.md
flv_bytestream_ext.c
flv_bytestream_ext.h
sc_streamer.c
sc_streamer.h

README.md

ScreenStreamer

Small process for streaming bytestreamed data via an RTMP stream.

Debugging

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 (http://freecode.com/projects/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://example.com:1935/screenshare/roomId -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).

Dependencies

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

License

Both libx264 and librtmp are both licensed under GPL2.