The multicat package contains a set of tools designed to easily and efficiently manipulate multicast streams in general, and MPEG-2 Transport Streams (ISO/IEC 13818-1) in particular.
The multicat suite of applications is very lightweight and designed to operate in tight environments. Memory and CPU usages are kept to a minimum, and they feature only one thread of execution. It is designed to run on Linux, FreeBSD and Mac OS X.
multicat
programmulticat
itself is a 1 input/1 output application. Inputs and
outputs can be network streams (unicast and multicast), files, directories, character
devices or FIFOs. It is thought to be a multicast equivalent of the
popular netcat tool. Typical applications are recording
live transport streams, or playing out TS files without modification.
Also it is able to record a continuous stream into a directory, rotate
the files periodically, and make seamless extracts from it.
Multicat tries to rebuild the internal clock of the input stream; but it wants to remain agnostic of what is transported, so in case of files the said clock is stored to an auxiliary file (example.aux accompanies example.ts) while recording. Other inputs are considered "live", and the input clock is simply derived from the reception time of the packets.
ingests
programingests
is a companion application designed to manipulate TS files. It
reads the PCR values of the file, and builds the auxiliary file that is
necessary for multicat.
The combination of ingests
and multicat
makes
a simple and efficient TS file streamer.
aggregartp
and reordertp
programsaggregartp
splits a single RTP stream (for instance a high-bitrate signal) to several contribution links with load balancing.
reordertp
takes one or multiple inputs (from aggregartp
or another source known to reorder and/or add jitter to packets) and smoothes them out to output the original stream in correct order.
The latest official version of Multicat
is numbered 2.3, and is available here.
biTStream needs to be installed at build-time.
The code can be checked out using Git with git clone
https://code.videolan.org/videolan/multicat.git
and you can browse the source online.
User support and development is handled in the multicat-devel mailing-list.
Contributions can be sent as pull requests in our github repository.