Login  •  Register

Tutorial: Internet Streaming Basics

Streaming & Listening. Tips, Tutorials, and Support.
Post Reply
User avatar
Swifthawk
Site Admin
Posts: 97
Joined: Sun May 24, 2020 10:43 am

Tutorial: Internet Streaming Basics

Post by Swifthawk »

This describes the basics of streaming on the internet.

Components
These are the fundamental concepts common to nearly all setups. All of these components have free options. Some applications can act as both a source and an encoder.
  • The source.
  • The encoder.
  • The server.
The source(s) plays the media content to be streamed. It can be as simple as just a microphone, or as complicated as whole stack of software and hardware to mix voice and other media for a presentation.
My favorite sources include:
  • Winamp media player for its absolute best library & playlists management.
  • VLC media player for movies.
  • Mixxx for professional grade DJ performances - it has a basic encoder built-in.
  • a cheap-o microphone for karaoke and voice-overs.
  • a browser for playing YouTube or other web stuff.
The encoder connects the source(s) to the server and controls the content of the stream. This includes the codec (e.g. AV1, Opus, MP3) along with the broadcast quality settings and the stream's metadata information like the title, description, listeners, etc..
  • OBS Studio (Open Broadcaster Software) is extremely powerful, flexible, and stable (mostly). I use it as a mixer and encoder to choreograph my presentation, with Icecast 2.5 as my server. I've written a tutorial here for that setup.
  • BUTT is my favorite audio-only encoder. It's very powerful with excellent audio features.
OBS is by far my favorite overall tool because it's extremely powerful, flexible, and stable (mostly). I use it as a source mixer, and encoder, with Icecast 2.5 as my server. I've written an extensive tutorial for that setup here.

The server receives the signal from the encoder and duplicates it for each listener. The server's upstream connection speed must be fast enough to handle the encoder's bitrate multiplied by the number of listeners. For example, a typical server provides 128k bps per listener, so 10 listeners requires 1.28 Mbps of upstream speed. Most ISPs in the US provide much more than this, but it includes all the users and activity on the connection. If the speed isn't high enough, listeners will get skipping, dropped streams, or failed connections.

Other tools:
VB-CABLE Virtual Audio Device is a very cool piece of software for cleanly connecting audio apps together without noise. I find it genuinely indispensable.

There is an Icecast service provider called Caster.fm that offers free and paid accounts. By using a large online provider like Caster, one can more easily stream without clogging their own connection.

As always, if you have any questions or need help, please post here or send me a message.
Full-Stack Sys Admin, Developer, IT Consultant, PC & Media Tech
Cheerful purveyor of free support - just ask! :D
Post Reply