'Musicians Trade Journal' recently reviewed 50 music-related sites. They ranked SoundClick "#1 free website to promote your band on the
internet" (Ed. 3/99) Netscape, AOL, Lycos, Infoseek and others agree; they all currently list us as 'Editors Choice'
(or equivalent).
Unlimited webspace for band. Have your music in mp3 format or in streaming audio only. Full-length, stereo, near-
CD quality. Msg boards, news, mailing lists, lyrics and song story pages, member pages, and contact information
are all included. Zero-commission store (free e-commerce) for your band is available if you opt for that (for a small
signup fee but no monthly fees or percentage ever!). All free FAQ
|
hosts list Shareware MusicMachine mp3Machine Streaming Audio Software Programs & plug-ins for putting a pirate radio station online |
Liquid Audio commercial product for
wholesale distribution
Ripper One of the essential software tools of the plugged-in audiophile is the ripper, a piece of
software that captures digital audio data directly from a computer's CD-ROM or DVD drive. The audio data is
captured one track at a time into a sound sample file using a process known as CD digital acquisition, or CDDA.
Depending on the ripper software, the output file may be in one of several formats, most frequently Microsoft wave
(.WAV) format.
Encoder. Another essential tool is an audio encoder. Like photographic images, sound files contain rapidly
varying, information-rich data that doesn't compress well with general-purpose algorithms. If you try to compress a
sampled sound file with an all-purpose compression utility like ZIP, you'll be disappointed to see a compression
factor of, at most, 10 to 20 percent. Nevertheless, it's possible to achieve substantially greater compression using
algorithms designed specifically for audio data. In addition to removing redundant data in the audio stream, these
algorithms cheat the human auditory processing system by throwing away part of the audio data wherever it won't
be noticed.
Encoders can achieve dramatic compression ratios of tenfold to twentyfold over the original sampled music.
However, this compression does not come without a cost. Like the JPEG algorithm for compressing photographs,
audio encoders are lossy. The greater the degree of compression, the lower the fidelity of the encoded file. At high
compression ratios, the quality of the sound file degrades noticeably, just as JPEG files degrade when the
compression level is set too high. In sound files, the degree of compression is usually expressed as kilobits per
second (kbps), in which higher numbers yield larger files and better fidelity. Standard stereo CD audio produces
two channels of 16-bit data at 44.1KHz, which works out to 14,000kbps. Some advanced implementations of MP3
allow the encoder to vary the bit-rate dynamically, increasing the quality of tricky sections of the music without a
major increase in the overall file size.
There are two audio encoding systems in general use on the Internet. The first, RealAudio, uses a proprietary
algorithm developed by RealNetworks as part of its family of streaming multimedia products. RealAudio was
designed for realtime playback across unreliable network links, and as such, performs best with low bit-rates and
smaller files. To create RealAudio files you must use one of RealNetworks' products, such as RealNetworks G2
Producer, or a product licensed to use the RealNetworks encoding library. Similarly, you must have RealNetworks
software to play back the audio files.
The alternative to RealAudio is MPEG-1 Audio Layer-3, known popularly as MP3. MPEG stands for Motion Pictures
Experts Group, and is an open standard endorsed by the International Standards Organization (ISO). As a result,
you can pick from a large variety of MP3 encoders and decoders that run on various platforms; both commercial
and Open Source MP3 products are available. MP3 was designed for faithful audio reproduction. At higher bit-rates
of 64 kbps and up, it produces sound files of high fidelity. At lower bit-rates it tends to suffer from annoying artifacts
in the sound stream, although the very best MP3 implementations do as well as RealAudio in suppressing these
low-bit-rate annoyances. Some advanced implementations of MP3 allow the encoder to vary the bit-rate
dynamically. Complex sections of music are given more bandwidth, while easily encoded sections get less. This
technology increases the quality of the sound file noticeably without an equally dramatic increase in file size.
Although MP3 is an open standard, and the source code for the ISO reference implementation has been used for
years as the basis of various freeware and commercial products, various portions of the compression algorithms
used in its implementation are covered by patents. Recently, a company holding some of those patents, Fraunhofer
IIS, has begun to assert its rights by demanding licenses for commercial use of MP3 products. This has created a
certain amount of fear, uncertainty, and doubt (FUD) in the community. Microsoft has done its part to increase
confusion by releasing a proprietary audio encoding format called MSAudio, while the powerful recording industry
trade group, the Recording Industry Association of America (RIAA), has clouded the waters even further by
releasing a preliminary and highly controversial specification for a piracy-resistant format called Secure Digital
Music Initiative (SDMI). Despite these uncertainties, the high quality and widespread implementation of MP3 make
it certain to remain the preferred standard for years to come.
ID3 Once you've encoded an audio sample into an MP3 file, you'll want to add some descriptive
information to it. The ID3 tag system lets you identify the MP3 by listing the artist, the album, the track name, the
music genre, and the year the album or song was published. There are also fields to describe the sample's
copyright and distribution terms. The tag information gets appended to the end of the MP3 file, which has
implications for streaming MP3 players, as we'll discuss later.
CDDB If the CD you're ripping from has just been released, you may have to manually copy the
ID3 information from the album's liner notes. However, chances are likely that the information has already been
entered into one of several online CD databases (CDDBs). The ripper calculates a 32-bit checksum from the track
data, producing a number that is almost unique for the CD. This number is read by rippers during the CDDA
extraction process and compared to a Web-based distributed database of identifiers. If a match is found, the ripper
downloads the artist's name, album title, genre, the title of each track, and other tasty tidbits of information. This
information is then used to generate the ID3 tags.
If no CDDB information is available for the album, you have the option of manually entering the information and
submitting it across the Web to a CDDB database. In fact, this is how the CDDB databases were originally
assembled: by the combined efforts of volunteer audiophiles who typed in and submitted information from liner
notes. Escient, the company that came up with the idea of CDDB and now runs www.cddb.com and its many
mirrors, originally distributed its CDDB software and client libraries under an Open Source license (the GNU
General Public License), leading to its enthusiastic adoption by many rippers and CD audio players. Unfortunately,
Escient recently changed its license terms to restrict software vendors from connecting to other CDDB databases
and to require them to display the Escient logo prominently in their software. This has led to the creation of an
alternative Open Source CDDB server located at freedb.org. Readers will find that most freeware rippers are
preconfigured to retrieve information from freedb.org, while most commercial rippers go to www.cddb.com. If the
software allows it, you should configure your ripper to check both sites.
Streaming All MP3 players/decoders can load and play sample files located on your hard disk. In
order to listen to a file on the Internet, a user would first download that file to disk and then launch the player. Users
can shortcut this by making the player into a helper application for MIME-type audio/mpeg or audio/x-mpeg, and in
fact many players automatically register themselves as the appropriate helper application during their installation
procedures. Now, when the user selects an MP3 file link, the browser downloads the file to a temporary location,
launches the helper application to play it, and deletes the temporary file when it's finished.
The problem with this scenario is that there's a long delay as the file is downloaded and saved to disk. To
circumvent this, some players provide users with the ability to listen to MP3 in a streaming format. Under this
scenario, the player itself initiates an HTTP connection to the Web server and fetches the URL for an MP3 file.
Then, while the server is sending the file across the network, the player is able to decode and play it in real time.
Some players also give users the ability to save the file to disk while listening to it. Although streaming sounds
ideal, it is hostage to the strict limitations of Internet bandwidth. An MP3 file encoded at 64 kbps requires a network
link of at least the same speed, and preferably somewhat faster. This works great across my ISDN connection, but
would leave users of analog 56-kbps modems out in the cold; the music stream would be interrupted by gaps as
the play speed outstrips the download speed. An MP3 sound file recorded at 32 kbps will stream much more
successfully across a conventional modem link, but will suffer from noticeably lower-quality sound. Like other forms
of multimedia, MP3 begs for broadband.
One of the scenarios that streaming MP3 makes possible is a form of Internet broadcast in which audiophiles and
rec-room disk jockeys stream their favorite audio samples to Internet-based relays, which, in turn, stream the music
"live" to interested listeners. This type of Internet broadcasting is made possible by the Shoutcast protocol designed
by Nullsoft, which specifies how clients and servers find each other and exchange data. Shoutcast-compatible
software includes Nullsoft's popular WinAmp MP3 player, and a DJ package for mixing live sound with MP3
streams, also distributed by Nullsoft. For Open Source aficionados, an interoperable protocol called icecast is
available. icecast clients, relays, and directory servers are available in full source-code form and compile on a
number of different UNIX platforms. Any MP3 decoder that can play Shoutcast streams should be able to work with
an icecast server as well.
Because the ID information is encoded at the end of the MP3 file, streamers need to add some headers to the
audio data they send out. Under the Shoutcast and icecast protocols, these headers take the form of a series of
"icy-fields," such as "icy-name" and "icy-genre."
Copyright Issues
It should go without saying that the ripping and distribution of CD tracks as MP3 audio files should be done only
with the consent of the artist and/or publisher. Of course nothing prevents you from ripping your own CDs and
putting them on your personal Web server, provided that access to the server is restricted to you and your
household. If you're an aspiring artist, there are many sites, such as MP3.com, on which you can showcase your
music.
To illustrate how this all works in practice, the steps of turning track into an MP3 file and making it available to
download from the Web Techniques site.
Getting Ready For ripping and MP3 encoding, I used a UNIX-based program called Grip, written by
Mike Oliphant. In traditional UNIX-toolkit fashion, Grip is actually just a graphical front end to several command-line
programs that do the actual work. Grip uses separate programs to rip the CD, encode it into MP3 format, and
attach ID3 tags. The disadvantage of this is that it requires you to locate and install each of the programs. The
advantage is that you get great flexibility in mixing and matching your favorite ripping and encoding engines. Grip
uses the freedb CDDB server as its primary source for CD information. I configured my copy to check
www.cddb.com as well.
For ripping, I chose a command-line program called cdparanoia, written by Monty (a man with no apparent last
name). Recent versions of Grip come with the source code for cdparanoia, so this turned out to be the path of least
resistance. For MP3 encoding I experimented with a host of different MP3 encoders and ultimately settled on an
Open Source program called LAME (which stands for LAME Ain't an MP3 Encoder), written by Mike Cheng, Mark
Taylor, Michael Hipp, and William Schelter. LAME seemed to offer the best compromise between encoding speed
and sound quality. It encodes audio files in approximately real time (a two-minute track takes about two minutes to
encode), and produces MP3 files that sound good at 64 kbps and higher. Those interested in the highest quality
recordings should check the Fraunhofer-IIS encoder, mp3enc: It's particularly good at low bit-rates but takes about
four times as long to encode as LAME. Those who want the fastest encoding rate should try the Xing encoder
xingmp3enc, which is approximately twice as fast as LAME and produces sound files that seem equivalent to my
untrained ears. Both the Fraunhofer and Xing encoders are commercial products (again, see "
Online").
For attaching ID3 tags, I used Grip's default, a little freeware program called mp3info. The Grip front end runs all
these command line programs on your behalf, so you don't have to worry about what arguments to pass.
Ripping and Encoding the CD The resulting window, with the track-editing frame still open, is
shown in Figure 2 . The next step was to select the tracks to rip and encode. This was just a matter of right-clicking
on the tracks I wanted to capture‹the first track, a song called "The Singer Songwriter" and track 10, "Imbolc," a
song about the turning point of the Celtic calendar roughly corresponding to early February, or the American
Groundhog day. The rest was then a matter of selecting the "Rip" tab and clicking on a button labeled
"Rip+Encode." A few minutes later, Grip had produced two MP3 files corresponding to the selected tracks, one
called The_Singer_Songwriter.mp3, and the other called Imbolc.mp3. I chose a bit-rate of 64kbps for both files,
resulting in a pair of files about 1.4MB in size (about 0.5MB per minute).
Making Imbolc.mp3 Available for Download This task was just a matter of copying the file into the
Web-server root and creating the appropriate link. If your server doesn't already recognize the .mp3 extension as
belonging to files of MIME-type audio/mpeg, you may need to configure it to do so. For Apache-based servers,
adding the line AddType audio/mpeg mp3 to the server configuration file will do the trick.
Although this simple setup worked fine, it had the unfortunate consequence of requiring users to download the
1.4MB file before they could start listening to the music. I discovered that a much better solution was to indirectly
link to the MP3 file via a "playlist" file that contains the sound file's URL. By convention, a playlist has the MIME-
type audio/mpegurl and the file extension ".pls". It's a simple text file with the structure shown in
When a user selects a playlist link, the browser downloads it to a temporary file and launches an MP3 player to
read it. The MP3 player recognizes the file as a playlist and initiates its own HTTP connection to the URL. Instead
of waiting for the whole file to download, the player streams it, letting the user hear the music almost immediately
after selecting the link.
In addition to the original 64-kbps MP3 file, I've made 128-kbps and 32-kbps versions available for download.
Listen to the demos to learn the difference that various bit-rates make:
http://www.webtechniques.com/archives/2000/02/webm/demos
Stored files. A standard HTTP Web server may generally be used to deliver stored audio files and simultaneously
serve normal text and graphics Web pages. The files may then be made available for download or streamed to
listeners in real time. Audio files may be created using a software encoder. This simple, low-cost method is widely
used for distribution of encoded audio files, such as those popular in the growing .mp3 (MPEG layer 3) audio
community.
Live encoders. This component accepts the audio signal and generates a compressed bitstream for delivery to the
server. Encoders may be either dedicated hardware or software running on a general-purpose CPU with an
installed audio card. Software encoders usually require near the full capacity of a fast PC because of the intensive
processing required, so it is usually not possible to combine the server and the encoder on one machine.
Live servers. These are designed for live-stream transmission. A standard Web server generally requires a
significant memory block to be dedicated to each connection and is inefficient in CPU usage. It's possible to serve
many simultaneous listeners using specialized server software optimized for the live-stream application.
Replication servers. These servers allow you to replicate more streams than possible with the main server alone.
They expand capacity and can provide geographic dispersion of stream sources. They accept a single-stream
output from an upstream server as input and provide additional fan-out. In a unicast world, these are a requirement
to serve large numbers of listeners. IP Multicast would replace these with replication within Internet router
nodes.
There are a number of such systems on the market. As part of its effort to disseminate NT, Microsoft has included
Microsoft Netshow in its NT server package. The 2.0 version of this platform represents a significant leap forward
from the earlier 1.0 release. The main features are extensibility and support for IP Multicast protocols. A wide
variety of audio and video codecs are possible, either in software ACM/VCM (Audio Compression Manager/Video
Compression Manager) modules, or via external equipment. On the client side, the standard Microsoft player may
be used, or custom players which take advantage of the provided ActiveX control (on the Windows platform, of
course) may be created.
Commercial Webcasting systems available for servers other than NT include Progressive Networks' RealAudio and
RealVideo, VDO's VDOLive, Xing's StreamWorks, and Audioactive's Live Audio.
Live Audio comes from broadcast-gear manufacturer Telos Systems. The company is widely known in the radio
broadcast industry, and this background shows in its Internet audio product. The most evident difference from the
systems developed by software-oriented companies is in the use of a dedicated hardware encoder. While most
systems would use a dedicated PC running encoder software, this is a professional-grade MPEG-2 Layer 3
encoder with 18-bit analog-to-digital conversion and a multiple-DSP compression engine. Audioactive uses two
servers, one operating in replication mode. The machine hosting the streaming replicator also serves regular Web
documents.
One encoder and one server can constitute a complete system, but an unlimited number of replication servers can
be added to serve a greater number of listeners or to locate the server closer to the listeners or to available
bandwidth.
Figure 1 shows a system that enables proximity to high-capacity Internet bandwidth. Normally, this would be at an
ISP's site, and the source of audio and encoder would reside elsewhere. This arrangement avoids having to extend
the "big pipe" Internet connection, which saves money.
In a recent visit to the Web Techniques offices, Peter Zaballos, Vivo's VP of marketing, discussed the state of the
market in streaming multimedia, concentrating on the capabilities of VivoActive 2.0.
As a tool, VivoActive is modeled on the assumption that video content already exists, and needs to be converted to
a streaming code that can be inserted directly into Web pages. Built on the H.263 compression algorithm used in
video conferencing, VivoActive can compress video at rates up to 200:1 and can stream over the Internet at speeds
as low as 2KB per second. Vivo's audio compression follows the G723 standard for speech and a proprietary codec
licensed from PictureTel (a Vivo investor) for music-quality video.
Whereas 1.0 produced a fixed format of 176×144 and voice-quality video, 2.0 lets you adjust frame size from
49×49 pixels to 352×288 pixels, select either voice or FM-quality audio, and batch-process clips for mass
production. The Voice Quality setting is ideal for uncomplicated audio content such as speech from a single voice
generating a VivoActive file with 6.4 kbps allocated to audio. Because this setting requires minimal bandwidth for
audio delivery, you can deliver higher-quality video using the remaining bandwidth. The FM-quality setting delivers
audio for music and more complex soundtracks generating a VivoActive file with 16 kbps allocated to audio.
However, over a 28.8 connection, this leaves only 4K for video -- hardly enough for a reasonable-quality picture.
This may be OK though, because Vivo accepts both WAV and AIIF files, so the same tool can be used to produce
FM-quality audio-only streams.
The interface to VivoActive is divided between a QuickTime (Mac) or AVI (MS) player and a Vivo viewer. The
player allows for random access through the clip and last-minute fine tuning. Zaballos claims there are no file-size
limitations, and as proof, points out that CNN streamed the 1996 convention speeches in their entirety.
The converter defaults to bring any clip in at a 28.8 setting, but there are presets for standard data-line settings for
ISDN through T1, and for various outputs that maximize such things as FM-quality audio, smooth frame rate, or
picture quality. The bits/frame are averaged based on bit rate over the entire clip with additional bits being reserved
for the first and last frame for picture clarity.
Wizards that analyze your settings and provide information about the quality of the output as if you were trying to
stream over a specified connection offer tips on things that can be done to improve or fix any problems. You can
also design metasettings that produce multiple outputs (28.8, ISDN, T1) from a single clip that can be later placed
on a Web site in a user-selectable format.
To embed the encoded file on a Web page, you must add an entry to the HTTP server's MIME-type settings, and
place the code shown in Example 1 into your document.
To test this technology, the WT editors timed the loading and playing of an Al Gore speech (500 words, 3 .5
minutes) accessed from the Vivo home page. The speech contained both text and Vivo-formatted video on a 28.8
connection with a throughput of just over 2KB per second. A recognizable 176×144 image of Al Gore appeared in
just under ten seconds. It took 25 seconds for the audio and video to begin playing. There were a number of
pauses in the stream as the transfer rate dropped below the required 2.1KB/sec required for 28.8 formatted .viv
files while the buffer refreshed. Because of the TCP based protocol, packets were not dropped. In fact, a browser
reload took the stream from the browser cache, removing the offending pauses.
Recent advances in streaming media products have made deploying streaming media systems easier than ever.
But getting your servers up and running is just the beginning. The first thing you may find after a successful
deployment of streaming media is that the amount of content you have grows very large, very quickly as your
clients discover the benefits of receiving audio and video over the Web. This can swiftly lead to a new kind of
challenge -- how to manage the content on your media servers.
It can also lead to a new kind of opportunity. With a basic content management system, you can let your users
search your video database, play the clips that they find, bookmark interesting video segments, and save clips in
personal collections or playlists. You can also manage delivery by load balancing among servers or directing video
player clients to servers closest to them on the network. In fact, a basic content management system sets the stage
for a whole range of applications built around streaming media.
So how do you build a content management system? First, I'll explain what happens when you click on a video link
on a Web page. Then I'll get into some specific code and database techniques for putting it all together.
All About Metafiles
Streaming media servers, using protocols like Real Time Streaming Protocol (RTSP) offer other advantages. Using
RTSP streaming, users can watch long video files with just a little more than a few seconds worth of video stored
on their hard disks. Streaming servers are optimized for delivering time-based media, time-based seeking into files,
controlling several synchronized streams at once, and for multicasting. If you're building applications around
streaming media, you'll want to use a streaming media server.
The syntax of this instruction file, or metafile, varies among video-server vendors, but all their implementations
share a number of common capabilities. (Also see "Streaming Platform Formats ".) At minimum, this metafile must
identify the server to which the player should connect, and the path and filename of the video file to play. Most
systems allow specification of further parameters, such as the start time of the video file, an end time, a title,
author, or copyright to be displayed by the player, or a default player size. With RealNetworks systems, this
instruction set is contained within a .ram, .rpm, or SMIL file. Using SMIL, the file can also contain complex layout
information that includes images, text, and sequences of media files to play.
A RealNetworks.ram file uses the following syntax:
rtsp://[server]/[filepath]?
where options include start, end, title, copyright, author, and size. For example,
rtsp://server1.ourtvnews.com/
will cause RealPlayer to connect to server1.ourtvnews.com, and play the file called dec01_1999.rm for a minute
and a half, beginning five minutes into the file. The title bar of the player will read "Election News".
Dynamically Generated Metafiles
Load Balancing By randomly selecting the server from a list of all the servers, you can distribute
requests evenly among your servers.
Fault Tolerance If you're continually monitoring the health of your servers, you can stop referring
video requests to an inactive server.
Network Management By doing an IP lookup when a user requests a video, you can direct the user
to a server or group of servers nearest to him or her on the network. For example, if you're streaming MPEG-1 on
an intranet, you may choose to direct video requests to a server on the same subnet as the requesting client, or
direct them to a low-bandwidth server if there are no servers on the user's subnet. (Also see "Online".)
Start & End Times
User Clip Selection & Bookmarking You can let users select and save their favorite video clips,
creating a set of customized bookmarks of their own. These clips can be represented by unique names in the
database, allowing the URLs of favorite videos to be emailed or shared among users.
Video Searching If you have a transcript of your video with the text divided into segments identified
with start and end times, you can let your users search that transcript. The search results can provide URLs that
dynamically generate the metafile with the appropriate start time, letting users play the specific portion of the video
that they were looking for.
A Video Management Application
The sample code here was developed on an Oracle Lite database, using JDBC to access the database, and
JavaServerPages (JSP) 1.0 for the application logic and Web pages. The JSP was handled by the JRun 2.3.3
servlet engine. JSP is a good choice for this task since it's simple, integrates well with other server-side Java code,
and runs on a wide variety of application servers and platforms. Nevertheless, the concepts presented in these
examples could be easily implemented using any database, Perl CGI, or other technologies.
The first essential component we need as part of our system is a way to play any video or a video segment linked
from a URL. But before we can create that, we need to design a database schema that will contain the information
about our video content.
The Data Object A sophisticated management system would have separate database tables to
represent servers, server network interfaces, individual files in each server's inventory, distinct video titles, and so
on. To keep our example simple, we'll use a flat-file database with one table. Our news program for each day is
recorded and encoded as a single RealVideo file. It's not likely that many users will want to watch the entire 30-
minute news broadcast over the Web, so we'll break the program up into brief segments that we can link on our
site. Perhaps we'll have a national news segment, a weather segment, and others. We'll need a way to identify
these segments: a unique name for each segment; the name of the digital video file that the segment comes from;
and the start and end times, relative to the entire file, that denote each segment.
The result is a single database table, called VIDEO_SEGMENT, as described in Example 1.
The internals of this class are not particularly important to the application. What's important is that I've created a
utility class for accessing the data in my database without having to know anything about how it's stored. Now, if I
want to get the data associated with a video segment called dec01_1999_sports3, I can do so by simply
calling
VideoSegment vs =
and then use vs.getTitle(), vs.getDuration(), and so on, to get the fields or that record.
The Player URL
http://www.ourtvnews.com/
Listing One shows the source code for play.jsp. It accepts the segment, start or end parameters provided in the
URL QUERY_STRING and retrieves the data object for that segment. If start and end times are specified in the
QUERY_STRING , play.jsp will play the requested portion of the media file, overriding the start and end time
information in the database. Next, it will select a server at random from the server list, and finally, assemble the
metafile that will direct RealPlayer to launch and connect to the server to play this video. The program uses
response.setContentType("audio/ x-pn-realaudio") to tell the browser which video player to launch. By changing the
content type, we can determine, for example, whether RealPlayer is launched as a separate application or
embedded in the Web page. The last line prints the metafile to the output stream, sending it through the Web
server to the client, where RealPlayer will load it and play the selected video.
With this simple program, we get access to our videos and load balancing among the servers. We've got our video
data in the database where it's accessible via the Web. We can create new playable video segments by simply
adding records to the database. Using our VideoSegment class, it's now easy to create a Web page that will let our
staff add and edit VideoSegment data. To make this really useful, we should let our end users search the data for
the news items of interest to them.
A Simple Search Page
Detailed Searching of Video Content
Still, the video provided on our site is still essentially an opaque block of content. The keyword data provided by our
editorial staff is a very coarse view of the content of any segment. We still can't really look for a specific segment
without watching the entire video to see if it contains what we're looking for.
Video analysis and logging systems are changing that, allowing a whole new type of online video application. Video
and audio loggers, such as the one provided by Virage, "watch" and "listen" to the video, detect scene changes to
generate keyframe images, and use speech-recognition or closed-captioning to generate a transcript. With training,
the system can also learn to recognize faces and voices, providing detailed information about who said what and
when.
The output of the system are data files that contain rows describing start time, end time, and speaker, text, or
image data for that time segment. With this kind of data in our system, we're no longer limited to searching the
formal keyword data for our newscast. Instead of finding all the stories primarily about, say, taxes, we can find all
the specific references that the governor made about taxes. We can see how his or her position has changed over
time, or perhaps see how some comments contradict others. We've made our video into an interactive archive of
information rather than a single, unidirectional clip.
We can enhance our video management application by adding the ability to search the actual transcript of our
nightly newscast. The database table we'll add to our system is shown in Example 2 , where each start time and
end time will be a range of about a minute or so for which the closed captioning data is associated.
We'll also create a Java class, VideoTranscript, to access this data, just as we did for VideoSegment. Finally, we'll
create a page that lets our users search the transcript data.
Conclusion
The EMBED element is a Netscape HTML extension, but it also receives solid support (with some exceptions) in
Internet Explorer 3.x. With the advent of HTML 4.0, the EMBED tag¹s functions will likely be subsumed into the
OBJECT tag, which W3C favors as a generic means of embedding data objects within a page. But for now,
EMBED appears to be the tag most commonly recommended by plug-in vendors.
Because the EMBED tag is evaluated by both the browser and the plug-in, the specifics of its use vary depending
on the media format (and associated plug-in) that you're trying to play back. This article looks at some general
characteristics of the tag that apply across the board and presents examples of how the tag can be used with three
different media-playing plug-ins: RealPlayer, Shockwave, and Beatnik.
EMBED from Square One
EMBED is a single-sided tag (for example, one with no closing tag required) with three required attributes. The
SRC attribute tells the browser the path to the file to be played by the plug-in. WIDTH and HEIGHT specify the
display size of the embedded object (which will not size automatically), either in pixels or as a percentage of the
browser window.
The tag also has several attributes that are optional but are considered standard, meaning that they are supported
by the browser rather than being specific to a given plug-in. ALIGN has the same behavior as in an IMG tag.
HIDDEN determines whether the embedded object is displayed in the page layout, and is commonly used to hide
playback controls for audio files where the sound is included as background ambience. Even when an object is
hidden, its WIDTH and HEIGHT must still be specified (a value of "2" for each is recommended). PLUGINSPAGE
specifies a page where the client can download the required plug-in if it's not already installed in their plug-ins
folder. TYPE, which is supported in Navigator, but not in Explorer, explicitly specifies the MIME type of the
embedded object, overriding any assumption the browser may make based on the filename extension.
On the off chance that some clients may still be using browsers that do not understand the EMBED tag (earlier than
Navigator 2.0), it is good practice to include a NOEMBED tag immediately following each EMBED tag. The open
and close NOEMBED tags are used to surround HTML-an IMG tag, for instance, or a help prompt like that shown
in Example 1 -that will appear as an alternative to the embedded object. Browsers that understand EMBED will
ignore the contents of the subsequent NOEMBED. Earlier browsers will ignore the EMBED and NOEMBED tags,
thus displaying the alternative text or image.
RealPlayer
CONTROLS, a RealPlayer-specific EMBED tag attribute, is used to determine which controls are displayed on a
given page. CONTROLS supports the following values: All, ControlPanel, InfoVolumePanel, InfoPanel,
StatusPanel, StatusBar, PlayButton, StopButton, VolumeSlider, PositionSlider, PositionField, StatusField, and
ImageWindow. Multiple EMBED tags can be used to spread a set of controls around on a page. A set of
components can be linked together to control the same RealAudio or RealVideo clip by using the CONSOLE
attribute to give a common name to each.
Example 2 shows the EMBED tags that would be used to invoke a simple RealPlayer control panel with a start
button, stop button, and volume control. Because these three control components are invoked separately, they do
not necessarily need to be physically contiguous in your page layout. With the AUTOSTART attribute set to true,
the first audio, video, or animation file referenced in the metafile (test.rpm) will start playing as soon as the page is
loaded, without waiting for any user action. The three controls will work together as a single control panel because
the CONSOLE attribute of each is set to the same name (Clip1). (RealNetworks provides a page that lets you
experiment with varied configurations of the RealPlayer controls and see the corresponding EMBED tags; see "
Online.")
Shockwave
To see how this works in practice, let's suppose you're selling CDs over the Web and you want to use Shockwave
to create a customized player for sound clips, allowing customers to hear the music before they buy. If you have a
different page for each artist, you will want different clips available for listening without having to create a different
player for each page. By deriving the list of available clips from the value of attributes in the EMBED tag, you can
create a single player movie that will work for the whole site. As shown in Example 3 (a), the SRC attribute
specifies the path of the player movie, and its WIDTH and HEIGHT correspond to the dimensions of the player
created in Director. The swPreloadTime parameter specifies that the RAM buffer should preload for three seconds
before the clip starts playing, ensuring (hopefully) that fluctuations in the transfer rate won¹t cause interruptions in
audio playback.
In Example 3 (a), the parameters sw1 and sw2 are set as they would be for use with the ready-made movie,
Player.dcr, included as part of the Shockwave Audio developer tools (see "Online "). sw1 controls Shockwave's
debugger mode, and should be set to "off" for final delivery. sw2 sets the movie's autoplay feature; a value of 0
indicates that clips will not begin playing until an end-user action initiates playback.
The values of these three parameters are passed to the movie by using the Lingo shown in
Example 3 (b) as part of the initialization routine in the movie's "on startMovie" handler. When a page loads and the
SRC attribute in the EMBED tag refers to a .dcr file, the Shockwave plug-in is loaded and starts playing the movie,
which executes the handler.
Beatnik
Like RealPlayer and Shockwave, Beatnik uses its own set of specialized attributes for the EMBED tag. The
DISPLAY and MODE attributes determine the appearance of the Beatnik control panel on the page. Options
include a full transport, a global mute button, song and copyright information, and meters. The plug-in also supports
VOLUME control (on a scale of 0-100) and AUTOSTART. The LOOP attribute allows a file to repeat indefinitely,
which could be an important feature in ambient settings, while the ONREADY attribute is used to specify a
JavaScript function that should be executed when the plug-in has finished loading its file.
Perhaps the most intriguing attribute in the Beatnik repertoire is GROOVOID. Groovoids are ready-made musical
pieces that are built right in to the Beatnik plug-in and are thus ready for instantaneous playback. The 48 Groovoids
are divided into five categories: User Interface, Hits, Fanfare, Background, and Misc. The GROOVOID attribute
overrides the file specified in the SRC attribute, but SRC must still be specified with a stub (empty) file or the
Beatnik plug-in will not load. The TYPE attribute should always be set to "audio/rmf" when using Groovoids.
Despite its unique features, Beatnik is not the most widely distributed plug-in in the world, so if you intend to rely on
Groovoids or to take advantage of all the interactive features of Beatnik's musicObject JavaScript library, you will
face a bit of a dilemma. On the one hand, you want as many of your visitors as possible to use the plug-in; on the
other, you don't want to alienate those whose browsers don't support it. With that in mind, the HTML shown in
Example 4 , which uses JavaScript to actually write the EMBED tag into the page, is recommended to invoke
Beatnik. According to Headspace, this formulation will specifically require users who don't have the plug-in to
download it first, "without the risk of compromising the experience for users of browsers that don't support
Netscape plug-ins, are not JavaScript-savvy, [or] are not LiveConnect-enabled."
EncodeNow commercial services
fundamentals
Humming Along with the Web
Getting the Lingo Right
Feb. 2000 Lincoln D. SteinWebTechniques
There's a whole world of technology involved in capturing audio data from CDs, compressing them into
manageably sized files, and serving them over the Internet. With that world comes a small glossary of jargon.
Because no digital-to-analog conversion is involved, a ripped CD track is essentially an exact copy of what is on the
CD. When played back through good speakers, it has the same fidelity as the original CD and can be copied as
many times as you wish without any loss of quality. There's only one drawback: Ripped sound files are quite
large‹about 10MB per minute! For this reason, most people will want to compress sound files to a more
manageable size.
For example, the compression algorithm might throw away some data during a particularly loud and diffused
section of the sample, such as the drum solo, but retain more data during a section dominated by precise vocals.
The rules used to determine which information to retain are known as the psychoacoustic model, and the process
of compressing the sound file is called encoding. (Read more about
audio encoding in the August 1997 issue.) Naturally enough, the software that plays the encoded sound file is
called a decoder, although more often it's just called a player.
See the "Online" box for a long, but far from definitive list of CD rippers, MP3 encoders, players, and
streamers.
Entering the ID3 Information. To begin, I fired up Grip and inserted Elisa's CD, getting the display shown in
Figure 1 , in which each track has an anonymous title ("Track x") and length. My first step was to check whether
this CD was already registered with the CDDB database by clicking on the "network" icon. However, as I expected
for a new release, the lookup was unsuccessful. The next step was to enter the information manually. Clicking on
the "pencil" icon brought up a new frame that prompted me to enter the information from the CD liner notes. When I
was finished, I saved the information to disk so that Grip would find it automatically next time I inserted this CD. I
also submitted this information to freedb.org by clicking on a strategically placed "envelope" icon.
Example 1. The first line contains the text [playlist] and is followed by a mandatory blank line. Beneath this is a field
labeled NumberOfEntries= that indicates the number of URLs in the playlist, followed by a series of FileX= lines
containing the URLs to stream, where X indicates the position of the URL in the playlist series (counting upwards
from 1). A typical downloadable playlist will contain a single URL only, as in Example 1.
Modifying the link to be streamable was just a matter of creating the playlist with a text editor and saving it under
the name "Imbolc.pls." I then modified the download link to point to Imbolc.pls rather than directly to Imbolc.mp3,
and configured the server to associate the .pls extension with MIME-type audio/mpegurl. The result was very
gratifying. I was able to listen to the MP3 streams using the Windows-based MP3 player WinAmp, the Linux-based
XMMS, and the freeware Macintosh product, GrayAmp.
Systems for Live Webcasting
A minimal Webcasting system includes an encoder and a server. More elaborate systems may include multiple
encoders and/or multiple servers, with some being used in replication mode.
Aug. 1997 WebTechniques
The following setups for live Webcasting use today's common unicast (non-multicast) technologies.
Having multiple encoders permits different programs or bit rates to be transmitted simultaneously.
Streaming without a Media Server
Although major media-server companies such as Progressive Networks, VDO, Microsoft, and Netscape supply
their own encoding software, not all resulting file formats require a special server. For instance, Vivo, which
specializes in serverless streaming, has just announced version 2.0 of their streaming production tool VivoActive.
Positioned to provide video over standard HTTP and also work with the major media servers on the market, the
product takes as standard input MooV, AIIF, AVI, and WAV files and converts them to a format that can be
embedded directly into Web pages as streamed video.
Aug. 1997 WebTechniques
According to Vivo statistics, the installed base of streaming media servers on the Internet at the end of 1995 was
about 50. At the end of 1996, about 750 sites used Vivo and an additional 250 or so used dedicated media servers.
At the end of first quarter of 1997, those figures had grown to over 1700 Vivo-enabled sites and about 400 sites
using media servers. The company claims an average of 30,000 to 35,000 downloads a day, or a million a month.
Interestingly, ActiveX downloads (60 percent) are outpacing Netscape plug-in downloads (40 percent), while it's
estimated that 70 percent of users browse with Navigator versus 20 percent with Internet Explorer. Zaballos
surmises that it's because video technology really requires a 32-bit OS, skewing the distribution toward Windows
95 and hence IE. Or, it may be a result of the ease of adding an IE ActiveX control as compared to the Netscape
model of plug-ins.
In addition to sound quality and frame size, compromises between frame rate and data rate can be made during
production to affect the overall size of the stream.
For a specific page, videoname.viv is replaced with the absolute or relative path to the VivoActive video, and www
and hhh are replaced with the actual width and height of the video being embedded.
The values for AUTOSTART, VIDEOCONTROLS, WIDTH and HEIGHT can also be changed, but must be
changed in two places to affect both Navigator and Internet Explorer.
coding
Delivering Streaming Media
Early in the evolution of the World Wide Web, database-driven sites consisting of dynamically generated Web
pages began replacing Web sites made up of static pages. This was when we started to see the idea of static Web
sites give way to the richness and interactivity of Web applications. (See "Plugging in to Hosted Applications ,"
November 1999.) Serving pages on the fly from a database allowed whole new ways of delivering information
customized for the user. A similar revolution in delivering streaming media is underway.
Managing Dynamic Content for a Changing Web
Dec. 1999 Larry Bouthillier WebTechniques
If you're using your Web server to serve up your video, then the process is simple. The link on your page points
directly to the video file you want to serve. When the user clicks on the link, the Web server responds with a MIME-
type header that launches the video player, and then sends the entire video file down to the client via HTTP.
This is a simple, inexpensive way to serve your video, and is appropriate for some purposes. High-quality video
files require too much bandwidth for users on slower network connections, such as modems, to stream in real time.
If your users are likely to want high-quality video, are willing to wait for it to download, and are willing (or eager) to
save it on their hard disks, then a downloadable video clip may be a good choice. A good example is the recent
Star Wars Episode I movie trailer made available as a downloadable QuickTime file. Fans were willing to wait for a
long download to get a top-quality file they could play over and over again. Linking video this way can also be used
for HTTP streaming, in which the player can begin to play the video, even before it has finished downloading to the
local system.
However, when you're using a streaming media server to serve your video, a different and more complex sequence
of events takes place when a user clicks a video link on a Web page. First, the request reaches the Web server,
which responds with a MIME-type header that launches the video player, followed by a short text file that directs
the video player to a media server to play the requested video. In short, the link you click on the page is not a link to
a video file, but a link to a set of instructions for your video player application.
[option1]&[option2]&[...]
dec01_1999.rm?start="05:00"&end=
"06:30"&title="Election News"
The heart of a streaming media management system is in the ability to generate these metafiles on the fly from a
database. Generating metafiles dynamically can turn simple streaming media content into interactive streaming
media applications. The metafile contains critical information about the what, (from) where, and how of the video
playback. Generating these files on the fly gives the management application complete control over the delivery of
video.
Refer back to the elements of a .ram file. Each element that your application generates provides added features to
the management system. The following are some examples of how these can be used.
Server Section
Clip Editing By keeping start time and end time data in the database, you can create new video clips
of portions of an existing video. You may have separate links to different parts of a presentation, or to the highlights
of an interview.
Of course, once your video metadata is in the database and accessible via the Web, you can perform video
inventory management and other housekeeping tasks, as well as offer users basic keyword searching and
browsing of your video library.
To illustrate the possibilities of a simple video management application, we'll construct an online video library for a
hypothetical TV news broadcast organization. The goal is to let the general public access online newscast video via
the Web, and offer some compelling capabilities that the live TV broadcast doesn't offer. We'll let users play
selected clips from the newscast, search for particular topics and reports, and later, search through the transcripts
of the newscast to find segments of interest.
To provide easy access to the data in this table, I've created a Java data object that represents one row of this
table. The online listing, VideoSegment.java, displays a portion of this file. (All of this issue's program listings can
be downloaded from www.webtechniques.com/sourcecode.) This class contains data members for each column in
the table, along with a constructor that accepts the unique SEGMENT_ID as its argument, and queries the
database for the matching record. It also contains a static byCustomQuery(String) method that accepts a SQL
WHERE clause and returns a vector of matching VideoSegment objects, update(), insert(), and delete() methods,
and getXXX() and setXXX() methods for each column.
new VideoSegment
("dec01_1999_sports3");
The video player URL is called play.jsp, and offers users the ability to play any video file or segment and specify
start and end times, if desired. The hypothetical news organization's Webmaster could provide users with a link to a
specific portion of the nightly newscast using a URL such as:
play.jsp?segment=dec01_1999_sports3
Figure 1 shows an example of the Web search page. Users can search for stories that include certain keywords, or
they can list all the stories for a given air date; the search-results page lists some basic information for the found
records. It also includes links that play any found video segments.
Listing Two shows how this is done. Lines 41 and 52 to 62 use the VideoSegment class to get and display our
data. But perhaps the most important line in this listing is line 60, where JSP is used to create the link that lets the
users play this video segment.
Video traditionally has been a linear medium. When people watch a television program, they pretty much have to
start at the beginning and watch an entire program if they don't want to miss anything. Looking for a particular
reference or comment means watching the entire program from beginning to end. The simple search page that
we've just built offers one step better -- the ability for users to find preselected video content on demand.
Since a VIDEO_TRANSCRIPT record refers to the entire video file that was logged, the SEGMENT_ID used here
will have to refer a VideoSegment we've created that represents the entire video file. This way, the start time and
end time referenced in this table will jibe with those in the VideoSegment table. For instance, in our earlier example,
we referred to a segment called dec01_1999_sports3. For purposes of this VIDEO_TRANSCRIPT example, we'll
assume that a dec01_1999 segment exists that will play the entire program from that day, and that all of our
VideoTranscript records for that program list dec01_1999 as the SEGMENT_ID.
Listing Three, search_transcript.jsp, is similar to our earlier search.jsp page. Here again, on line 30 we do the
search using our VideoTranscript class. On lines 41 to 53 we print out the results of our search, including linking
the URL that plays this video segment.
Figure 2 shows the search results.
Generally, users of streaming video aren't willing to log on and watch lengthy video presentations, at low frame
rates, in a 320x240 window on their screens. For those used to broadcast television on a large screen, streaming
media has a long way to go to be a really satisfying experience. Just as the advent of online documentation hasn't
eliminated the need or desire for good old-fashioned paper books, streaming media won't replace broadcast
television anytime soon.
But like online documentation, streaming, combined with a Web-based content management application, offers
many advantages that broadcast can't. It provides entirely new ways of using and watching video, a few of which
we've touched upon in this article. Breaking video down into short segments, allowing searching and random
access to content, and providing customization, sharing, and bookmarking of content are the revolutionary
strengths that streaming media applications provide.
Web Animation, Audio, and Video with EMBED HTML Coder
The proliferation of formats for Web audio, animation, and video has made it impossible for vendors to integrate all-
inclusive multimedia playback capabilities directly into their browsers. However, proponents of various media
formats have developed their own plug-ins that work with browsers to deliver media to clients. If you plan to include
multimedia in your pages, you'll want to become familiar with the EMBED tag, the most common means of invoking
these plug-ins, directing them to media files, and specifying the conditions of display and playback.
April 1998 Philip De Lancie WebTechniques
The first implementation of streaming media to really catch on was RealAudio from RealNetworks, and it continues
to be the most popular streaming-audio format. The company's current flagship products on the client side-
RealPlayer 5.0 and RealPlayer Plus-play RealAudio, RealVideo, and RealFlash (vector animation) files. RealPlayer
is available not only as a standalone control panel that stays open in a separate window, but also as an
embeddable plug-in (for Navigator and Explorer) and an ActiveX control (for Explorer and Visual Basic). This allows
individual control-panel components to be placed directly into Web pages for a more tightly integrated look When
used with RealPlayer, the SRC attribute of the EMBED tag does not actually point to the audio, video, or animation
file to be played. Instead, RealNetworks has set up a system in which SRC refers to a "metafile" (designated by the
.rpm extension), which the plug-in reads to find the URL of the desired file. A playlist of files that will play one after
the other may be created simply by using a metafile containing several URLs on separate lines with no intervening
blank lines.
As you likely know, Macromedia's Shockwave supports the playback of documents created in the company's
multimedia-authoring tools, including Director, Authorware, and Flash. One of the more interesting features of
Shockwave's use of the EMBED tag is that values can be handed off from the tag to the movie, where they can
then be used by the movie's internal scripts, which are written in Director's Lingo scripting language. Shockwave
supports more than 20 special attributes, or external parameters as Macromedia calls them, in the EMBED tag.
While many of these parameters are reserved for a specific use, ten user-defined containers are provided. They
may hold any string to pass from the page to a variable in the movie.
Example 3 (a) uses three external parameters to pass page-specific information to the player. sw3 gives the path to
the folder containing the audio clips. sw4 is a comma-delimited list of the four individual clips available for listening
on this page (the filenames here are made up of the imaginary catalog number of each clip's source CD followed by
its track number). The .swa extension indicates that the files are in Shockwave Audio format. swList contains the
titles of the four songs.
The chunk of Lingo shown evaluates sw3, sw4, and swList and stores their values as the variables audioPath,
audioNames, and audioTitles, respectively. It then concatenates audioPath and the first item of audioNames into
the variable audioFile, and uses audioFile to set the URL property of the movie's sound cast member (named
"SoundClip"). This readies the movie to start streaming the first .swa file in response to an end-user action such as
pressing a play button. Finally, the repeat loop takes the song titles from audioTitles and writes them to a field (cast
member "TitleList") where they can be displayed to the end user.
An alternative way to add ambient or background music to a site is offered by Beatnik, developed by Headspace.
Beatnik is not a streaming technology; files are downloaded to the client's hard drive before they play. But as a
sample-based synthesizer module in software, the Beatnik plug-in's main advantage is that it plays MIDI files and
Headspace's own related but proprietary .rmf format. These formats use files that are only a fraction of the size of
digital audio files, so they can download and start playing very rapidly. Using JavaScript, .rmf files can be designed
to alter instrumentation, tempo, and other characteristics interactively in response to user actions, an effect beyond
the capabilities of streaming-audio formats.
licensing
Electronic Freedom Fdtn Campaign for Audiovisual Free Expression Open Audio License
"Content owners like the fact that we have an end-to-end solution," said Michael Aldridge, lead product manager for
Microsoft's digital media division. "That's the mission of Microsoft. We want to enable our partners to thrive with
viable online businesses." Those partners include video-on-demand services like Intertainer and EMI, one of the
five major record labels. But where Microsoft goes, RealNetworks is sure to follow, including into the standards
creation business. On Wednesday, Real announced it would be working to create an open standard for content
delivery. "RealNetworks has a simple mission to turn the Internet into the next great mass medium," said Real CEO
Rob Glaser. "There needs to be a standard set of rules that business models are made of, and technology then
needs to be a speed bump that moves people towards following the rules."
RealNetworks is hoping to sell companies on delivering content using its Media Commerce Suite, a proprietary
business format that only uses Real media formats. To launch its product, Real has direct access to its Gold Pass
subscription service which has over 200,000 paying subscribers and its MusicNet service that will deliver music
from three major labels starting late this summer. However, Schaff said the early dominance by Microsoft on the
personal computer and with Real's subscription services, the consumer electronics companies will eventually take
control of the standards movement. Consumer electronics companies have a much better record at developing
industry standards than digital media companies.
Nearly every electronic device in the home, including the television and radio, exists because consumers
electronics companies decided to work with a standard delivery format that was not proprietary. That's why
consumers can watch television, and not Sony television or Panasonic television. The agreement between
companies also allows consumer electronics developers to create a viable business sector that brings in billions of
dollars each year. ISMA hopes to use that past success in the creation of the new standard for streaming
companies. "The economics in the consumer electronics space are really clear," said Schaff. "Streaming media
companies aren't making money, and the electronics industry has some great business models."
To gain access to an MP3 recording stored on My.MP3.com, users had to prove that they already owned a copy of
the CD. They could do this in either of two ways. Under the "Instant Listening Service" users could buy the physical
CD from one of MP3.com's online retail partners, in which case MP3.com would be notified that the user was now a
legitimate owner of the CD. Under the "Beam-It Service," a user could briefly place the CD into his or her
computer's CD player so that MP3.com software could read the CD's signature and confirm that the user had
physical access to the disc. Either way, the user was then granted permission to log in to the My.MP3.com service
and listen to the songs that CD contained.
Shortly after the service was launched, RIAA, which represents recording artists and many of the world's major
record labels, launched a lawsuit claiming blatant copyright infringement. RIAA's central argument was that
MP3.com made unauthorized copies of copyrighted works and distributed them to thousands of listeners via its
servers without paying a penny of royalties to the artists or record labels. Three months later, in a terse ten-page
opinion, U.S. District Judge Jed Rakoff ruled in favor of RIAA, opening the way for billion dollar damages and
sending MP3.com's stock into a 40 percent decline.
The opinion, which you can find reproduced in electronic form on the RIAA Web site, makes for interesting reading.
In its defense, MP3.com tried several arguments, including an appeal to the "fair use" doctrine, a convention that
allows journalists and educators to make excerpts of copyrighted material for use in their own creative work, and an
argument that they were in fact forestalling piracy by facilitating Internet-based music distribution. These arguments
were dealt with at length by the judge and were ultimately dismissed.
MP3.com's most interesting argument, however, was its first and central one: that the service was equivalent to
storing subscribers' CDs online so that they could access them conveniently over the Internet. The judge didn't buy
this argument for a moment, and dismissed it with one sentence. After describing how My.MP3.com works, he
wrote:
Thus, although defendant seeks to portray its service as the "functional equivalent" of storing its subscribers' CDs,
in actuality defendant is replaying for the subscribers converted versions of the recordings it copied, without
authorization, from plaintiffs' copyrighted CDs.
In other words, MP3.com tried to argue that it was running a safety deposit box service for its subscribers, which
would not have violated copyright. Judge Rakoff saw through this, rightly seeing the service for what it was: a
savings account in which only the information on ownership was stored, not the thing itself.
When Is a Bit Not a Bit?
After a little background reading on U.S. copyright law, including a wonderful cyberlaw module sponsored by
Harvard University, I've come to the conclusion that RIAA and the district judge are probably right on this issue.
You can't go around making copies of CDs and sharing them with others, even if you have pretty strong proof that
they have their own copies (RIAA argued that people could borrow CDs from their friends long enough to use the
"Beam-It" service, but that doesn't seem to have played a role in the court's decision). It may be legal for you to
make a copy of a music cassette on your home tape recorder, but it isn't legal for a commercial service to make the
copy for you.
However, there's a troublesome inconsistency hiding in the current copyright law, and you only need to push a little
to find it.
Scenario 1 Say you've bought a CD, and you use a popular ripper and MP3 encoder to make a
digital copy of one of its tracks for your own personal use. No problem. The copyright law lets you do this.
Scenario 2 You copy this track to your pocket MP3 player and take it with you while jogging. Still no
problem.
Scenario 3 You copy the track to your personal Web server, and protect it with a password so that
only you can get at it. Now by fetching the URL and providing the correct password, you can listen to the song from
anywhere you want on the Internet. (Yes, you can do thisjust move the MP3 file into the Web server document
tree.) As far as the law is concerned, this is still above board.
Scenario 4 The number of MP3 files you're storing on your home machine starts to get out of hand,
so you upload your MP3 collection to a commercial service that rents Internet-attached storage space. Now you
can listen to your MP3s from anywhere on the Internet without worrying that the next Love Bug virus is going to
gobble up your files. This is getting trickier, but it's still OK. After all, if it weren't legal, then Internet-attached
storage services would also be prohibited from storing copyrighted software and most other types of files.
Scenario 5 The storage service notices that hundreds of users have all uploaded MP3 files ripped
from the same CD and encoded with the same MP3 encoding softwareidentical in every way. This is vastly
inefficient, so the service uses a disk compression algorithm to consolidate the hundreds of copies into a single
copy, and then makes links from each user's personal space back to the central copy. This is now looking less like
a safe-deposit box system and more like a savings account. The distinction between each user's copy of an MP3
has been lost, and instead it is the ownership accounting information that matters. Has the line been crossed now?
Surely not. At most the company can be accused of willfully destroying its customers' files, not of making
unauthorized copies.
Scenario 6 The storage service one day notices that 99 percent of its service is used for clients'
MP3s, and that in fact it has accidentally amassed a huge database of titles. The Spice Girls have just released a
new album and the service knows from experience that it will see a great wave of uploads over the next week.
Rather than accepting each upload one by one and compressing it into a unique copy later, the service takes the
proactive stance of buying, ripping, and MP3-encoding the CD itself. Now, when users try to upload an MP3 that's
already online, the service recognizes this fact and acknowledges the complete transfer as it's starting, simply
recording the fact that the user deposited the MP3 into his or her account. Users are astonished and pleased that
the service is so fast, and as far as they can tell "their" MP3 has been deposited to their account. Is this illegal?
Damn right, because the court says so. This is exactly the sort of thing that My.MP3.com tried to do.
The bothersome thing about this is that Scenarios 5 and 6 have identical outcomes. In both cases the storage
service maintains a file system filled with unique MP3 files and keeps track of who owns what. Yet Scenario 6 is
illegal, while Scenario 5 is not. The legally minded among my readers will point out that it is possible for two people
to reach the same station in life, one by honest work and the other by criminal activity, and that doesn't make them
morally equivalent. But if the essential illegal activity in the last scenario is the "unauthorized copying" of the song
files, isn't the company committing the same crime in Scenario 5 when it performs routine backups of its
system?
What if, instead of ripping the Spice Girls album itself, the service just waited for the first user to upload his or her
digitized copy, and then used that copy to satisfy all subsequent storage requests? This is somewhere between the
two scenarios, and I can't for the life of me decide whether or not it's an infringing activity.
Homeopathic Law
To avoid falling into this type of reductio ad absurdum, the law has to make a distinction between "my" MP3 file and
"yours." Even though the two files are identical in name and content, they're not equivalent and can't be
interchanged without violating copyright law. It's the same thinking that led me to believe that my silver certificate
would be held safe for me in the bank vault.
Streambox commercial streaming product
USB-based flash memory device called the DiskOnKey , and it's an excellent answer for people who
always need to carry certain files with them, but don't want to carry an entire computer. You can also use it to easily
move larger files from one machine to another--something I've already done a number of times around my office.
DiskOnKey, which is available in sizes from 8MB to 32MB (with up to
512MB expected later this year), attaches directly to the computer's USB port, from which it draws a tiny amount of
operating current to run its on-board CPU and warm up the memory. The device is about 4 inches long and 3/4
inch across at its widest part, making at a great key fob. Manufacturer M-
Systems, says DiskOnKey has been fully ruggedized. Prices for the current models range from $40 to
$90.
The first one I saw was IBM-branded and Big Blue sells the 8MB version (only) from its Web site, where it's called
the MemoryKey. You can also purchase all the sizes from the Dell site. To the computer, DiskOnKey looks like a
small removable drive. And it works just like you'd expect--I was able to easily read and write files using the device.
I also used it to move files from one computer to another, from one operating system to another, and from Windows
to Mac and vice versa. Since my e-mail, calendar, and schedule are already available via Web browser, the
concept of living without a PC of my own for a week becomes quite intriguing. Add the Kyocera and perhaps the
Research In Motion (RIM) BlackBerry and I'm pretty well set. I'll use a walk-up PC (or someone else's) to write and
file my columns--using the magic key chain for storage. DiskOnKey is supported as a plug-and-play device by
Windows 2000, Me, CE 3.0, Mac OS 9, and Linux 2.4.0. Windows 98 requires a driver, available on the company's
Web site.
video
Yahoo Adds Video to Instant Messages
SAN JOSE, CA Yahoo! Inc. is adding video capabilities to its instant messaging service as it tries to avoid being left in the dust by America
Online and Microsoft. Instant messaging is one of the Internet's most popular activities because it lets users chat in
real time. Some services enable voice transmissions with the messages, but Yahoo is the first to add a video
feature for people with Web cameras. The images will come through at one frame per second, far from the quality
of live streaming video, but enough to let users express more emotion in their messages, said Lisa Pollock,
Yahoo's director of messaging products. "This is a really important initiative for us,'' she said. "We're really excited
about it.''
6.26.01 AP
Text & audio aspects of the messages will work the same as before, whether the free video function is used.
Pollock said the video should work even on relatively slow dial-up connections. Sunnyvale-based Yahoo counts
192 million registered users, more than any Internet site in the world. But its instant-messaging application has
slipped to third, with 11.8 million users in May, according to Jupiter Media Metrix. AOL's downloadable instant-
messaging application had 25.5 million and Microsoft's service on the MSN network had 18.4 million.
Jupiter Media Metrix analyst Nicole Lewis said the video capability is unlikely to win over significant numbers of people, since only 14 percent of Internet users have Webcams. "Yahoo's getting a little panicky, because they've quickly become the third-place player in a what was a three-way battle but is becoming a two-way battle,'' she said. MSN hasn't disclosed plans for video functions on its messaging service. However, Microsoft said this month that Windows XP, the upgraded operating system coming out in October, will come with a new instant messaging program that will support video feeds. An AOL spokeswoman did not return a call seeking comment. s part of the initiative, Yahoo is working with Logitech Inc., which sold 4 million Webcams last year. Beginning next month, new Logitech cameras will include Yahoo's messaging software.
Oppenheim said this was false and that Aimster is much like Napster. Earlier Monday, Napster was denied its
request for a rehearing of the RIAA's lawsuit, which resulted in a crippling injunction against the company.
Napster first requested the rehearing in February after a three-judge panel in the U.S. Court of Appeals for the
9th Circuit ruled that the company was infringing on copyrights. It directed U.S. District Court Judge Marilyn
Hall Patel to issue an injunction against Napster. In granting the injunction, the appeals court held that
Napster would most likely lose its case at trial and would be held accountable for any copyright infringements
that have occurred within its system. Napster lawyers requested an en banc hearing, which would enable the
full 11-judge panel to review Patel's injunction. Patel then issued the injunction on March 5, barring Napster
from allowing the trading of copyrighted songs on its service.
With the RIAA as their legal guiding force, the world's biggest record labels -- including Vivendi Universal's
Universal Music, Sony Music, Warner Music, EMI Group and Bertelsmann's BMG -- first sued Napster in
December 1999, claiming it was a haven for copyright piracy that would cost them billions of dollars in lost
music sales. Since the original ruling, both the RIAA and Napster have gone back and forth over technical
issues relating to a song-blocking filter that would exclude copyrighted materials from appearing on the file-
trading network. The filter has hurt Napster from a consumer perspective, as simultaneous users dropped to
840,000 in May, down from a high of 1.5 million users just three months before, according to Internet
research firm Webnoize. The company is continuing to develop its filtering technology under the watchful eye
of a district court, while also working to develop a licensed version of its service under Bertelsmann. The
German media company entered into an alliance with Napster to help the company develop a secure, file-
trading network.
But finding music on Napster is getting more difficult. With Monday's ruling, the legal noose is tightening
further around the neck of the renegade company. However, things could suddenly change for Napster, with
the Aimster ruling. Aimster's Deep is optimistic the fate of his company will be different from that of Napster.
"It's a whole new ballgame on the east coast," Deep said on Monday. "It's a war but it's a different war," he
said.
6.28.01 Josh Fineman Bloomberg News
San Mateo CA Napster Inc.'s latest software allows little or no sharing of copyrighted song files on its
music-sharing Web site, which will further reduce usage, online-music researcher Webnoize said. Users of the
newest version of Napster, introduced Friday, are sharing an average of 1.5 songs, down from a peak of 220 songs
per user in February, Webnoize said. The newest version has audio-fingerprinting technology to stop transfers of
copyrighted songs. AOL Time Warner Inc., Sony Corp., Bertelsmann AG, EMI Group Plc and Vivendi Universal SA
sued Napster in 1999, saying it facilitated copyright infringement by users who downloaded billions of songs without
paying a dime. A federal judge in March forced the company to adopt screening technologies that made it more
difficult for users to find copyrighted music to swap. "By further reducing the music available through the current
service, Napster has provided another nail in the coffin of the service consumers originally loved," said Matt Bailey,
the Webnoize analyst who led a study of the new version. Napster's users have dropped from more than 60 million in February. The San Mateo, California-based company is trying to transform itself into a subscription-based business, where customers pay instead of swapping songs for free. The latest software scans songs on a user's computer hard drive to get a "fingerprint" of each track, Webnoize said. The fingerprints are then compared with a database of licensed music to determine which songs can be shared with other Napster users. The number of users logged on the Napster network at 10 a.m. New York time today was 320,000, compared with an average of 1.57 million simultaneous users in February, the study said. Napster earlier this month said it will become an affiliate of MusicNet, a joint venture to sell music over the Internet that was formed by AOL Time Warner, EMI and Bertelsmann. MusicNet will complete with Pressplay, an online music service from Sony and Vivendi Universal. |
Napster finds old space crowded 6.26.01 Brad King Wired News
The two biggest names in file sharing continue to move toward security-wrapped subscription models even as
free alternatives continue to appear. Both Napster and Scour took the online world by storm in 1999, offering
users the opportunity to find and trade music and movie files with the simple click of a mouse. Neither service
charged users for the experience, prompting millions of people to gravitate toward the networks. 2 years
& 2 major lawsuits later, both companies face the daunting tasks of creating similar file-trading systems
while trying to entice users to pay subscriptions fees to join. Napster continues to develop its subscription-
based service as it hones its court-ordered filtering technology designed to keep copyright music off its
network. With deals in place with MusicNet ¹, which has access
to music from EMI, Warner Music, BMG and Europe's Association of Independent Musicians, Napster officials
hope to launch the pay service by the end of summer.
Scour, the lesser-known service that offered users the opportunity to search for movie files as well as music
files, faces a much tougher road. It was forced into bankruptcy court when the film and recording industries
jointly sued the service last year, and its assets were purchased by CenterSpan Communications. Now,
without the backing of a major media conglomerate like Bertelsmann AG, which funded Napster with $50
million, or content deals from major studios or record labels, the service continues to limp toward launching a
secure file-trading network. Instead of chasing after expensive mainstream content as Napster has done,
CenterSpan executives hope to build the Scour Exchange around a targeted demographic of 16- to 35-year-
olds who like action-oriented movies, hip-hop and alternative music. "We want to keep the site fresh with content and then expand our user base," said Steve Frison, CenterSpan Communication's president. "We're in this for the long term so we'd rather get this done correctly, and the economics for the company, long term, have to be right." Frison offered no details on what the new service might be; however, it will be using the Microsoft digital rights management system. The |
The deal gives Napster access to hundreds of thousands of tracks in Europe, with plans to expand the rights
worldwide. However, FLIPR managed to accomplish something that few organizations -– peer-to-peer or not -–
have been able to pull off: to convince a music publisher to sign off on a deal. Hoping to build a service that
focuses on hip-hop and electronica, FLIPR signed a deal with SODRAC, which handles licensing rights in
Canada for the likes of Cherry Lane, Editorial Avenue and many more. The rights organization represents
millions of international titles. "The goal is to establish a relationship with the independent music culture," said
Daniel Webster, FLIPR's executive director of product development. "Our belief is that file-sharing is going to
develop into the same kind of service as radio." They even control Canadian rights for music from Sony and
Universal, two major labels that recently created a music subscription service called PressPlay. PressPlay will
be distributed through Yahoo when it goes live later this year. More impressive is the fact that this network
won't be bogged down with digital rights management systems that American record labels have demanded.
"We don't believe that the behavior over the last year indicates that DRM is how the public is going to use
these types of file-trading services," Webster said.
That doesn't mean that users will be trading their music in complete anonymity, though. Each song being
traded on the network will be marked with a unique ID so that it can be tracked as it is distributed from
person to person, allowing music labels to know exactly who is listening to their music. The concept is called
super distribution and has been championed by such digital rights management companies as InterTrust ¹ and Microsoft as a way to get music fans to market their favorite
artists. In the DRM version of super distribution, files are wrapped with a digital lock that can only be opened
once the content has been paid for. If the first user then allows the song to be downloaded by someone else,
the recipient would also have to pay. That would be done by logging on to a retail site that provides the file's
key, for a price. The FLIPR system won't force music consumers to pay for music that they have downloaded
from other people on the file-trading network. Instead, the company hopes to make money by charging
subscriptions, pulling in advertising and sharing revenues with online retailers.
Although still in a semi-private beta-testing period, the Canadian company will start paying 4 cents per song
download beginning next month, split equally between the songwriters and music labels. Industry pundits
have scoffed at many publishing licensing deals signed by companies like Musicbank, claiming the costs of
paying for the licenses would far exceed any actual revenues that could be generated by such services.
Investors have been shy about throwing money towards such systems as well, forcing Musicbank to shutter its
service while still in beta testing when it failed to raise enough funding to continue operations. At its height,
Napster had 70 million unique users who were estimated to have traded over 3 billion files a month. If Napster
had paid out on a similar scale, they would have faced a $120 million bill just for the publishing rights. If the
FLIPR network takes off, it could face staggering operation costs. Webster said that its subscription service
would run somewhere between $3-$20 per month.
Scour, Gnutella, et al ¹
Napster Wannabes: Pick Me!
Napster is croaking on its deathbed and the ambulance chasers are starting to turn out in force. As the
recording industry continues to squeeze the life out of Napster, a number of competitors are hoping to
cash in on the publicity surrounding the deathwatch. Hoping to snare the interest of reporters looking for
fresh angles on Monday, right after the first Napster filters were implemented, a couple of companies put
out press releases promoting their own, invariably legal, Napster alternatives. "Cantametrix partners with
Wippit to offer secure legal MP3 file sharing service," trumpeted a hot-off-the-presses news release from
Cantametrix ¹ and Wippit ¹, an obscure digital rights management firm and an obscure peer-to-peer file
sharing service, respectively. The release was published first thing Monday morning, suggesting the company
worked all weekend in the hope of grabbing some attention during Monday's search for fresh Napster stories.
"Wippit will support not only the established stars of today but also the stars of tomorrow by slashing the costs
of distributing music to the bare minimum and offering an alternative for music loving Internet users that the
recording industry can actually profit from," the release eloquently said.
3.5.01 Wired News Report
Real Networks, the Seattle publisher of shoddy, invasive streaming software, offered up its CEO, Rob Glaser, as a
talking head to anyone willing to listen. On24, a business-oriented news channel, took the bait, allowing Glaser to
proclaim Napster's imminent doom and trumpet Real Networks as "the real winner." Over the border, a Canadian
startup announced it was working on a new file-sharing system with royalty payments elegantly named FLIPR, for
Future License of Intellectual Properties Registry. "FLIPR Launches Legitimate File Sharing to Labels; Viable P2P
Business Model Supersedes Napster," the release said. But all of the above were beaten by Lime Wire ¹, publisher of a hot new Gnutella client, a not-so-legal Napster alternative.
The fledgling company put out a release early last week saying it was anticipating a surge of downloads and was
adding extra servers. The release began by hinting that the Gnutella network, which is actually implemented in
software like Lime Wire's, was invulnerable to the legal challenges that are smothering Napster. "Unlike other peer-
to-peer solutions such as Napster, the Gnutella network is not controlled by a single entity and does not operate
from a central point," the release said, implying that because the network is decentralized, it's immune from being
shut down.
But the release soon spun out of control. "While often compared to Napster, Gnutella has potential far greater than
simply sharing MP3 files," the release added. "Gnutella is one of the most interesting and sophisticated computing
problems today," the release quoted its own CEO, Mark Gorton, as saying. "We hope that Lime Wire will help
attract academic interest and research to the network," he continued. "File-sharing is just the tip of the iceberg --
the Gnutella network has the potential to become an alternative not just to Napster, but to the World Wide Web
itself."
| presented by § |
OCIAL JUSTICE |