Download Latest Version mcast.tar.gz (6.9 MB)
Email in envelope

Get an email when there's a new version of ptmcast

Home
Name Modified Size InfoDownloads / Week
mcast.tar.gz 2022-04-05 6.9 MB
README 2022-04-05 4.2 kB
Totals: 2 Items   6.9 MB 0
README: information about the mcast utility
---------
PTHOEM LINUX UTILS (c) 2007-2019 Peter Thoemmes
Weinbergstrasse 3a, D-54441 Ockfen/Germany

mcast is made to playout/read a stream to/from an IP
multicast infrastructure using RTP/UDP packets.

To play out a stream via adapter <ip> to the multicast addr <grp>...

  ./mcast -l <ip> -g <grp> -playout -kbr <r> -p <p> -f <f> [OPTS] [TX-OPTS]

       or

  ... | ./mcast -l <ip> -g <grp> -playout -kbr <r> -p <p> [OPTS] [TX-OPTS]

To read/monitor a stream from multicast <grp> and source <src>...

  ./mcast -l <ip> -g <grp> -s <src> [-getts|-checkts|-debugts] [OPTS] [RX-OPTS]

This is the full set of options...

  OPTS...

     -?                    help
     -v,-vv,-vvv           verbosity level
     -exec <command>       execute <command> immediately
     -l <ip-addr>          IP address of local adapter
     -g <grp>              IP multicast GROUP (= multicast address)

  TX-OPTS...

     -playout              play out a file or stdin (requires -kbr)
     -playoutts            play out a TS from file or stdin (requires -kbr)
     -p <port>             UDP port to send to
     -rtp <level>          level = 0: do not insert an RTP header (default)
                           level = 1: do insert an RTP header
     -rtp_pt <pt>          RTP payload type [0...127] (default: 1)
     -kbr <kbit-rate>      Tx bitrate (kbit/s) for '-playout'  '-playoutts'
                           0 ---> sent data with maximum bitrate possible
     -f <file>             input file for '-playout' and '-playoutts'
     -fr <file>            like -f, but with constant repeat
     -frsc <file>          like -fr, but with seamless CCNT (consecutive
                           duplicate packets cannot be handled)
     -offs <offset>        offset for -f, -fr and -frsc in percent (0-99)

  RX-OPTS...

     -s <src>              IP multicast SOURCE (= source address)
     -p <port>             UDP port to listen to (default: 0 = any port)
     -mc_join_rep <sec>    join command repetition [seconds] (default: 30)
                           REMARK: at the start and regularly after this
                           time interval an IGMPv3 message (when uing IPv4)
                           or an MLDv2 message (when using IPv6) is sent to
                           the IP multicast router to continue receiving
                           the multicasted stream.
     -rtp <level>          level = 0: do not require RTP (default)
                           level = 1: discard non-RTP data
                           level = 2: discard RTP data w/ seq_num errors
                           level = 3: stop on RTP data w/ seq_num errors
     -get                  get data and write it to stdout
     -getts                get TS and write it to stdout
     -checkts              output TS bitrate and CCNT errors
     -debugts              output decode TS (HEX-code|text) (< real-time)
     -ts_pf_in <p0,p1,..>  transport stream PID filter (inlcude mode)
     -ts_pf_ex <p0,p1,..>  transport stream PID filter (exclude mode)
     -ts_prm <p0,p1>       transport stream PID re-mapping: p0 -> p1
                           REMARK: if a PID filtering is active it will
                           be applied to the original PID!

Examples...

    Playing out a TS file as RTP/UDP IP multicast to 239.1.0.7:

     # ./mcast -playoutts -rtp 1 -l 10.11.40.23 -g 239.1.0.7 \
     -kbr 38015 -p 3000 -f ./ts-file

    Checking the IP multicast Rx connection:

     # ./mcast -get -v -l 10.201.1.101 -g 239.1.0.7 -s 10.200.1.7
     # ./mcast -get -vv -l 10.201.1.101 -g 239.1.0.7 -s 10.200.1.7 2>./log
     # ./mcast -get -vvv -l 10.201.1.101 -g 239.1.0.7 -s 10.200.1.7 2>./log

    Getting TS while remapping PID 16 to 26

     # ./mcast -getts -ts_prm 16,26 -l 10.201.1.101 -g 239.1.0.7 -s 10.200.1.7

    Checking TS bitrate and CCNT errors:

     # ./mcast -checkts -rtp 2 -l 10.201.1.101 -g 239.1.0.7 -s 10.200.1.7

    Debugging PID 18 (EIT) of a TS:

     # ./mcast -debugts -ts_pf_in 18 -l 10.201.1.101 -g 239.1.0.7 -s 10.200.1.7

To learn more about the usage...

     $ mcast -?

I wish you a lot of success using my work,
Peter
Source: README, updated 2022-04-05