Streaming media
Streaming media is media that is consumed (read, heard, viewed) while it is being delivered. Although it is generally used in the context of certain content types ("streaming audio", "streaming video", etc), streaming is more a property of the delivery systems employed to distribute that content. The distinction is usually applied to media that are distributed over computer networks; most other delivery systems are either inherently streaming (radio, television) or inherently non-streaming (books, video cassettes, audio CDs).
The word "stream" is also used as a verb, meaning to deliver streaming media.
The remainder of this article discusses technology for streaming media over computer networks.
History
Attempts to display media on computers date back to the earliest days of computing, in the mid-20th century. However, little progress was made for several decades, due primarily to the high cost and limited capabilities of computer hardware.
Academic experiments in the 1970s proved out the basic concepts and feasibility of streaming media on computers.
During the late 1980s, consumer-grade computers became powerful enough to display various media. The primary technical issues with streaming were:
- having enough CPU power and bus bandwidth to support the required data rates
- creating low-latency interrupt paths in the OS to prevent buffer underrun
However, computer networks were still limited, and media were usually delivered over non-streaming channels. In the 1990s, CD-ROMs became the most prevalent method of media distribution to computers.
The late 1990s saw:
- greater network bandwidth, especially in the last mile
- increased access to networks, especially the Internet
- use of standard protocols and formats, such as TCP/IP, HTTP, and HTML
- commercialization of the Internet
These advances in computer networking combined with powerful home computers and modern operating systems to make streaming media practical and affordable for ordinary consumers.
In general, multimedia content is large, such that media storage and transmission costs are still significant;
to offset this somewhat, media are generally compressed for both storage and streaming.
A media stream can be on demand or live. On demand streams are stored on a server for a long period of time, and are available to be transmitted at a user's request. Live streams are only available at one particular time, as in a video stream of a live sporting event.
Streaming bandwidth and storage
Streaming media storage size (in the common file system measurements mebibytes, gibibytes, tebibytes, and so on) is calculated from streaming bandwidth and length of the media with the following formula (for a single user and file):
(since 1 mebibyte = 8 * 1,048,576 bits = 8,388.608 kilobits)
Real world example:
One hour of video encoded at 300 kbit/s (this is a typical broadband video for 2005 and its usually encoded in a 320×240 pixels window size) will be:
- (3,600 s · 300 kbit/s) / 8,388.608 = 128.7 MiB of storage
if the file is stored on a server for on-demand streaming. If this stream is viewed by 1,000 people, you would need
300 kbit/s · 1,000 = 300,000 kbit/s = 300 Mbit/s of bandwidth
This is equivalent to 128.7 GiB per hour.
Protocol issues
Designing a network protocol to support streaming media raises many issues.
Datagram protocols, such as the User Datagram Protocol (UDP), send the media stream as a series of small packets, called datagrams. This is simple and efficient; however, packets are liable to be lost or corrupted in transit. Depending on the protocol and the extent of the loss, the client may be able to recover the data with error correction techniques, may interpolate over the missing data, or may suffer a dropout.
The Real-time Transport Protocol (RTP), the Real Time Streaming Protocol (RTSP) and the Real Time Control Protocol (RTCP) were specifically designed to stream media over the network. They are all built on top of UDP.
Reliable protocols, such as the Transmission Control Protocol (TCP), guarantee correct delivery of each bit in the media stream. However, they accomplish this with a system of timeouts and retries, which makes them more complex to implement. It also means that when there is data loss on the network, the media stream stalls while the protocol handlers detect the loss and retransmit the missing data. Clients can minimize the effect of this by buffering data for display.
Another issue is that firewalls are more likely to block UDP-based protocols than TCP-based protocols.
Unicast protocols send a separate copy of the media stream from the server to each client. This is simple, but can lead to massive duplication of data on the network. Multicast protocols undertake to send only one copy of the media stream over any given network connection, i.e. along the path between any two network routers. This is a more efficient use of network capacity, but it is much more complex to implement. Furthermore, multicast protocols must be implemented in the network routers, as well as the servers.
As of 2005, most routers on the Internet do not support multicast protocols, and many firewalls block them. Multicast is most practical for organizations that run their own networks, such as universities and corporations. Since they buy their own routers and run their own network links, they can decide if the cost and effort of supporting a multicast protocol is justified by the resulting bandwidth savings.
Peer-to-peer (P2P) protocols arrange for media to be sent from clients that already have them to clients that do not. This prevents the server and its network connections from becoming a bottleneck. However, it raises technical, performance, quality, business, and legal issues.
Newer camcorders stream video to a computer over a FireWire connection. This uses a system of time-based reservations to ensure throughput, and can be received by multiple clients at once.
Social and legal issues
Some streaming broadcasters use streaming systems that interfere with the ability to record streams for later playback, either inadvertently through poor choice of streaming protocol or deliberately because they believe it is to their advantage to do so. Broadcasters may be concerned that copies will result in lost sales or that consumers may skip commercials. Whether users have the ability and the right to record streams has become a significant issue in the application of law to cyberspace.
In principle, there is no way to prevent a user from recording a media stream that has been delivered to their computer. Thus, the efforts of broadcasters to prevent this consist of making it inconvenient, or illegal, or both.
Broadcasters can make it inconvenient to record a stream, for example, by using unpublished data formats or by encrypting the stream. Of course, data formats can be reverse engineered, and encrypted streams must be decrypted with a key that resides—somewhere—on the consumer's computer, so these measures are security through obscurity, at best.
Efforts to make it illegal to record a stream may rely on copyrights, patents, license agreements, or—in the United States—the DMCA.
References
- Schneier, Bruce (May 15, 2001). The Futility of Digital Copy Prevention Crypto-Gram Newsletter.
- Schneier, Bruce (August 2000). The Fallacy of Trusted Client Software Information Security Magazine . also at The Fallacy of Trusted Client Software.
- Schneier, Bruce (October 15, 2001). SSSCA Crypto-Gram Newsletter.
See also
- Internet radio (audio)
- Webcast (video)
- List of Internet stations
- Electronic Frontier Foundation
- Center for Democracy and Technology
- Web TV
Streaming media systems
- FFmpeg
- FreeJ video streamer for Icecast
- Helix Community
- Icecast
- IceShare P2P Icecast protocol
- Live555.com Live555.com Streaming Media Library
- LS³ Libre Streaming, Libre Software, Libre Standards (formerly known as OMSP - Open Media Streaming Project)
- MuSE
- MPEG-4
- Ogg
- PeerCast
- Peercasting P2P streaming
- QuickTime
- RealSystem
- SDP Multimedia -- Open Source project to save streaming media to disk
- SHOUTcast
- Steamcast
- VideoLAN
- Windows Media
- Zina (Open-source alternative to Andromeda written in PHP)
- FlexCast
- Jet Stream XL2 server
Codecs
- AAC
- aacPlus
- MPEG 1/2/4 (MPEG4 implementations: DivX, XviD)
- mp3 Sound Stream
- mp3PRO* RealAudio
- RealVideo
- Theora video
- Vorbis audio
- Windows Media Audio (WMA)
- Windows Media Video (WMV)
- Sorenson codec
Protocols
File formats
Description formats
External links
Streaming media tools online
- StreamCalculator.com (Calculate streaming bandwidth and storage)
- SDP Multimedia (Technical docs and free (not open source) tool for saving MMS-streamed media)
Streaming media systems
- Andromeda (for PHP or ASP)
- Darkice
- Flumotion (Distributed streaming media server)
- Live Tv Streams
- MediaFrame (Open Source audio and video streaming technology with a player written in Java)
- Streamripper
- StationRipper
Companies
- GravityLab Multimedia : Audio and Video Streaming Media Hosting
- VSS Video Streaming Services
- Unikron Inc.
- StreamingMarketplace.com: Reviews, Downloads, News, Blogs, Products, Streaming Hosting and Services
- InterVox Communications, Digital Media Strategy/Market Development, Growth Issues
- Video Streaming Services Production, Conversion, Digitization, Encoding, Streaming Services
- Streamcity: Flash Streaming Video Production
- Fluendo: Linux Multimedia Company
- rinf.com: Hundreds of free media streams
- StreamUK: Microsoft accredited DRM specialists
- all-streaming-media.com
- Streaming Media Protocols
- Microsoft Windows Media
- Viocorp
- RealNetworks
- Apple Quicktime
- Helix Community
- United Streaming
- Core Streaming: Live and On Demand Windows Media, Quicktime and Flash streaming
- DayPort, Inc. - Streaming, WorkFlow & Convergence Technologies
- Forbidden Technologies plc
- FlexCast Inc.
- PowerStream.
- Site System Solutions - Streaming Video, Multi-Media Web Development, more
Viewing and listening Streaming media sites
- 96KBPS "The Rock Station" - Listen for free! Classic and Modern Rock
- DeliCast.com - Internet TV and radio stations
- v-streams The Streaming Collection
- 3w-tv - einfach. online. fernsehen.
- Singingfool Over 7000 streaming music videos. Make playlists and get codes
- VideoDetective Over 14,000 streaming movie trailers old and new and home video release information
- Big Picture TV Free video streams of leading thinkers in environment, peace and sustainability issues
- 60 Minutes Online
- AdventureTV.com - The Natural World of Adventure through Streaming Video
- C-SPAN
- Democracy Now!: radio and TV news
- Fabchannel.Com - Live and on demand music concert webcasts from Paradiso and Melkweg Amsterdam
- Live Radio and Television from Around the World
- NOVA Dutch News and Analysis
- PBS - Public Broadcasting Service
- Reuters Raw Video Online
- The FeedRoom, the world's premiere broadband news network
- U. TV Internet
- wwiTV.com - Your guide to Internet TV
- Norwaylive - Norwegian Web TV
- MusicNow Streaming Music Listen to music through your Internet browser
- EuroNews Website - EuroNews is an European news television channel broadcasting to most of Europe
- StupidVideos Web Videos A longtime running site featuring over a 1000 of the best viral video clips
- GrindTV Extreme Sports Videos Video shorts of extreme sports