Multicast / Transport Stream

Enable Javascript to display Table of Contents.

Creating Transport Stream for multicat

The TS files must be prepared to be sent by multicat:
$ cp /mnt/drives/x/_Video/Test/top_gear_HD_5Mbps.ts ~/tmp/
$ ingests -p 481 ~/tmp/top_gear_HD_5Mbps.ts
debug: end of file reached
$
Source: multicat README

Sending Unicast Transport Stream

The multicat binary can send unicast streams:
$ multicat ~/tmp/top_gear_HD_5Mbps.ts 10.0.1.101:22061
debug: socket definition: connect:10.0.1.101:22061
debug: end of file reached
$

Sending Multicast Transport Stream

When sending multicast streams, first the network interface must be defined with an ip route:
$ sudo ip route add 224.0.0.0/4 dev eth1
When this is done, we can send the transport stream with the multicat tool:
$ multicat ~/tmp/top_gear_HD_5Mbps.ts 239.36.1.17:22061
debug: socket definition: connect:239.36.1.17:22061
debug: end of file reached
$

Sending Multicast via iperf

In a first step we have to define the outgoing network interface:
$ sudo ip route add 224.0.0.0/4 dev eth1
Check that the sender's network interface contains the same subnet as the receiver in first place. The multicast packet will have as source address the first IP configured - and iperf will reject packets which originate not from the own subnet:
$ ip a show eth1
Then we setup the receiver:
$ iperf -u -c 239.253.116.116 -l 1420 -T 32 -t 30 -b 4M
And finally we can start the transmission on the client:
$ iperf -u -s -B 239.253.116.116 -i1