Skip to content
Gapless video playback addon for OpenFrameworks. Thread safe, used for network controlled video playback. Runs with avFoundation on OSX and gStreamer on Linux.
Objective-C Objective-C++ C++ Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Gapless Video Playback for OpenFrameworks. Runs with avFoundation on OSX and gStreamer on Linux.


ofxGaplessVideo relies on the loadAsync function, which only exists in openFrameworks master. Consider it as experimental.


ofxGaplessVideo is used for remote controlled video playback over the network. ofxGaplessVideo provides functions to preload movies flicker free and to trigger a new clip instantly, since it uses internally two video players and preloads the clips.

ofxGaplessVideo is thread safe, which means, the playback control can be run in an own thread. Normally, this will be a network listener thread which is listening for trigger and load signals.

Basic Functions in the Main Loop

/* Setup Function */

/* Update Function */

/* Draw Function (Fullscreen without Options */

Controlling Playback

It's probably the most efficient way to pass the MO Object as a reference to a loader thread which is waiting for signals from a controller server.

Loads a Movie and starts playback immediately:

MO.loadMovie(string movieFile, bool fade_in, bool fade_out);

Preloads a Movie:

MO.appendMovie(string movieFile, bool fade_in, bool fade_out);

Starts a preloaded Movie. The parameter movieFile should be set to the same value as in appendMovie:

MO.triggerMovie(string movieFile);

Network Usage

ofxGaplessVideo was made to create a network controlled video player. A server signals a append command and then a trigger command. It is used in the project.


It's also possible to compile ofxGaplessVideo with GStreamer support on OSX.

You can’t perform that action at this time.