Name | Modified | Size | Downloads / 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