Libmtrwe is a library for connecting data producers and consumers with optional encoders, transparently managing synchronization issues in a multi-threaded environment. This is achieved by using a main circular buffer and various buffering solutions. Producers, consumers, and encoders can be specified by the user via a simple interface, each being run in a POSIX thread spawned with pthread_create. The library hides all synchronization issues. Examples and documentation are available.