ICECREAM(1)

πŸ’– ICECREAM(1) β€” like, the icecream manual, but make it cute πŸ’–

okay bestie, so this is the icecream man page, and no it is NOT about the frozen dessert (though honestly? iconic). it's a whole stream-downloading situation and i'm gonna walk you through every single flag because i love you and i want you to thrive ✨


🌸 NAME 🌸

icecream β€” download icecast and shoutcast streams, redirecting all fetched content to stdout and/or to disk at the same time

like. both. at once. the multitasking is giving main character energy fr fr πŸ’…


✨ SYNOPSIS ✨

icecream [OPTIONS] URL [URL..]

yes you can pass more than one URL. she's flexible like that 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so icecream is a lightweight, non-interactive, stream download utility. she does not need you hovering, she does not need a UI, she just goes. she connects to icecast and shoutcast servers or direct stream URLs, and redirects all that fetched content to stdout and/or to media files on your disk. periodt.

you can listen to the stream by piping the output to a stdin-capable media player. or save the stream to a named file. or split it into different tracks. and β€” the way that this is possible β€” you can redirect the stream and save it to disk at the same time. obsessed with the duality honestly 😭

she's able to parse pls and m3u playlists, and to download mp3 and ogg direct stream URLs. and if the stream is anonymous? it gets saved as stream-time.mp3, where time is the actual timestamp. no name? no problem, she'll name it for you πŸŽ€


πŸ’… OPTIONS πŸ’…

  • -h, --help β€” print a help message describing all options. your girl is helpful, she will explain herself ✨
  • -q, --quiet β€” turn off output. silence. peace. napping vibes 😌
  • -v, --verbose β€” be verbose. she will NOT stop talking and honestly? same πŸ’€
  • -t, --tracks β€” split stream into tracks (if possible). note the "if possible" bestie, she's doing her best πŸ™ˆ
  • --name=NAME β€” save the stream to the file specified by NAME. format codes starting with "%" will be replaced. see the date command for valid format codes. it's giving customized, it's giving personalization 🌸
  • --stop=N[units] β€” stop downloading the stream after N kb/mb/min/songs. yes the units are a little chaotic but we love her anyway 🫢
  • --user-agent=AGENT β€” set the user-agent header to AGENT. go undercover, live your spy era πŸ•΅οΈ
  • --stdout β€” output stream to stdout (implies -q). heads up: this one quietly turns on quiet mode for you, no cap πŸ’…
  • --sync β€” turn syncing on, required for some mpeg players that read from stdin. if your player is being weird about stdin, this is your girl πŸ™
  • --debug β€” turn on debugging outputs. for when you need to see the receipts πŸ‘‘

πŸ”₯ EXAMPLES πŸ”₯

streaming to mpg123

icecream --stdout http://radio.com/playlist.pls | mpg123 -

split stream into different tracks

icecream -t http://metal.org/radio.pls

split stream into tracks and play with vlc at the same time

icecream -t --stdout http://streaming.com/playlist.pls | vlc file:/dev/stdin

the multitasking?? she ate and left no crumbs 😭

prepare a 74 minute CD

icecream -t --stop 74min http://trace.net/playlist.m3u

74 minutes. a very specific number. respect πŸŽ€

use a filename with today's date as output

icecream -q --name 'radio_%Y_%m_%d' --stop 60min http://radio.com/playlist.pls

see how the %Y_%m_%d slots in? that's the date command format code situation from --name above. cute, dated, organized πŸ’–


😭 BUGS 😭

you are welcome to send bug reports about icecream to our mailing list. feel free to visit http://icecream.sourceforge.net

like please do, she wants to hear from you 🫢


πŸ‘‘ AUTHOR πŸ‘‘

Written by Gil Megidish <gil at megidish.net>


okay that's the whole page, every flag, every example, every vibe. nothing skipped, nothing invented, all facts intact. you're welcome bestie πŸ’…

icecream version 1.3 β€” dated 2008-04-28 β€” manual page ICECREAM(1) 🌈 that's the tea, mwah πŸ’–