<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Recording</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
var matches = document.querySelectorAll('code.syntax')
for (var i = 0; i < matches.length; i++) {
hljs.highlightBlock(matches[i]);
}
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><div class="trails" role="navigation">
<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a> » <a class="trail" href="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</a> » </div>
<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#functions" title="Functions">Functions</a> » </div>
<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#functions" title="Functions">Functions</a> » <a class="trail" href="configuration.html" title="Configuration / Settings dialog">Configuration / Settings dialog</a> › <a class="trail" href="configuration.html#recording" title="Recording Apps">Recording Apps</a> » </div>
</div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Recording</span></h1></div>
<div class="region">
<div class="contents pagewide">
<p class="p">Most stations that stream MP3 or OGG music can be recorded. This is
accomplished through the command-line tool <span class="app">streamripper</span>. If you
select a station and press <span class="gui"><span class="key"><kbd>●</kbd></span> record</span>, a console
window should appear, where streamripper shows its progress.</p>
<p class="p">You can <span class="link"><a href="configuration.html" title="Configuration / Settings dialog">configure the recording tool</a></span>
according to audio types again. Usually you want to use the <span class="link"><a href="config_apps.html#placeholders" title="URL placeholders"><span class="cmd">%srv</span> placeholder</a></span>.</p>
</div>
<section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Streamripper</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">There's already a default entry for recording radio stations:</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<thead><tr>
<td><p class="p">Format</p></td>
<td style="border-left-style: solid;"><p class="p">Application</p></td>
</tr></thead>
<tr>
<td><p class="p"><span class="var">audio/*</span></p></td>
<td style="border-left-style: solid;"><p class="p"><span class="cmd">xterm -e streamripper %srv</span></p></td>
</tr>
</table></div></div></div>
<p class="p">Streamripper has a few more options of its own:</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps">
<li class="steps">
<p class="p">To define an exact download directory:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list"><li class="list"><p class="p"><span class="cmd">xterm -e "streamripper -d ~/Music/ %srv"</span></p></li></ul></div></div></div>
</li>
<li class="steps">
<p class="p">Use a specific filename pattern:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list"><li class="list"><p class="p"><span class="cmd">xterm -e "streamripper --xs2 -D '%S-%A-%T-%a.mp3' %srv"</span></p></li></ul></div></div></div>
</li>
<li class="steps">
<p class="p">Just record a continuous stream, for 1 hour, without splitting individual songs from a radio station:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list"><li class="list"><p class="p"><span class="cmd">xterm -e "streamripper -A -s 3600 -d ~/Music/ %srv"</span></p></li></ul></div></div></div>
</li>
<li class="steps">
<p class="p">Pretend to be an audio player (in case recording is blocked):</p>
<div class="list"><div class="inner"><div class="region"><ul class="list"><li class="list"><p class="p"><span class="cmd">streamripper -u 'WinampMPEG/5.0' %srv</span></p></li></ul></div></div></div>
</li>
</ol></div></div></div>
<p class="p">Whenever you leave out the <span class="cmd">xterm</span> prefix, it runs silently in the background.
Common xterm alternatives are <span class="cmd">x-terminal-emulator</span>, or <span class="cmd">rxvt</span>,
<span class="cmd">gnome-terminal</span>, and <span class="cmd">xfce4-terminal</span> etc.</p>
<p class="p">See the streamripper(1) man page or its
<span class="link"><a href="http://streamripper.sourceforge.net/faq.php" title="http://streamripper.sourceforge.net/faq.php">FAQ</a></span> for more tips.</p>
</div></div>
</div></section><section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">fIcy/fPls</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">As alternative to streamripper, check out <span class="link"><a href="http://freshcode.club/projects/ficy" title="http://freshcode.club/projects/ficy">fIcy/fPls</a></span>
for recording ICEcast/SHOUTcast streaming servers.</p>
<p class="p">It can be configured just as easily with:</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps"><li class="steps"><p class="p"><span class="cmd">xterm -e "fPls %pls"</span></p></li></ol></div></div></div>
</div></div>
</div></section><section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">st2_record_helper</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p"><span class="link"><a href="https://github.com/axelhahn/st2_record_helper" title="https://github.com/axelhahn/st2_record_helper">record_helper.sh</a></span>
is a bash script that corrects more lookup and HTTP errors (mainly shoutcast
sneak redirects), and provides more useful error messages than streamripper alone.</p>
<p class="p">Place it in the PATH to employ as drop-in wrapper:</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps"><li class="steps"><p class="p"><span class="cmd">xterm -e "record_helper.sh %srv"</span></p></li></ol></div></div></div>
</div></div>
</div></section><section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Graphical stream recording tools</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">You can also try a streamripper GUI or graphical
reimplementation:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"><span class="link"><a href="http://sourceforge.net/projects/stripper/" title="http://sourceforge.net/projects/stripper/">StreamRipStar</a></span> (Java), works best per drag and drop; set the DND format to PLS or M3U however.</p></li>
<li class="list"><p class="p"><span class="link"><a href="http://launchpad.net/streamtastic" title="http://launchpad.net/streamtastic">Streamtastic</a></span> (Java), only imports a text entry per drag and drop.</p></li>
<li class="list"><p class="p"><span class="link"><a href="http://kstreamripper.sourceforge.net/" title="http://kstreamripper.sourceforge.net/">KStreamRipper</a></span>, though no current version in distros.</p></li>
<li class="list"><p class="p">VLC has built-in recording capabilities.</p></li>
</ul></div></div></div>
<p class="p">Which all simplify defining a custom download directory, or how radio
streams are split (between advertisement breaks), and the naming scheme
for resulting *.mp3 filenames of course.</p>
</div></div>
</div></section><section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Youtube-DL</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">The recording settings already have a specific entry for "video/youtube" URLs.</p>
<p class="p">To configure a custom download directory, use:</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps"><li class="steps"><p class="p"><span class="cmd">xterm -e "cd /media/music ; youtube-dl %srv"</span></p></li></ol></div></div></div>
<p class="p">The <span class="cmd">cd</span> trick also works with streamripper, or other tools.</p>
</div></div>
</div></section><section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Wget for MOD files</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">To download audio files from The MOD Archive directly, you can also
define a custom handler.</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps">
<li class="steps"><p class="p">Scroll/click on the ⎘ empty row in the recording application list.</p></li>
<li class="steps">
<p class="p">There create a new recording MIME type:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list"><li class="list"><p class="p"><span class="var">audio/mod+zip</span></p></li></ul></div></div></div>
</li>
<li class="steps">
<p class="p">Specifiy a command like:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"><span class="cmd">xterm -e wget %srv</span></p></li>
<li class="list"><p class="p"><span class="cmd">cd ~/Desktop ; wget %srv</span></p></li>
<li class="list"><p class="p"><span class="cmd">curl %srv</span></p></li>
</ul></div></div></div>
</li>
</ol></div></div></div>
<p class="p">
All MOD file formats (IT, XM, S3M, etc.) are mapped to this generic type specifier.
</p>
</div></div>
</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><div class="links guidelinks"><div class="inner">
<div class="title"><h2><span class="title">More Information</span></h2></div>
<div class="region"><ul>
<li class="links "><a href="streams.html#actions" title="Actions">Actions</a></li>
<li class="links "><a href="index.html#functions" title="Functions">Functions</a></li>
<li class="links "><a href="configuration.html#recording" title="Recording Apps">Recording Apps</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>
</div></main></body>
</html>