radiorec icon indicating copy to clipboard operation
radiorec copied to clipboard

A small python script which records internet radio streams. (No streamripper required)

Requirements

  • Python 3.x with argparse (which is already included in Python >= 3.2)

Installation

  • Copy the config file settings.ini into your local settings directory, depending on which platform you are using this program, e.g.:
    • Linux: $HOME/.config/radiorec/settings.ini or
    • Windows: %LOCALAPPDATA%/radiorec/settings.ini or use the commandline option '-s' to specify the location of the settings.ini file.
  • Adjust the settings to your needs. You can happily add more radio stations to the STATIONS section. !!! Check at least the the target_dir !!!
  • The script file radiorec.py can be placed wherever you want.

Usage

Open a shell and go to the directory where radiorec.py is located. General usage:

  • Windows: py radiorec.py […]
  • Linux: python3 radiorec.py […] OR JUST ./radiorec.py […]

What you want to do first is getting some help about how to use the scipt: ./radiorec.py --help or get some help for the record command: ./radiorec.py record --help

There are two main commands: record and list.

Recording a radio station usually works as follows: ./radiorec.py record [name] is the radio station name, for example: dlf is how long the recording runs in minutes, for example: 60 [name] is not required and is (currently) just appended to the filename. Thus the command line is: ./radiorec.py record dlf 60 mytest

You can get a list of all known radio stations with: ./radiorec.py list You can edit/add the radio stations in the STATIONS section of the settings file.

Scheduling the recording task

Using Linux, you can use "at" for scheduling, for example: at 22:00 friday

/path/to/radiorec.py record dlf 60 mytest [CTRL-D]

The recording then starts on the upcoming friday at 10 pm. Please have a look at the manual page of "at" for more information about how to schedule your recording tasks.

Known problems

The Windows command line (cmd and powershell) still has problems with UTF-8. Using the --verbose option might cause the script to crash with an UnicodeEncodeError. If you want to avoid the crash, you have to do both, change the command line codepage and the font. For example, doing a "chcp 65001" and changing the font to "Lucidia Console" should help.

Acknowledgements

This project got inspiration from the dradio project by prometoys (https://github.com/prometoys/dradio). Thanks for that!

-- If you have any questions or suggestions (or bug reports!), feel free to use the github issue tracker: https://github.com/beedaddy/radiorec/issues