A great way to start your Internet Radio Station is to leverage Public Domain content (>70 years old in general) or by using a cost-effective license for royalties.
Due to the breadth of content available and to ensure your station is compliant with requirements, we recommend the latter.
To do this, take out an Online Mini license at level A, B or C depending on your likely stream counts and so on:
https://www.apraamcos.com.au/music-licences/select-a-licence/online-mini-licence
A straight-forward way to download music to MP3 is to use a utility called yt-dlp - available online.
macOS: Using Homebrew, install yt-dlp and it will also install ffmpeg/ffprobe too.
Windows: You will need to download yt-dlp and ffmpeg/ffprobe separately.
yt-dlp on macOS:
- If you don't have it already, install Homebrew via Terminal with this:
-
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
- Open Terminal and install yt-dlp which will install ffmpeg/ffprobe too:
-
brew install yt-dlp
-
- Now you are ready to start downloading to MP3 files!
yt-dlp on Windows:
- Download yt-dlp for Windows (x64 preferred)
https://github.com/yt-dlp/yt-dlp/releases/latest - Download ffmpeg essentials bundle for Windows (x64)
https://github.com/GyanD/codexffmpeg/releases/latest - From ffmpeg ZIP, copy files from bin/ folder to where yt-dlp.exe is
- This is required in order to convert WebM to MP3 format
- Technically, you only need ffmpeg.exe and ffprobe.exe
- Open Command Prompt (Start Menu > cmd > Single-click)
- Move to the Downloads folder: cd Downloads
- Run a yt-dlp download for a YouTube link
- Have fun! Rinse and repeat the process
Syntax to use yt-dlp for MP3 file output:
We recommend using a batched process to locate, download, and then upload media. This means to cut the job into component tasks, and do each individually before moving onto the next.
- Browse YouTube, and locate videos (of songs) you wish to download to MP3.
- If you use Playlisted Videos, yt-dlp will download all playlist items!
- We recommend this as it is likely to save you a LOT of time.
- Open Notepad/Notes on your machine, copy-paste below:
-
yt-dlp -t mp3 ""
yt-dlp -t mp3 ""
yt-dlp -t mp3 ""
yt-dlp -t mp3 ""
yt-dlp -t mp3 ""
-
- Once you have videos/playlists, you need each of their URLs.
- Take each of those, one-by-one, copy to your clipboard.
- Then, in between the quotes above, paste each single URL.
- Move to Command Prompt / Terminal, copy-paste each line into it.
- For each copy-paste, you then need to press enter to Download.
- This will create a new MP3 file per-song in your Downloads/etc folder. :-)
Technical Users: You may wish to read the README.md for CLI options, etc, for advanced usage.
https://github.com/yt-dlp/yt-dlp/blob/master/README.md
Example output for single/playlist downloads:
Single Video (not in a playlist):
yt-dlp -t mp3 "https://www.youtube.com/watch?v=Vn2yi6PtFtE"
[youtube] Extracting URL: https://www.youtube.com/watch?v=Vn2yi6PtFtE
[youtube] Vn2yi6PtFtE: Downloading webpage
[youtube] Vn2yi6PtFtE: Downloading tv client config
[youtube] Vn2yi6PtFtE: Downloading player c1c87fb0-main
[youtube] Vn2yi6PtFtE: Downloading tv player API JSON
[youtube] Vn2yi6PtFtE: Downloading android sdkless player API JSON
WARNING: [youtube] Vn2yi6PtFtE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details
[info] Vn2yi6PtFtE: Downloading 1 format(s): 251
[download] Sleeping 6.00 seconds as required by the site...
[download] Destination: Shooglenifty – Squat Lobster [OFFICIAL VIDEO] [Vn2yi6PtFtE].webm
[download] 100% of 8.05MiB in 00:00:01 at 4.53MiB/s
[ExtractAudio] Destination: Shooglenifty – Squat Lobster [OFFICIAL VIDEO] [Vn2yi6PtFtE].mp3
Deleting original file Shooglenifty – Squat Lobster [OFFICIAL VIDEO] [Vn2yi6PtFtE].webm (pass -k to keep)
Playlist of Videos (downloads all):
yt-dlp -t mp3 "https://www.youtube.com/watch?v=Jne9t8sHpUc&list=RDEMCn1fwIzR55Rzaa9Qrx16tA"
[youtube:tab] Extracting URL: https://www.youtube.com/watch?v=Jne9t8sHpUc&list=RDEMCn1fwIzR55Rzaa9Qrx16tA
[youtube:tab] Downloading playlist RDEMCn1fwIzR55Rzaa9Qrx16tA - add --no-playlist to download just the video Jne9t8sHpUc
[youtube:tab] RDEMCn1fwIzR55Rzaa9Qrx16tA: Downloading webpage
[download] Downloading playlist: Mix - Alanis Morissette
[youtube:tab] RDEMCn1fwIzR55Rzaa9Qrx16tA page 1: Downloading API JSON
[youtube:tab] RDEMCn1fwIzR55Rzaa9Qrx16tA page 2: Downloading API JSON
[youtube:tab] RDEMCn1fwIzR55Rzaa9Qrx16tA page 3: Downloading API JSON
[youtube:tab] RDEMCn1fwIzR55Rzaa9Qrx16tA page 4: Downloading API JSON
[youtube:tab] Playlist Mix - Alanis Morissette: Downloading 75 items of 75
[download] Downloading item 1 of 75
... output cropped due to length
Note: With the playlist, we pass in the Video ID with Playlist ID, and yt-dlp automatically downloads the entire playlist - rather than just a single video (unless you override this behaviour, per the above output mentioning --no-playlist option for same).
Uploading to Media Control Panel (Internet Radio):
- Login to your Internet Radio station's MediaCP
- Navigate to Media in the left-hand side menu bar
- Create a folder if none custom yet "Radio Music"
- Then, click the Folder icon to browser it
- Click "Add Media" cloud icon page top-right
- Drag-and-drop or select media, etc.
This then has your new media uploaded to your internet radio station. Advanced users can do the same via FTP:
https://www.mediacp.net/doc/audio-broadcaster-guide/managing-media-using-ftp/
From there, you need to playlist and schedule the media to go on-air when it suits you best. You can do that via the same menu, Playlists option in the menu.
Licensing, compliance, etc - the legal part:
It is your responsibility to ensure you hold adequate licensing to play licensed audio on-air. It is also recommended that you have accurate logs so you can report on what was played, so your license fees can be distributed accurately rather than in a balanced/broad/generic way to artists whom you did not play.
yt-dlp will download what you tell it, if it is able to do so - it does not care what your licensing status is, and assumes you the operator have made legal and proper decisions to ensure you have coverage to use/broadcast/etc the downloaded content. We assume zero liability. Your station, your license, etc.
Questions? We're here to help our Internet Radio clients reach greatness!
Let us know so our crew are able to help.
