summaryrefslogtreecommitdiffstats
path: root/INSTALL
diff options
context:
space:
mode:
authormassiot <massiot@271ca591-50e6-457e-a4d7-9fbfa1de8f49>2010-01-08 00:30:42 +0100
committermassiot <massiot@271ca591-50e6-457e-a4d7-9fbfa1de8f49>2010-01-08 00:30:42 +0100
commitbd1985eb89916da6815e4f3f6afa5f4f7a2070ff (patch)
treeec6c041ab71d0fb1eeb331f871ac9c1319807328 /INSTALL
downloadmulticat-bd1985eb89916da6815e4f3f6afa5f4f7a2070ff.tar
multicat-bd1985eb89916da6815e4f3f6afa5f4f7a2070ff.zip
* Initial import.
git-svn-id: svn://svn.videolan.org/multicat/trunk@1 271ca591-50e6-457e-a4d7-9fbfa1de8f49
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL103
1 files changed, 103 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..16311dc
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,103 @@
+$Id: INSTALL 93 2010-01-03 13:07:23Z gatty $
+
+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