In this simple post, I want to share with you about my previous side-project - how I broadcasted radio to Youtube using DigitalOcean and FFmpeg. I decided to try broadcast one of Creative Commons radio stations to Youtube. Running ahead - the radio-station worked on Youtube for 6 days and 24/7. Youtube banned it because one day was playing a music track with another license.
For this project, we will use the droplet on DigitalOcean with Ubuntu 18.04. You can read more about how to create a droplet in the official DO tutorial.
First of all, you need to install FFmpeg. FFmpeg uses for manipulations with audio and video as a command line tool. On Linux we can install it using the following commands:
$ sudo add-apt-repository ppa:mc3man/trusty-media
$ sudo apt-get update
$ sudo apt-get install ffmpeg
$ ffmpeg -version
The last command should output something like this:
Create a new folder for our project with a single shell executable file:
$ mkdir yt-radio
$ cd yt-radio
$ touch main.sh
Further, you will find the already prepared code for _main.sh. _You only need to copy and paste it:
BITRATE="2500k" # Bitrate of the output video
FPS="30" # FPS video output
QUAL="medium" # FFMPEG quality preset
YOUTUBE_URL="rtmp://a.rtmp.youtube.com/live2" # Youtube RTMP base URL
IMAGE="some_picture_path.jpg" #Picture
SOURCE="http://64.71.79.181:5234/stream" # Radio Station
KEY="your_strean_key" # Stream name/key
SIZE="1920x1080"
FRAMERATE="2"
ffmpeg -re -loop 1 \
-framerate "$FRAMERATE" \
-i "$IMAGE" \
-i "$SOURCE" \
-c:a aac \
-s "$SIZE" \
-ab 128k \
-b:v "$BITRATE" \
-threads 6 \
-qscale 3 \
-preset veryfast \
-vcodec libx264 \
-pix_fmt yuv420p \
-maxrate 2048k \
-bufsize 2048k \
-framerate 30 \
-g 2 \
-strict experimental \
-f flv \
"$YOUTUBE_URL/$KEY"
#
# Created by Roman on 04/22/2019.
# Copyright © 2019 akhromieiev.com. All rights reserved.
Line 6 - the URL of audio-stream what you want to broadcast. It’s easy for configuration, so you can try to experiment with the values.
In this section, we will get a Stream key for line 7 of the script. It’s a unique ID for our stream. Open Youtube using your account and go to “Live streaming”:
When you press “Stream now”, you will be taken to the live-dashboard for the next stream. Go to “Encoder setup”, copy “Stream key” and paste it to the script (line 7):
Also, don’t forget to add a nice picture on line 5.
Finally, run the script in the command line:
sh main.sh
The terminal should show something similar:
In parallel with this, you can listen to some music in the live-dashboard:
If you hear the radio-stream with music, you have done a good job! The stream will work until you exit from the command line.
In this tutorial, I showed you all my steps about how I broadcasted a radio station to Youtube. I ran it on VPS with Ubuntu v18.04.1 x64. For VPS I used a DigitalOcean. If you have no Digitalocean account, you can sign up with my referral link ( it gives you 100$ of credit for 60 days).
I plan to create the video version of this tutorial, so will be grateful if you subscribe to my Youtube channel.
comments powered by Disqus