Skip to content
streamneo.
Setup Guides13 min read

How to Stream an Internet Radio Station to YouTube Using a Playlist File

Learn how to open an M3U or PLS radio playlist, route its stream through OBS, and send it to YouTube with the right permissions.

sn.
StreamNeoPublished 4 October 2026
Worth sharing?

An M3U or PLS file does not contain the station’s audio. It is a small text file that points a player towards one or more stream addresses, which you can open in VLC or OBS before sending the resulting scene to YouTube Live.

A working stream URL is not permission to rebroadcast the station. Confirm that you are allowed to transmit the audio and any accompanying artwork before you begin, then test the address because temporary tokens, server changes and regional restrictions can interrupt an otherwise sensible setup.

Playlist file or direct stream URL?

There are two useful starting points. You may have a playlist file ending in .m3u, .m3u8 or .pls, or you may have the direct address of the station’s audio stream. Both can lead to the same result, but they are not the same thing as the station’s public web page.

A station’s Listen page might be something like https://example-radio.com/listen. That page may contain a player, advertising, programme information and several hidden requests. The direct stream address is the separate URL that the player uses to receive audio. It may end in a format such as .mp3 or .aac, although the extension is not reliable evidence of what the server sends.

A playlist is useful when a station publishes several listening options or wants its address to be easy to open in different players. It can also be easier to save than a long URL. The limitation is that the file may point to an address that has changed, requires a temporary token, works only in a certain region or uses a format that your chosen application cannot decode.

If you already have a direct stream URL, you can skip the playlist inspection and test that address. If you only have a playlist, inspect it first rather than guessing which part of the file is meant to be opened. For a broader look at how a composed broadcast works, see this guide to making a YouTube radio livestream with a waveform visualiser.

Find the station’s actual stream address

Start at the station’s own website. Look for links labelled Listen, Streams, Player, Mobile, Winamp, VLC or Download playlist. The station’s support page or webmaster may also publish the address directly. Prefer this first-party route because search results often show old playlist files or unofficial copies.

Download the M3U or PLS file rather than assuming that the URL of the station’s web player is the stream. You can usually save the file by right-clicking the playlist link and choosing the browser’s save option. If the link opens a player instead, copy the link address and inspect what it returns in a text editor or browser tab.

You may find several entries for the same station. One could be a high-bitrate stream, another a lower-bitrate mobile stream, and another an alternate server. The names alone do not establish which one is best for YouTube. Test each permitted option and choose the one that plays consistently in your intended setup.

Do not treat a URL found in a forum, directory or old tutorial as authoritative. It may be useful for investigation, but the station’s own current page is the better place to confirm what it intends listeners to use. An address that plays today may still disappear later if the station changes its hosting or access method.

If the station gives you a playlist but no clear rebroadcast policy, ask the station directly. Playback access and transmission permission are separate questions. Keep the response or licence information with your project notes so you know what was approved and for which channel, territory or type of use.

Inspect the M3U or PLS contents

M3U is a plain-text playlist format. A simple file might contain a header, an optional display-name line and then a stream address:

#EXTM3U
#EXTINF:-1,Example Radio
https://radio.example.com/live

The #EXTINF line is descriptive. The line beginning with http:// or https:// is the address that a player tries to open. A playlist can contain more than one address, so do not assume that the first entry is the only available stream.

PLS uses a different layout. A simplified example looks like this:

[playlist]
NumberOfEntries=1
File1=https://radio.example.com/live
Title1=Example Radio
Length1=-1
Version=2

Here, the File1 value is the stream address and Title1 is the label. The exact file may contain several File and Title pairs. Do not send the whole PLS text to YouTube or paste the playlist metadata into a media field that expects a URL.

The .m3u8 ending needs particular care. It can refer to an M3U-family text playlist encoded as UTF-8, but it is also commonly used for an HLS media playlist. Those are related ideas but not interchangeable in every player. If the file contains several short media-segment addresses rather than one long-running radio endpoint, you may be looking at an HLS playlist rather than a conventional station stream.

Open the file with a plain-text editor and check for unusual details. An address may include a query string, a token, a port number or a path that looks unlike a normal web page. Preserve the complete address when copying it. Removing everything after a question mark, changing https to http, or copying only the domain can make a valid stream fail.

You can also test the address outside OBS before building the broadcast. This separates a source problem from an OBS configuration problem. If the direct address fails in a current media player, changing scenes or YouTube settings is unlikely to repair it.

Open the stream in VLC or OBS

VLC is a useful first test because it can open a network address and report whether audio arrives. In VLC, use the option for opening a network stream, paste the direct address, and start playback. If you have an M3U or PLS file, open the file itself. Listen long enough to establish that it is the intended station rather than a page response or a short preview.

VLC is also helpful for checking whether the address needs to be copied exactly. If VLC shows no audio, look for a visible error, try the station’s other official stream entry, and test the address in a browser only if the station says browser playback is supported. A browser playing a page does not prove that OBS can access the underlying audio endpoint.

For a desktop broadcast, OBS can load a playlist through its VLC Video source. The OBS media sources documentation explains that this source uses VLC libraries, can contain a playlist and includes controls such as playlist looping and network caching. VLC must be installed separately, and the VLC architecture should match OBS. If you use 64-bit OBS, install the 64-bit version of VLC.

In OBS, add a source and choose VLC Video. Add the playlist file or the direct stream according to what you are testing. If you add a playlist, check which entry is selected and whether playlist looping is enabled. If you use a single direct address, there is no playlist order to manage, but the source still depends on the remote stream remaining reachable.

Network caching can affect how quickly audio begins and how it behaves when the connection fluctuates. More buffering can make playback less sensitive to brief network variation, but it also increases delay and does not repair a source that has stopped responding. Change one setting at a time, then observe the source rather than applying several unexplained changes.

Build an OBS scene with audio and visual

YouTube Live is a video broadcast, so do not leave the radio source as the entire design. Create a scene that combines the station’s audio with a visual you are authorised to use. A still station image, a programme card or a simple looping visual can make the broadcast understandable to viewers without pretending that a static picture is live footage.

Add the VLC Video source to the scene and confirm that its audio is present in the OBS mixer. Then add an Image, Media Source or Browser Source for the visual. Keep the visual readable at the size YouTube viewers are likely to see. Station name, current programme information and a clear indication that the audio is radio can be more useful than a crowded layout.

Use artwork that you created, licensed or received permission to use. Permission to rebroadcast the station’s audio does not automatically cover its logo, album artwork, presenter photograph or background video. Treat each visual asset as a separate rights question.

Watch the mixer while the station plays. The meter should respond without remaining pinned at the top. If the source is audible but the meter does not move, check the source’s monitoring and audio-output settings. If the meter moves but the preview is silent, inspect the scene’s audio routing and your monitoring device.

A radio source may not supply stable programme metadata to OBS. Do not rely on the station name or current track appearing automatically in your YouTube title. Enter a clear title and description yourself, and update them only when you have a practical process for doing so.

If you are building a channel from your own recordings instead of a third-party station, a 24/7 ambient channel from pre-recorded videos uses a similar principle: the viewer sees a composed video scene while the underlying source runs continuously.

Send the scene to YouTube Live

In OBS, connect the intended YouTube channel and create or select the live broadcast. Depending on the current OBS and YouTube flow, you may sign in to the account or enter a YouTube stream key. A stream key should be treated like a credential because someone who obtains it may be able to send a broadcast to that channel. Do not paste it into a public tutorial, screenshot or shared document.

Choose the scene containing the radio source and visual, then start the OBS stream. In YouTube Studio, check the incoming preview and status before treating the broadcast as ready. Listen for the audio, confirm that the visual is present and inspect whether YouTube reports any encoding or connection issue.

YouTube’s current live streaming help should be your reference for account access, activation, stream setup and current requirements. Do not rely on an old tutorial to establish that a channel is eligible or that a feature is available in your region.

Most desktop OBS workflows send a continuous encoder output to YouTube. HLS is a different ingestion method and should not be used merely because a source playlist ends in .m3u8. If you deliberately configure HLS ingestion, follow YouTube’s official HLS setup documentation rather than copying settings from an RTMP guide.

YouTube describes HLS as having higher latency because it sends segments instead of a continuous stream like RTMP. Its HLS instructions also specify protocol, segment and codec requirements. Those details apply to HLS output and are not generic values to paste into every OBS broadcast.

Before publishing a long session, leave the preview running while you check the source, scene and account. A short successful test proves that the pieces connected at that moment. It does not prove that the station URL will remain available overnight or that an unattended desktop will recover from every failure.

Check URL failures and rebroadcast rights

A stream can fail for reasons that have nothing to do with your OBS scene. The station may have changed providers, blocked requests from certain regions, restricted access to approved players, expired a token, changed its certificate or moved from one codec to another. A URL may also return a web page, login response or redirect instead of audio.

When a source stops, work through the layers in order. First open the official station page and see whether its player still works. Next inspect the current playlist and compare its address with your saved copy. Then test the direct address in VLC. Only after that should you troubleshoot the OBS source, network connection or YouTube output.

A redirect can be significant. Some players follow it automatically while another application does not. A URL that contains a temporary token may work during a test and fail later without any change on your side. You cannot guarantee the life of a remote address, so keep a documented fallback process rather than assuming that the first successful test is permanent.

There is also a distinction between technical access and authorisation. If a stream is publicly playable, that tells you how listeners can receive it. It does not tell you that you may retransmit it to YouTube. The relevant permission may depend on the station, the music it carries, the territory, the platform and agreements with performers or rights holders.

Ask the station what it permits before transmitting its audio. Get specific written permission where appropriate, including the channel, territory, duration and whether monetisation or an accompanying visual is allowed. Also review YouTube’s current policies and any rights guidance relevant to your situation. No playlist format changes those obligations.

If YouTube identifies a rights issue, do not respond by hiding the source or changing the title. Stop and establish what was claimed, who controls the relevant rights and what use was authorised. A URL that continues to play is not evidence that the broadcast is permitted.

For problems unrelated to the source, this guide to why YouTube may say live streaming is unavailable can help separate account activation issues from OBS or playlist failures.

Decide how much of the operation should be unattended

OBS is a practical choice when someone can manage the computer, check the preview and restart the source if necessary. It gives you a graphical view of the scene and mixer, which is useful when you are learning the workflow or changing the visual during a programme.

An always-on station has a different operating burden. The computer must remain powered, logged in where required, connected to the network and able to recover from a source or application failure. Power cuts, operating-system updates and an expired stream address can interrupt the broadcast even when the OBS scene was configured correctly. If you are operating from India, the advice on keeping a YouTube live stream running during power cuts is relevant to the wider reliability question.

A command-line arrangement using FFmpeg on a Linux VPS can be considered when you need the computer at home switched off and are prepared to administer a server. It can combine the radio source with a still image or video and send the result to YouTube. The trade-off is additional administration, a recurring hosting cost and the need to understand FFmpeg, logs, reconnect behaviour and server security.

Approach Operator work Main dependency Best fit
VLC for testing Manual A reachable source URL Confirming that the station stream plays
OBS on a desktop Manual or semi-manual A powered computer, VLC and network access Building and watching a composed broadcast
FFmpeg on a VPS Server administration Source URL, server and command-line setup An operator comfortable maintaining an unattended process
Cloud relay workflow Initial setup and periodic checks The uploaded file, channel credentials and source permissions A channel that should continue without a home computer

For the cloud route, StreamNeo removes the particular task of keeping a local computer running and restarting the broadcast after a drop, but it does not turn a third-party station URL into permission to rebroadcast it. You still need an authorised source and should check the live channel rather than assuming that any unattended workflow needs no supervision.

Choose the simplest arrangement that matches your real operating pattern. If you can check a desktop during the day but not overnight, document who will respond to a failed source. If nobody can respond, test the recovery process before describing the channel as continuous.

Before committing, compare the operating options on the pricing page. When the file and channel are ready, start free — 24-hour trial, no card.

FAQ

Does an M3U or PLS file contain the radio audio?

No. It contains text that points a player towards one or more stream addresses, along with optional names or playlist metadata. The audio still has to arrive from the station when VLC, OBS or another player opens the address.

Can I use the station’s website URL in OBS?

Usually, no. A public web page and the direct audio stream are different addresses, even when the page contains a player. Find the station’s official stream or playlist link, inspect it, and test the resulting address in VLC before adding it to OBS.

Does a working URL mean I can rebroadcast the station?

No. Technical access is not authorisation. Ask the station or relevant rights holder what retransmission is allowed, including the intended YouTube channel, territory, duration and visual use.

Should I use HLS because the playlist ends in .m3u8?

Not automatically. .m3u8 can identify UTF-8 playlist text, but it is also used for HLS media playlists. Identify what the file contains and follow the current YouTube instructions for the ingestion method you deliberately choose.

YOU’VE REACHED THE END

Keep the ideas coming.

More guides, useful tools and a little help for your next broadcast.

Back to the journal ↗
YOUR NEXT READ

A little more to explore.

More Setup Guides guides ↗ · All topics ↗