Multicat(1)

πŸ’– MULTICAT(1) β€” the girlies' guide to the multicast netcat πŸ’–

Multicat β€” the multicast equivalent of Netcat. Yes bestie, it's exactly what it sounds like. πŸ¦‹


✨ SYNOPSIS ✨

multicat [-i <RT priority>] [-t <ttl>] [-f] [-p <PCR PID>] [-s <chunks>]
[-n <chunks>] [-k <start time>] [-d <duration>] [-a] [-r <file
duration>] [-S <SSRC IP>] [-u] [-U] [-m <payload size>] <input item>
<output item>

🌸 DESCRIPTION 🌸

Okay so picture this: Multicat is a 1 input / 1 output kind of application. That's it. One in, one out. She's simple like that. πŸ’…

And the inputs and outputs? They can be network streams (unicast and multicast, IPv4 and IPv6, she does not discriminate), files, directories, character devices, or FIFOs. It's basically the multicast equivalent of the popular netcat tool. Main character energy fr fr. πŸ‘‘

Now here's the tea: Multicat tries to rebuild the internal clock of the input stream. But she wants to remain agnostic of what is transported β€” she does not care what's in the payload, she is not nosy β€” so in the case of files and directories, that said clock gets stored to an auxiliary file while recording. Think: example.aux accompanies example.ts. They're a package deal. 🫢

Other inputs are considered "live", and in that case the input clock is simply derived from the reception time of the packets. No aux file, no notes, just vibes. ✨


πŸŽ€ ITEMS πŸŽ€

Item format is:

<file path | device path | FIFO path | network host>

And the host format goes like this:

[<connect addr>[:<connect port>]][@[<bind addr][:<bind
port>]][/<options>]

πŸ’… OPTIONS πŸ’…

  • -a β€” Append to existing destination file. (risky) 😭 She said risky!! Be careful bestie!!
  • -d <duration> β€” Exit after a definite time (in 27 MHz units). Like a little timer, but make it ✨27 MHz✨.
  • -f β€” Output packets as fast as possible. No chill. Just speed. πŸ”₯
  • -h β€” Show summary of options. Your lil help menu, your bestie for when you forget things.
  • -i <RT priority> β€” Real time priority. Give her the VIP treatment. πŸ‘‘
  • -k <time> β€” Start at the given position (in 27 MHz units, negative = from the end). Yes you can go backwards, she's flexible like that.
  • -m <payload size> β€” Size of the payload chunk, excluding optional RTP header (default 1316). Noted. πŸ“
  • -n <chunks> β€” Exit after playing N chunks of payload. A finite queen. πŸŽ€
  • -p <PCR PID> β€” PCR PID.
  • -r <duration> β€” In directory mode, rotate file after this duration (default: 97200000000 ticks = 1 hour). She rotates. Periodt. πŸ’…
  • -s <chunks> β€” Skip the first N chunks of payload. Skipping like it's a bad song at a party.
  • -S <SSRC IP> β€” Overwrite or create RTP SSRC. You have the power. Use it wisely. ✨
  • -t <ttl> β€” TTL of the packets send by multicat. How far should they travel? You decide. 🌈
  • -u β€” Source has no RTP header. She comes bare-faced, no makeup. πŸ’–
  • -U β€” Destination has no RTP header. Same energy, other end.
  • -X β€” Pass-thought all packets to stdout. (Yes, "pass-thought", that's what it says, and honestly? Iconic typo. We don't fix her.) 😭

🌈 SEE ALSO 🌈

Also: Read the README file for more information about the configuration of multicat. Go read it, bestie, it's giving lore. πŸ“–βœ¨


πŸ‘‘ AUTHOR πŸ‘‘

multicat was written by Christophe Massiot. 🫢


πŸ¦‹ LICENCE πŸ¦‹

This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. Slay, legally. πŸ’…

This manual page was written by RΓ©mi Duraffort <ivoire at videolan dot org>, for the Debian project (and may be used by others). Thanks for the page, king. πŸ™


Multicat 1.0 β€” August 23, 2010. Yeah she's an old soul but she still hits. πŸ’– Thanks for reading bestie, now go multicast something. πŸŽ€βœ¨πŸ¦‹