Multicat is an equivalent of the famous netcat but designed with streaming and especially RTP in mind.
A short introduction
Multicat is an application that enables you to take any stream you want and re-stream it. This application takes one input and give one output. The overall diagram might be the following:
Even if Multicat is really simple, it can be very useful to manipulate streams of any kind.
Multicat manipulate unicast and multicast streams without demuxing or consideration on the transported data.
Transform a multicast stream coming from 22.214.171.124 to a unicast one on 192.168.0.1:
$ multicat @126.96.36.199:5004 192.168.0.1:5005
Grab a unicast stream from 192.168.0.1 and multicast it to 188.8.131.52:
$ multicat 192.168.0.1:4212 @184.108.40.206:2112
Recording a stream
Multicat can be used to record a stream. It only dump the stream on the disk without any processing. However, Multicat create an auxiliary file that contains the timestamp of each packet it receives and dumps. This file can be later used to stream the file at the right speed.
$ multicat @220.127.116.11:5004 /record/stream.ts
Multicat will also create /record/stream.aux file.
That's also possible to stream a file previously saved:
$ multicat -p 68 /record/stream.ts 192.168.0.1:4122 # or for multicast $ multicat -p 68 /record/stream.ts @18.104.22.168:1234
A Debian package has been created but it's still waiting in the NEW queue for the moment.