Commit a03b0c34 authored by Christophe Massiot's avatar Christophe Massiot

* ALL: Move stuff from INSTALL to README.

parent eab8d6bb
......@@ -4,100 +4,5 @@ Installing Multicat
===================
No autotools yet... You'd have to tweak the Makefile by hand. Compile the
program with `make`.
The socket description format
=============================
For conveniency all tools use the same way of describing a socket in a
program argument:
<connect address>:<connect port>@<bind address>:<bind port>
All parts are optional; default port (1234) or wildcard address will then
be used.
Some examples:
Reading all streams coming to port 5004:
@:5004
Reading from a multicast stream on port 5004:
@239.255.0.1:5004
The same, with source-specific multicast:
192.168.0.1@239.255.0.1:5004
Writing to a multicast stream on port 5004:
239.255.0.1:5004
The same, but binding to a specific interface:
239.255.0.1:5004@192.168.0.2
Using Multicat
==============
Recording a multicast address to a file:
multicat @239.255.0.1:5004 /tmp/myfile.ts
This will also create file /tmp/myfile.aux. Playing back the file:
multicat -p 68 /tmp/myfile.ts 239.255.0.2:5004
Adding an RTP header to an existing multicast stream:
multicat -p 68 -u @239.255.0.1:5004 239.255.0.2:5004
The PCR PID is here supposed to be 68. If you don't specify it, the timestamps
will not be RFC-compliant (but will work in most cases). You can use the
get_pcr_pid tool from libdvbpsi to determine it. Otherwise, if you are sure
the stream contains a single program, and only one PID carries a PCR, you can
pass "-p 8192" the disable the PID check. This isn't on by default because
it can produce awful things with multi-program transport streams, and the
world would be a better place if people had to knowingly turn it on.
Using IngesTS
=============
ingests -p 68 /tmp/afile.ts
This will create file /tmp/afile.aux. 68 is supposed to be the PCR PID.
The same note as above applies to ingesTS.
Playing the file:
multicat -p 68 /tmp/afile.ts 239.255.0.2:5004
Using OffseTS
=============
We want to take the first 60 minutes of a TS file. We must scale it in a
27 MHz clock:
60 * 60 (seconds) * 27000000 (MHz) = 97200000000
Find the offset in 1316-blocks:
offsets /tmp/myfile.aux 97200000000
It returns for instance "556896". Then cut the file using dd:
dd if=/tmp/myfile.ts of=/tmp/mynewfile.ts bs=1316 count=556896
Alternatively, if we want to *remove* the first hour:
dd if=/tmp/myfile.ts of=/tmp/mynewfile.ts bs=1316 skip=556896
It can also be done with multicat using the -s and -n options.
Using AggregaRTP and DesaggregaRTP
==================================
Splitting an RTP stream to two streams with different routing policies:
aggregartp @239.255.0.1:5004 239.1.0.1:5004@192.168.0.1 239.2.0.1:5004@172.16.0.1
At the other end, reassembling the two streams into one usable stream:
desaggregartp 192.168.0.1@239.1.0.1:5004 172.16.0.1@239.2.0.1:5004 239.254.0.1:5004
program with `make`. and install with `make install`. Some tools require the
installation of libdvbpsi and libdvbpsi-devel (depending on your distribution).
$Id: README 26 2009-10-20 18:44:22Z massiot $
Welcome to Multicat!
====================
The multicat package contains a set of tools designed to easily and
efficiently manipulate multicast streams in general, and MPEG-2
......@@ -29,7 +30,100 @@ signal over several contribution links.
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. They have no dependancy.
and they feature only one thread of execution.
--
Meuuh 2010-01-07
The socket description format
=============================
For conveniency all tools use the same way of describing a socket in a
program argument:
<connect address>:<connect port>@<bind address>:<bind port>
All parts are optional; default port (1234) or wildcard address will then
be used.
Some examples:
Reading all streams coming to port 5004:
@:5004
Reading from a multicast stream on port 5004:
@239.255.0.1:5004
The same, with source-specific multicast:
192.168.0.1@239.255.0.1:5004
Writing to a multicast stream on port 5004:
239.255.0.1:5004
The same, but binding to a specific interface:
239.255.0.1:5004@192.168.0.2
Using Multicat
==============
Recording a multicast address to a file:
multicat @239.255.0.1:5004 /tmp/myfile.ts
This will also create file /tmp/myfile.aux. Playing back the file:
multicat -p 68 /tmp/myfile.ts 239.255.0.2:5004
Adding an RTP header to an existing multicast stream:
multicat -p 68 -u @239.255.0.1:5004 239.255.0.2:5004
The PCR PID is here supposed to be 68. If you don't specify it, the timestamps
will not be RFC-compliant (but will work in most cases). You can use the
get_pcr_pid tool from libdvbpsi to determine it. Otherwise, if you are sure
the stream contains a single program, and only one PID carries a PCR, you can
pass "-p 8192" the disable the PID check. This isn't on by default because
it can produce awful things with multi-program transport streams, and the
world would be a better place if people had to knowingly turn it on.
Using IngesTS
=============
ingests -p 68 /tmp/afile.ts
This will create file /tmp/afile.aux. 68 is supposed to be the PCR PID.
The same note as above applies to ingesTS.
Playing the file:
multicat -p 68 /tmp/afile.ts 239.255.0.2:5004
Using OffseTS
=============
We want to take the first 60 minutes of a TS file. We must scale it in a
27 MHz clock:
60 * 60 (seconds) * 27000000 (MHz) = 97200000000
Find the offset in 1316-blocks:
offsets /tmp/myfile.aux 97200000000
It returns for instance "556896". Then cut the file using dd:
dd if=/tmp/myfile.ts of=/tmp/mynewfile.ts bs=1316 count=556896
Alternatively, if we want to *remove* the first hour:
dd if=/tmp/myfile.ts of=/tmp/mynewfile.ts bs=1316 skip=556896
It can also be done with multicat using the -s and -n options.
Using AggregaRTP and DesaggregaRTP
==================================
Splitting an RTP stream to two streams with different routing policies:
aggregartp @239.255.0.1:5004 239.1.0.1:5004@192.168.0.1 239.2.0.1:5004@172.16.0.1
At the other end, reassembling the two streams into one usable stream:
desaggregartp 192.168.0.1@239.1.0.1:5004 172.16.0.1@239.2.0.1:5004 239.254.0.1:5004
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment