Sources
Playing a direct stream URL, and when it fails
Direct stream URLs are the simplest way to keep a station close. Here is what a player needs from the URL, and how to read the usual failures.

The short answer
A direct stream URL points at a continuous audio endpoint over HTTP or HTTPS. Paste it into a player that supports streams and playback starts without an account, a plugin or a service integration.
What a usable stream URL looks like
Stations publish several kinds of link, and only some of them are playable directly:
- A direct audio endpoint ending in the stream itself. This is what you want.
- A playlist file (
.m3u,.pls) that contains one or more endpoints. Many players resolve these; some do not. - A web page that embeds a player. This is not a stream URL, even though it plays in a browser.
Reading the common failures
- Nothing happens and no error appears. Frequently a plain-HTTP endpoint blocked on a device that requires secure connections. Look for an HTTPS version.
- It plays for a minute and stops. Usually the network changed, or the station enforces a connection limit.
- It buffers constantly. The bitrate is higher than the current connection can sustain; many stations publish a lower-bitrate alternative.
- The track name never updates. The station is not sending metadata in the stream. That is a broadcaster choice, not a player fault.
Streams and offline listening
A stream is live audio, not a stored file. It is unavailable offline by definition, and it consumes data for as long as it plays. Where your listening needs to work without a connection, that content has to exist as files on the device.
Where OVO fits
OVO treats Streams as a first-class source: add a direct URL and keep live audio next to the rest of your library. On Apple Watch, Streams execute on the paired iPhone and are controlled from the wrist. The sources page documents each source and what it requires.


