What are streams and what is streaming?

Written by 'One-eye' for RadioVague.com, $Revision: 1.4 $ ($Date: 2006/03/09 00:22:46 $)

Latest version of this document

This short document hopes to try to assuage some of the confusion surrounding what streams and streaming are for those who are not familiar with the concept but who are interested in understanding a little bit more about Internet radio and television and even producing some themself. It's not a guide on how to stream, just an explanation of what it's all about.

What is streaming?

Streaming can be considered as being broadcasting (in the sense of television and radio) using the Internet as the medium and a stream as the being the programme that is broadcast. In this context it is common to see the use of words such as 'broadcast' and 'transmission' when referring to streaming. The streaming of audio over the Internet is often referred to a audio streaming or internet radio. Likewise the streaming of video is often known by video streaming, internet television or online television.

The terms streaming and stream are perhaps not the best words to use to describe this and perhaps a term such as netcasting/netcast or webcasting/webcast would carry more inherent sense for most people. However these are the terms that have come into general use and are accepted by all, so I guess we're stuck with them.

There are generally three pieces to that make up the streaming puzzle: the source, the server and the client. The traditional radio and television model should help serve to explain these.

Stream source

The source is the combination of person or persons who produce the audio and/or video that forms the stream in question and their audio and/or video equipment. In radio terms, they would be the presenters, producers and technicians who put together the radio programme and the physical studio itself. In streaming terms, they are the people who are producing the content for the stream; they might be someone with a computer and a simple play-list of their favourite tunes; they might be a group of people with microphones and an audio mixer performing a chat show; or they might be a band live on stage performing and a technician sat at the sound desk mixing the show.

In all instances those people at the stream's source have one critical thing in common: they all need to have a connexion to the Internet and a computer with software capable of capturing and encoding the audio and/or video in question and then sending (transmitting) it to the server.

Streaming server

The server is generally a server-class computer (big noisy computer with lots of memory - RAM - and disc drives) that is permanently connected to the Internet, and will often be housed in a data centre (large building dedicated to housing servers and other telecommunications equipment), University or other organisation. In radio terms the server could be seen to be equivalent to the radio masts that distribute or broadcast radio programmes to listeners. The server does nothing more than run certain software that permits it to wait for the sources to provide it with incoming streams (content). When it receives a stream from a source, it then makes it available to the clients by advertising the stream's mount point (effectively the name of the stream itself).

Client

The client is any computer or electronic device that is capable of receving the stream. In radio terms it can be thought of as the physical radio set that the listener uses. The client will need a connexion to the Internet and 'know' the address of the server and the specific mount point. This is not a difficult as it sounds and is usually just a case of finding a web site that offers streams and or following listings of what you can watch or listen to. For example at Radio Vague, a list of available streams appears on the home page.

Hopefully, the following diagram should help to illustrate the concept.

Diagram of relationship between source, server and client
Diagram of relationship between source, server and client (click image to enlarge)

The ambiguity latent in new words

Although the people and equipment at the source are often referred to as broadcasters and they are often thought of as performing a broadcast, this is in some senses not quite the case. They simply provide the source of the stream to the server, which then broadcasts or distributes the broadcast to the clients. This definition is questionable in my mind and there exists a point of confusion where the source and server together seem to represent different façets of the same broadcaster. For this reason, I've used the terms source, server and client here, so as not to confuse the issue.

In general, and as in many parts of computing and technology, old words are employed in new senses, that often do not make a great deal of sense to those familiar with the old sense. Don't be confused by applying the old sense to a word that is effectively brand new, just accept the word to mean whatever it does in it's new context.

A short glossary of streaming terms

This is the beginning of a glossary to try to help define what some terms employed in streaming are. Feel free to correct and contribute to it by contacting the author or someone from Radio Vague.

Capture

The process of a computer taking audio and/or video input and turning it into digital form using an audio or video capture card.

Client

In the streaming model, the client is a computer (or mobile phone, PDA, iPod-type device) that is has a connexion to the Internet and "listens" to the stream by connecting to the stream's mount point on the server.

Compression

Compression is used to reduce the size of the stream in question so that it can be more easily transmitted and received by listeners or viewers connected to the Internet.

Codec

A codec is a computer algorithm that defines the way the captured audio or video is encoded. It is important that the client has the same codecs that the source used to encode the stream, otherwise it will not be able to decode it. Effectively meaning the user will not be able to listen or watch it. Codecs are often the source of many problems, especially in the world of video.

Encode, Encoding

Is the process when a computer takes raw captured audio and/or video and coverts it to a format suitable for streaming. This often involves the use of a codec and compression.

Stream meta-information, meta files

Some streaming services provide meta-information (information about information) along with a stream to provide the user (or more usually the client they are using) with more information about the stream than just it's raw contents. At a basic level, such files might simply contain the URL of where the stream is, but can also contain other information such as it's quality, the level of compression, the author, the genre, a related web site address, a copyright notice, what codecs are used and, in the case of video, the width and height.

Common file types found around the Internet are:

Mount point

A mount point refers to where on the server the stream is made available for clients to connect to and therefore forms a crucial part of the address information that a client needs to connect to the stream. Using the paradigm of radio, the mount point can be considered to be similar to a given radio station broadcast by the server. If you wish to ride the horse, then you need to find a mount point to get on to it.

Podcast, podcasting

Podcast is a term that has come from the combination of the words "iPod" (Apple Computer's portable MP3 player) and "Broadcast". Although it's very much derived from the iPod, an iPod itself is not required to listen to a podcast. Podcasts are not live streams, but are more often than not short (between one and three minutes) snippets of audio or video that are pre-recorded and made available for download via the Internet. The only difference between a podcast and a downloadable audio or video file is that the podcast has meta-information associated with it that provides the user with additional information about its contents.

Server, streaming server, broadcast server

A computer (normally with a permanent connexion to the Internet) that receives incoming streams from the source(s) and distributes (or broadcasts) it to the client. The server will advertise to the clients what streams it currently has on offer.

Source

The source is the computer that captures the live or recorded audio and video, encodes it and then sends it via the Internet to the server.

URL

An acronym standing for Uniform Resource Locator. This is any resource available over a computer network (like the Internet) that adopts the standard form of protocol://hostname:port/resource. For most ordinary people the URL of a web site is just the web site address of the home page or a specific page on the site. In streaming terms the URL is the location on the Internet that clients need to connect to in order to listen or to watch the stream. The URL of a stream usually takes the form of protocol://hostname:port/mountpoint. For example:

The anatnomy of the stream URL http://live1.radiovague.com:8000/vague.ogg
The anatomy of a stream URL.

That's all for now. Comments, corrections, contributions and translations much appreciated. Please send to the author or RadioVague.com.


Valid XHTML 1.1!

Validate this article.


GNU Project Free Documentation Licence
Article copyright (c) 2006 Radio Vague. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Written using GNU Emacs. Diagrams produced with XFig.