Greetings!
Finally, a question I already know the answer to. I've been working
with digital video since about 1999 and broadcast video since the late
1980s.
Broadcasting live or pre-recorded television signals over the internet
has been going on for many years now, and is getting very specialied.
In a nutshell, you begin with an analog TV signal off of video tape or
a camera. This signal is converted into digital data. The digital
signal is then specially processed to optimize it for compression.
The signal is then compressed and transmitted over the Internet.
Digital video compression is a huge field of study. Simply put, NTSC
video is made up of 30 frames of information, or pictures, per second.
Most of this information is redundant and can be easily represented
by a formula, rather than discrete bits. For example, if the top
1/3rd of a picture is a uniform blue, instead of storing all the bits
that say 'blue', you convert that into a formula that says the same
thing. This is how JPEG compression works. You do loose some
information this way - the colors or shapes are averaged out over
certain areas. There may be 200 shades of blue in that top 1/3rd, but
they are close enough together to represent them as a single blue.
That is why this type of compression is called 'lossy' - you discard a
certain amount of the information.
Additionally, in TV, many of the frames consist of the same thing -
static backgrounds, unmoving characters, etc. Thus, you can encode
across many frames information that does not change. This is the
basis of MPEG compression as well as many other proprietary
compression schemes. MPEG compression takes one frame, an 'I' frame
every so often, and compresses it like a JPEG. Then, each frame that
follows, up until the next 'I' frame, is compared to the first I frame
and compressed accordingly. MPEG is also a lossy compression routine.
Other compression routines may vary slightly in their implementation,
but most work in this general manner.
Bandwidth for transmitting a signal is directly related to how
compressed the signal is. All consumer digital video is compressed to
some degree or another. Even the excellent picture from a DVD is
compressed to about 6 megabits a second via MPEG-2 compression. Raw
digital video takes an enormous amount of space.
Determining the compression to use is often based upon the audience
you are attempting to reach. If they all are on 56k dialup lines, you
will reduce the size of your video, reduce the frame rate and employ
very high compression. This results in poor video quality, but it is
viewable. However, if you are targeting an intranet where all the PCs
are connected via 100 megabit ethernet connections on a LAN, you can
use much larger video, at full frame rate, and with less compression.
One minute of uncompressed full frame NTSC video takes roughly 1.8
gigabytes of data. However, one minute of well compressed video data
can take as little 120 kilobytes.
Beyond compression and basic bandwidth issues is the aggregate impact
of that bandwidth on your backbone connection. If you have 100 users
all viewing a 100kbyte stream, you've quickly used up a huge amount of
bandwidth. This is very expensive and not cost effective. There are
two general ways around this.
First, you can disperse the streaming servers around so that many
people will connect to many different servers. This is the way the
most video broadcasts over the Internet work.
Secondly, you can use 'multicasting', where one signal is sent from
your server, and is divide up down stream by the routers to the
individual viewers. Unfortunatley, multicasting is not widely
supported on the Internet yet. There are a variety of whitepapers
discussion multicasting strategies at
http://www.itpapers.com/cgi/SubcatIT.pl?scid=62
(free registration required)
Below is a lot of further reading - this topic can take months to
understand and years to master. Best of luck, and if you need further
clarification, please feel free to ask.
Basics of compression:
http://desktopvideo.about.com/library/weekly/aa030997.htm?terms=video+compression
Streaming your video on the internet:
http://desktopvideo.about.com/library/weekly/aa092900a.htm?terms=video+compression
Streaming Media 101:
http://builder.cnet.com/webbuilding/pages/Graphics/StreamingMedia/index.html
Video codecs:
http://home.earthlink.net/~radse/Page9.html
The math behind compression:
http://www.cs.sfu.ca/undergrad/CourseMaterials/CMPT479/material/notes/Chap4/Chap4.2/Chap4.2.html
MPEG FAQ:
http://www.crs4.it/~luigi/MPEG/mpegfaq.html
Another MPEG FAQ:
http://www.faqs.org/faqs/mpeg-faq/
MPEG Starting Points:
http://www.mpeg.org/MPEG/starting-points.html
Video over the Internet (From 1996, but good backgound)
http://www.rad.com/networks/1996/video/video.htm
Search Terms Used:
video compression internet |