POC-FEC(1)

πŸ‘‘ POC-FEC(1) β€” the user command that streams FEC MP3s, bestie πŸ’–

okay so this is the manual page for poc-fec, living in the User Command section of the manual, and it's giving "small tool, huge brain" energy fr fr. Let's get into it 🌸


✨ NAME ✨

poc-fec β€” send FEC MP3 streams 🎧✨


πŸ¦‹ SYNOPSIS πŸ¦‹

poc-fec [ -s address ] [ -p port ] [ -t ttl ] [ -q ] [ -k fec_k ] [ -n
fec_n ] files...

like. that's it. that's the whole vibe. a bunch of optional flags and then some files... and you're off πŸ’…


πŸ’œ DESCRIPTION πŸ’œ

so poc-fec is a streaming server that sends mp3 data using a custom FEC protocol. no cap.

here's the tea on how it works πŸ«–βœ¨ The streamed MP3 frames get first decomposed into autonomous data units (ADUs, iykyk). Then those ADUs get grouped into ADU groups, and those groups get encoded redundantly using a FEC method by Luigi Rizzo (iconic tbh). A group of k ADUs is encoded as n data packets. And the slay part? Any k of these n data packets is sufficient to recover the original k ADUs. literally any k. math said you're covered πŸ”₯

It sends the files in the order given on the command-line, so order matters bestie, don't come for me πŸ™ˆ

Use the filename - to stream from standard input πŸ’«

Normally, the FEC protocol is used to stream to multicast groups 🌈


πŸ’… OPTIONS πŸ’…

  • -s address β€” Specify the address to send to (default 224.0.1.23). yes that default is a multicast address, she's ready to party πŸ‘‘
  • -p port β€” Specify the port to send to (default 1500). πŸŽ€
  • -t ttl β€” Specify the TTL parameter to be set on outgoing parameters (default 1). πŸ¦‹
  • -q β€” Don't output any information on standard error. shhh. silent mode. 🀫
  • -k fec_k β€” Specify the number of ADUs that will be encoded as an ADU group (default 20). ⭐
  • -n fec_n β€” Specify the number of packets that the ADU groups will be encoded to (default 25).
⚠️ okay important: this number must be greater than the fec_k parameter. not equal, not less. greater. n > k, periodt πŸ’€

🌸 EXAMPLES 🌸

poc-fec -s 224.0.1.24 -p 8989 -t 2 -k 16 -n 32 bla.mp3

Send the file bla.mp3 using the RTP RFC fec protocol to the address 224.0.1.24 on port 8989, and set the TTL to 2. MP3 frames of bla.mp3 are converted to ADUs and grouped in ADU groups of 16 ADUs. These 16 ADUs are encoded into 32 packets and streamed. A client will have to receive at least 16 packets to recover the original ADUs. ✨ she ate that fr fr ✨


πŸŽ€ AUTHORS πŸŽ€

  • Manuel Odendahl <manuel@bl0rg.net> πŸ’–
  • Florian Wesch <dividuum@bl0rg.net> πŸ’–

and that's the whole page bestie!! this lil masterpiece is from February 2005, and the version/source info says POC-FEC(1) up in the header β€” so yeah, go stream some MP3s with your cute custom FEC protocol, you absolute main character 🫢🌈✨