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 π
-saddress β Specify the address to send to (default224.0.1.23). yes that default is a multicast address, she's ready to party π-pport β Specify the port to send to (default1500). π-tttl β Specify the TTL parameter to be set on outgoing parameters (default1). π¦-qβ Don't output any information on standard error. shhh. silent mode. π€«-kfec_k β Specify the number of ADUs that will be encoded as an ADU group (default20). β-nfec_n β Specify the number of packets that the ADU groups will be encoded to (default25).
β οΈ okay important: this number must be greater than thefec_kparameter. 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 π«Άπβ¨
π¦ where this page comes from
- debian bookworm: poc-streamer 0.4.2-7 Β· BSD-3-Clause
- debian trixie: poc-streamer 0.4.2-7 Β· BSD-3-Clause
- ubuntu jammy: poc-streamer 0.4.2-5 Β· BSD-3-Clause
- ubuntu noble: poc-streamer 0.4.2-7 Β· BSD-3-Clause
- ubuntu questing: poc-streamer 0.4.2-7
- ubuntu resolute: poc-streamer 0.4.2-8 Β· BSD-3-Clause
- ubuntu stonking: poc-streamer 0.4.2-9 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms