Several years ago, one of the most successful radio stations in North America was
CKLW in Windsor/Detroit. Innovative, technically superb audio complemented “The
Big 8”’s excellent execution of their Top 40 program format to give the station a big
signature sound that I have never forgotten. Its striving for perfection has been an
inspiration and has influenced the goals, designs, and sounds of many Orban Optimod products to this day.
If it weren’t for CKLW’s innovative audio texture and the chances that it took to expose the world to many great artists, these discoveries would never have become
part of the radio and music history that they now are. Just as many of these great
artists have moved on from creating hit music to fusing their old styles with newer
forms such as smooth jazz, Orban is evolving by giving the world new viable broadcast technology that build on its legacy.
I dedicate this technical manual to CKLW and those who made it the reality it once
was, and to Leo, my faithful dog, who was beside me, night after night and day after day in the long process of preparing this document.
As the world moves on embracing innovative ways to deliver audio to an audience,
“ladies and gentlemen, the beat goes on…” – Bill Drake, radio programmer
The Adobe pdf form of this manual contains numerous hyperlinks and bookmarks. A
reference to a numbered step or a page number (except in the Index) is a live hyperlink; click it to go immediately to that reference.
If the bookmarks are not visible, click the “Bookmarks” tab on the left
side of the Acrobat Reader window.
This manual has a table of contents. To search for a specific word or phrase, you can
use the Adobe Acrobat Reader’s text search function.
Overview
Opticodec-PC is the first standards-based MPEG-4 AAC/aacPlus™, AAC/HE AAC, ISMA
compliant and SHOUTcast/Icecast compatible encoding software for high quality
streaming audio. Opticodec-PC offers the most important feature that the basic netcaster is looking for in an encoding product — entertainment-quality sound at economical bitrates.
The software lets streaming providers supply content encoded with the Coding
Technologies
available audio quality at the lowest possible bitrate. Streams encoded with Opticodec-PC can be experienced through RealPlayer
ous Ethernet players, and 3G wireless devices. Streams can automatically list themselves on www.opticodec.net
Opticodec-PC offers a choice of a standards-based RTSP/RTP streaming protocol for
use with streaming servers (such as the free enterprise-class, scaleable Darwin
Streaming Server from Apple) or the HTTP/ICY streaming protocol (for use with
SHOUTcast or Icecast Servers). Both server types are non-proprietary and available
for most computer platforms, and some servers are open-source.
Professional radio broadcasters would never consider going on the air without audio
signal processing. They consider it a vital component of the program content, content being what attracts listeners. This carefully crafted content is what holds listeners and keeps them coming back. Broadcast ratings services have proven this true for
over 30 years. Over that period, Orban’s patented Optimod technology has helped
radio and television broadcasters everywhere shape their sound to grab and hold
their listening audiences.
®
AAC/aacPlus codec, widely acknowledged as offering the highest
®
10, QuickTime 6, Winamp 5.05, vari-
, a directory service for Opticodec-PC streams.
1-2
INTRODUCTION ORBAN MODEL 1010
Professional-grade netcasting requires audio processing similar to FM broadcast (although there are some important differences in the peak limiting because of the
different characteristics of the pre-emphasized FM channel and the perceptually
coded netcasting channel). Your listeners deserve to get the best quality and consistency you can provide. Good audio processing is one important thing that separates
the amateur from the professional.
The Orban Optimod-PC 1100, a
professional PCI sound card designed for streaming
media, provides “genuine radio”™ audio processing for Internet broadcasters. With
three on-board DSP's providing mixing, equalization, AGC, multi-band compression,
and look-ahead limiting, Optimod-PC 1100, especially when combined with aacPlus
encoding technology, delivers a polished and produced stream that has the same
loudness, consistency, and punch as satellite and major-market FM radio. In addition
to audio processing, Optimod-PC does internal and external audio mixing, leaving
the CPU power available for encoding with Opticodec-PC. Together, Optimod-PC
and Opticodec-PC provide a unique and tightly tuned system that offers the best
audio quality streams possible with today’s technology.
Opticodec-PC is available in two versions, LE, and PE. Opticodec-PC LE, Light Edition,
is compatible with all quality sound cards and encodes a single stream at bitrates
between 8 and 32 kbps. Opticodec-PC PE, Professional Edition, is offered solely in a
premium package coupled with an Optimod-PC and can encode multiple simultaneous streams at bitrates from 8 to 320 kbps; all streams carry the same Optimod-PC
processed audio content. While the companion Optimod-PC will ordinary be used to
process the stream for consistency and punch, it also comes with presets that allow it
to do simple protection limiting.
Streaming Infrastructure Block Diagrams
AUDIO
INPUTS
Microphone
Pre-A mp
Mixer
Player
Application
PLAYER / ENCODER COMPUTER
ANALOG 1
DIGITAL 1
DIGITAL 2
WAV OUT
WAV IN
OPTIMOD-PC
PCI Sound Card
WAV OUT
Metadata
WAV IN
OPTICODEC-PC
To ServerFrom Encoder
Streaming Audio
Encoder
TCP/UDP/IP
Figure 1-1: Typical streaming infrastructure where program material is sourced from a play-
out system application with live assist
Internet
Network
To Internet
TCP/UDP/IP
SERVER COMPUTER
QTSS/DSS
Streaming Server
OPTICODEC-PC INTRODUCTION
1-3
From
Broadcast
Program Line
AUDIO
INPUTS
ANALOG 1
DIGITAL 1
DIGITAL 2
Metadata
To ServerFrom Encoder
Internet
Network
To Internet
OPTIMOD-PC
PCI Sound Card
WAV OUT
ENCODER COMPUTER
WAV IN
OPTICODEC-PC
Streaming Audio
Encoder
TCP/UDP/IP
TCP/UDP/IP
SERVER COMPUTER
Figure 1-2: Typical streaming infrastructure where program material is sourced from a
radio station on-air studio
OID
UA
STUPNI
ANALOG 1
DIGITAL 1
DIGITAL 2
OPTICODEC-PC
Streaming Audio
Encoder
tenretnI
tenrehtE
redocnE lanretxE morFrevreS lanretxE oT
QTSS/DSS
Streaming Server
tenretnI oT
QTSS/DSS
Streaming Server
WAV INWAV IN
Playout System
WAV OUT
WAV IN
OPTIMOD-PC
PCI Sound Card
WAV OUT
WAV IN
Figure 1-3: Typical multiple streaming encoder/server infrastructure where program ma-
terial is sourced from a player application
Streaming Audio
Streaming Audio
Encoder
Encoder
TCP/UDP/IPTCP/UDP/IP
TCP/UDP/IP
OPTICODEC-PC
OPTICODEC-PC
0008:1.0.0.721 tsohlacol
SHOUTcast
Streaming Server
0108:1.0.0.721 tsohlacol
TCP/UDP/IPTCP/UDP/IPTCP/UDP/IP
Icecast2
Streaming Server
RETUPMOC REVRES / REDOCNE / REYALP
1-4
INTRODUCTION ORBAN MODEL 1010
Opticodec-PC offers the best available tradeoff between audio quality and bitrate.
Compared to MP3, Opticodec-PC provides a better than 60% improvement in audio
quality versus bitrate, reducing network streaming bandwidth requirements and
costs accordingly. At 32 kbps, Opticodec-PC streams offer close to FM quality, without the phasey, watery character of other codecs operating at this bitrate. Many listeners prefer the audio quality of 48 kbps streams to FM.
There is a vast Internet and 3G wireless audience waiting for the entertainmentquality audio that Orban Opticodec-PC and Optimod-PC can provide.
Specifications and System Requirements
PE Version
COMPUTER
Minimum System Requirements:
Windows 2000: Intel® Pentium II 400MHz, RAM = 64MB; 128MB recommended.
Windows XP: Intel® Pentium II 400MHz, RAM = 128MB; 256MB recommended.
Windows 2003 Server Intel® Pentium III 500 MHz
RAM = 256MB; 512 MB recommended
This specification denotes the minimum CPU power necessary to control one
OPTIMOD-PC card with external audio sources and one instance of the OPTICODECPC encoder. Additional cards, audio player and/or encoder software will require additional CPU power.
Processor and Chipset: This software has been tested and qualified with Intel CPUs and
chipsets.
Sound Device: An Optimod-PC 1100 audio processor / sound card must be installed in the
host computer in order to run the Opticodec-PC PE application.
Interface: Graphical User and Command-Line, batchable
Transmission: Automatic Unicast – Announce – Session Description
Protocol (.sdp) file per stream generated and transferred to server
Multicast RTP/UDP (Internal RTSP Server)
TTL: 255 default
Unicast HTTP/TCP
Packet Size: 1450 bytes plus IP Header Bytes = Total < 1500 byte MTU
Connection Fallback: Automatic Reconnection upon Connection Failure
Stream Information: Stream Name and Description; all server supported metadata
Metadata Input: Text File, Serial, Ethernet, Nullsoft Winamp
Server Requirements: Darwin Streaming Server 5.0 and later, QuickTime Streaming
Server 5.0 and later, Nullsoft SHOUTcast DNAS 1.9.4 and later, Icecast2 2.0.2 and later
Server Platform: Available for Microsoft Windows 2000 Professional/Server, Windows 2003
Server, Windows XP Professional, Apple Mac OS X 10.2.8 and later Server and Proxy,
Red Hat Linux 9, FreeBSD, Sun Solaris 9
LE Version
COMPUTER
Minimum System Requirements:
Windows 2000: Intel® Pentium II 400MHz, RAM = 64MB; 128MB recommended.
Windows XP: Intel® Pentium II 400MHz, RAM = 128MB; 256MB recommended.
Windows 2003 Server Intel® Pentium III 500 MHz
RAM = 256MB; 512 MB recommended
This specification denotes the minimum CPU power necessary to control one
OPTIMOD-PC card with external audio sources and one instance of the OPTICODECPC encoder. Additional cards, audio player and/or encoder software will require additional CPU power.
Processor and Chipset: This software has been tested and qualified with Intel CPUs and
chipsets.
Sound Device: Opticodec-PC LE will operate with any Windows-qualified sound card capa-
ble of the required sample rate and bit depth.
Interface: Graphical User and Command-Line, batchable
Transmission: Automatic Unicast – Announce – Session Description
Protocol (.sdp) file per stream generated and transferred to server
Multicast RTP/UDP (Internal RTSP Server)
TTL: 255 default
Unicast HTTP/TCP
Packet Size: 1450 bytes plus IP Header Bytes = Total < 1500 byte MTU
Connection Fallback: Automatic Reconnection upon Connection Failure
Stream Information: Stream Name and Description, all server supported metadata
Metadata Input: Text File, Serial, Ethernet, Nullsoft Winamp
Server Requirements: Free Darwin Streaming Server 5.0 and later, QuickTime Streaming
Server 5.0 and later, Nullsoft SHOUTcast DNAS 1.9.4 and later, Icecast2 2.0.2 and later
Server Platform: Available for Microsoft Windows 2000 Professional/Server, Windows 2003
Server, Windows XP Professional, Apple Mac OS X 10.2.8 and later Server and Proxy,
Red Hat Linux 9, FreeBSD, Sun Solaris 9
These specifications are subject to design improvements and changes
without notice.
Opticodec-PC TE, Test Edition is available upon request for testing encoder/server connectivity. With limited functionality, it allows testing
network connectivity and authentication to verify server configuration.
Applications
Putting your audio content on the Internet or your LAN can be divided into three
main steps: preprocessing the audio signal, encoding it, and streaming it to the network.
High quality streams begin with the cleanest possible audio source material. For best
results, all material should be sourced in digital form to prevent any potential distortion from occurring in the analog-to-digital conversion process. CDs should be digitally extracted (ripped) to a PCM audio format if the digital storage system allows
this, or to a 384 kbps or higher MPEG-1 Layer 2 format. Avoid Layer 3, as well as
other codecs. More information on this topic can be obtained from the Orban publication, “Maintaining Audio Quality in the Broadcast Facility,” available as a free
download from http://www.orban.com.
Preprocessing
For optimum sound, loudness, and peak control, you should digitally preprocess the
Internet audio signal to condition it prior to encoding. The appropriate preprocessing has much in common with the preprocessing required for DAB, HD Radio™, CD
mastering, or digital satellite.
OPTICODEC-PC INTRODUCTION
Preprocessing is necessary for several reasons. Automatic gain control and equalization achieve a consistent sound, while accurate peak control maximizes loudness.
Preprocessing each program element before it is stored on a playout system is not as
effective as preprocessing the mixed audio on the program line immediately before
it is streamed. The latter technique maximizes the smoothness of transition between
program elements and makes voice from, announcers, or presenters merge smoothly
into the program flow, even if the announcer is talking over music.
Peak clipping sounds terrible in digital systems because these systems do not rely on
pre-emphasis/de-emphasis to reduce audible distortion. Instead of peak clipping, the
best sounding processors use some form of look-ahead limiting. The carefully peak
limited signal is then digitally connected to Opticodec-PC to preserve the audio signal waveform integrity.
Orban Optimod-PC (recommended for Opticodec PC LE and required for OpticodecPC PE to operate) is a PCI sound card with on-board digital signal processing that is
suitable for both live streaming and on-demand programming. Its three on-board
Motorola DSP56362 DSP chips provide a loud, consistent sound to the consumer by
performing automatic gain control, equalization, multiband gain control, and peaklevel control. Optimod-PC’s sound card emulation allows it to talk through the operating system via the Windows’ WAVE mechanism to Opticodec-PC, running on the
same computer that houses Optimod-PC.
While there are several types of audio processors available other than Optimod-PC,
conventional AM, FM, or TV audio processors that employ pre-emphasis/de-emphasis
and/or clipping peak limiters are most inappropriate for use with perceptual audio
coders such as Opticodec-PC. The pre-emphasis/de-emphasis limiting in these devices
unnecessarily limits high frequency headroom. Further, their clipping limiters create
high frequency components— distortion—that the perceptual audio coders would
otherwise not encode. None of these devices has the full set of audio and control
features found in Optimod-PC.
Without Optimod-PC processing, audio can sound dull, thin, or inconsistent in any
combination. Optimod-PC’s multiband processing automatically levels and reequalizes its input to the “major-market” standards expected by the mass audience.
Broadcasters have known for decades that this polished, produced sound attracts
and holds listeners.
You can expect a very large increase in loudness from Optimod-PC processing by
comparison to unprocessed audio (except for audio from recently mastered CDs,
which are often overprocessed in mastering). Broadcasters generally believe that
loudness relative to other stations attracts an audience that perceives the station as
being more powerful than its competition. We expect that the same subliminal psychology will hold in netcasting too.
Remote Access & Control:
Optimod-PC has the unique ability to be remotely accessed and controlled over any
TCP/IP network. After the appropriate security and administration setup, OptimodPCs I/O mixer, processing parameters, and presets can be controlled from anywhere,
including from other applications.
1-7
1-8
INTRODUCTION ORBAN MODEL 1010
Mixing Facilities:
In addition to sound card and audio processing functionality, Optimod-PC is also a
capable mixer, having one stereo analog input, two AES3 / SPDIF digital inputs
(which can accept any sample rate from 32 to 96 kHz), and one WAVE input (to accept Windows sound sources), all of which can be mixed. Thanks to onboard sample
rate converters, the two digital inputs can accept and mix asynchronous sources,
which may have different sample rates. In practice, the four inputs might be used
for a local feed, a network feed, a voice channel, and a wave player, making Optimod-PC the heart of a “desktop netcasting studio.” In many cases, this versatility
allows you to avoid use of an external mixing desk, thereby keeping the audio path
100% digital. The wave player could be any one of a number of broadcast-oriented
automated playout systems.
Using Optimod-PC’s separate “processed” and “unprocessed” mixers, any of the inputs in any combination can be processed or passed directly to the input of Opticodec-PC without processing—you can always choose how much processing (if any) to
apply to the audio. These features allow local program insertion, such as those required in order to address the broadcast rights issues of many commercials, programs, and events.
Because it uses Microsoft DirectSound Drivers, Optimod-PC is able to play multiple
audio streams from multiple audio sources, eliminating the need for multiple or
multi-channel sound devices for professional playout systems used in automation
mode. Given the CPUs available today, MPEG1 Layer 2, and/or Layer 3 decoding can
occur at the operating system level, eliminating the requirement for expensive
hardware-based MPEG decoder sound devices.
Encoding
Opticodec-PC receives the output of Optimod-PC, which looks like a sound card to
the operating system. Opticodec-PC then reduces the bitrate of the processed signal
by applying it to an AAC or aacPlus perceptual coder and packetizing the resulting
data for an Ethernet network. When the encoder connects to the streaming server,
the encoder generates the Session Description Protocol file and transfers it automatically to the streaming server.
The most basic use of Opticodec-PC is to create a single stream at a single bitrate.
However, the output of a given Optimod-PC card can feed several Opticodec-PC encoders running at different bitrates to service different audience bandwidths; all of
these streams will carry the same audio program.
If you need more than one audio program stream, use multiple Optimod-PC cards
(some of which can be housed in one or more PCI expansion chassis). If you need
multiple streams at different bitrates, configure each Optimod-PC card to feed its
own array of Opticodec-PC PE encoders.
Each installation of Opticodec-PC PE is keyed to one Optimod-PC card, so
running more than one audio program stream requires one Opticodec-PC
PE installation per audio program stream even if all of these installations
are on one computer. However, a single Opticodec-PC installation can
create multiple streams at different bitrates if all of these streams contain
the same audio program.
OPTICODEC-PC INTRODUCTION
About Perceptual Coders
CD-quality audio (16-bit words at 44.1 kHz sample rate) requires 705,600 bits per
second per channel, which is far too high for economical streaming. Perceptual coding reduces the number of bits per second necessary to transmit a high-quality audio
signal.
Perceptual coders exploit models of how humans perceive sound. In particular, perceptual coders exploit the phenomenon of psychoacoustic masking. This means that
louder sounds will “drown out” (or “mask”) weaker sounds occurring at the same
time, particularly if the frequency of the louder sound is close to the weaker sound’s
frequency. Loud sounds not only mask weak sounds occurring simultaneously in
time (spectral masking), but can also drown out weak sounds occurring a few milliseconds before the loud sound starts or a few milliseconds after it stops (temporal
masking).
The basic principle of perceptual coding is to divide the audio into frequency bands
and then to code each frequency band with the minimum number of bits that will
yield no audible change in that band. Reducing the number of bits used to encode a
given frequency band raises the quantization noise floor in that band. If the noise
floor is raised too far, it can become audible and cause artifacts.
A second major source of artifacts in codecs is pre- and post-echo caused by ringing
of the narrow bandpass filters used to divide the signal into frequency bands. This
ringing worsens as the number of bands increases, so some codecs may adaptively
switch the number of bands in use, depending on whether the sound has significant
transient content. This ringing manifests itself as a smearing of sharp transient
sounds in music, such as those produced by claves and wood blocks.
Psychoacoustic Models
Perceptual coders exploit complex models of the human auditory system to estimate
whether a given amount of added noise can be heard. They then adjust the number
of bits used to code each frequency band such that the added noise is undetectable
by the ear if the total “bit budget” is sufficiently high. Because the psychoacoustic
model in a perceptual coder is an approximation that never exactly matches the behavior of the ear, it is desirable to leave some safety factor when choosing the number of bits to use for each frequency band. This safety factor is often called the
“mask-to-noise ratio,” measured in dB. For example, a mask-to-noise ratio of 12 dB
in a given band would mean that the quantization noise in that band could be
raised by 12 dB before it would be heard. (That is, there is a safety margin of two
bits in that band’s coding.) For the most efficient coding, the mask-to-noise ratio
should be the same in all bands, ensuring that the sound elements equitably share
the available bits in the transmission channel.
Increasing the number of bits per second in the transmission always improves the
mask-to-noise ratio. It is important to allocate extra bits to the transmission if the
audio will be processed after it has been decoded at the output of the perceptual
coder (for example, by a second “cascaded” perceptual coder, or by a multiband audio processor such as Optimod-PC). Done correctly, this increased bitrate will raise
the mask-to-noise ratio far enough to prevent downstream processing from causing
the noise to become unmasked.
Because it occurs in narrow frequency bands, unmasked noise does not
sound like familiar white noise at all. Instead, it most often sounds like
1-9
1-10
INTRODUCTION ORBAN MODEL 1010
distortion, or like warbling, comb filtering, or gurgling—an “underwater” sound.
Coding Efficiency
Different sounds will vary greatly in the efficiency with which a perceptual coding
system can encode them. Therefore, for a constant transmission bitrate, the maskto-noise ratio will constantly change. Pure sounds having an extended harmonic
structure (such as a pitch pipe) are particularly difficult to encode because each harmonic must be encoded, the harmonics occupy many different frequency bands, and
the overall spectrum has many “holes” that are not well-masked, so that added
noise can be easily heard. The output of a multiband audio processor that uses clipping is another sound that is difficult to encode, because the clipper creates added
distortion spectrum that does not mask quantization noise well, yet may cause the
encoder to waste bits when trying to encode the distortion.
Sophisticated encoders use a short “bit reservoir” to save up unused bits so they can
be applied to difficult-to-encode sounds. However, the length of the bit reservoir
will directly affect the coding delay, so dynamic allocation of bits occurs only over
rather short time windows (in the order of tens of milliseconds). Another feature of
sophisticated encoders is “redundancy reduction,” which encodes frequently appearing data with shorter digital words and infrequently appearing data with
longer words.
Encoding Stereo
Usually, there is some correlation between the left and right channels of a stereo
signal. At lower bitrates, one way to achieve higher quality is to exploit this correlation when coding stereo information:
Depending on program content, the encoder dynamically switches between discrete
left/right coding and sum-and-difference coding. The difference signal often requires fewer bits than the sum signal to encode with high audible quality, thereby
saving bits in the overall coding of the stereo signal.
There is no benefit to joint stereo coding when the two channels contain
independent information because there is no correlation between the
channels.
Opticodec-PC Codecs
Opticodec-PC offers two coding algorithms from the several standardized by
ISO/MPEG (Moving Pictures Experts Group): the AAC and aacPlus® v2 algorithms.
AAC is intended for very high quality coding with compression up to 12:1. The AAC
codec is about 30% more efficient than MPEG1 Layer 3 and about twice as efficient
as MPEG1 Layer 2. The AAC codec can achieve “transparency” (that is, listeners cannot audibly distinguish the codec’s output from its input in a statistically significant
way) at a stereo bitrate of 128 kb/sec, while the Layer 2 codec requires about 256
kb/sec for the same quality. The Layer 3 codec cannot achieve transparency at any
bitrate, although its performance at 192 kbps and higher is still very good.
AAC stands for Advanced Audio Coding. Intended to replace Layer 3, AAC was developed by the MPEG group that includes Dolby, Fraunhofer (FhG), AT&T, Sony, and
Nokia—companies that have also been involved in the development of audio codecs
such as MP3 and AC3 (also known as Dolby Digital™).
OPTICODEC-PC INTRODUCTION
1-11
AAC does not stand for Apple Audio Codec, although Apple was one of
the first to implement this technology with the introduction of Apple
iTunes and QuickTime 6.
The Coding Technologies “Spectral Band Replication” (SBR) process can be added to
almost any codec. This system transmits only lower frequencies (for example, below
8 kHz) via the codec. The decoder at the receiver creates higher frequencies from
the lower frequencies by a process similar to that used by “psychoacoustic exciters.”
Table 1-2: AAC Audio Bandwidth vs. Bitrate, Sample rate, and Channel Mode
OPTICODEC-PC INTRODUCTION
A low-bandwidth signal in the compressed bit stream provides “hints” to modulate
these created high frequencies so that they will match the original high frequencies
as closely as possible. Adding SBR to the basic AAC codec creates aacPlus, which offers the best subjective quality currently available at bitrates below 128 kbps. At bitrates below 128 kbps, full subjective transparency cannot be achieved at the current state of the art, yet the sound can still be very satisfying. (In the phraseology of
the ITU 1 to 5 subjective quality scale, this means that audible differences introduced
by the codec are judged by expert listeners to be “detectable, but not annoying.”)
Coding Technologies’ aacPlus v2, the latest in MPEG-4 Audio and previously known
as "Enhanced aacPlus," is aacPlus coupled with the new MPEG Parametric Stereo
technique created by Coding Technologies and Philips. Where SBR enables audio
codecs to deliver the same quality at half the bitrate, Parametric Stereo enhances
the codec efficiency a second time for low-bitrate stereo signals. Both SBR and Parametric Stereo are backward- and forward-compatible methods to enhance the efficiency of any audio codec. As a result, aacPlus v2 delivers streaming and
downloadable 5.1 multichannel audio at 128 Kbps, near CD-quality stereo at 32
Kbps, excellent quality stereo at 24 Kbps, and great quality for mixed content down
to 16 Kbps and below.
MPEG standardized Coding Technologies’ aacPlus as MPEG-4 HE AAC (MPEG ISO/IEC
14496-3:2001/AMD-1: Bandwidth Extension). With the addition of MPEG Parametric
Stereo (MPEG ISO/IEC 14496-3:2001/AMD-2: Parametric coding for high quality audio), aacPlus v2 is the state-of-the-art in low bitrate open standards audio codecs.
The Coding Technologies codecs provide the absolute best possible sound per bit the
current state-of-the-art will allow, without the typical resonant, phasey, watery
character of other codecs.
Trading-Off Audio Bandwidth against Bitrate, Sample rate, and Channel Mode
High audio bandwidth does not guarantee good sound in codecs. In many cases,
especially at low bitrates, it is actually just the opposite. For example, FM radio is a
15 kHz medium, yet there are plenty of codecs claiming to have 20 kHz response
that sound much worse than FM radio.
1-13
The designers of the various codecs usually determine the optimum tradeoff between bitrate, sample rate, and channel mode (stereo or mono) by performing extensive listening tests. To maximize overall audio quality at lower bitrates, it is important to allocate the bits efficiently. This usually means allocating more bits to
those frequency ranges most important to music and speech.
Below a certain sample rate (which depends on the design of the individual codec),
codec designers have determined that limiting audio bandwidth to less than 20 kHz
achieves highest overall quality. For example, AAC requires 192 Kbps or more for 20
kHz+ response (Table 1-2 on page 1-12) and aacPlus requires 64 Kbps or more for 20
kHz+ response (Table 1-1 on page 1-11).
We recommend using aacPlus v2 for stereo streams below 48kbps. Be sure your target players support it; otherwise, the streams will play in mono.
1-14
INTRODUCTION ORBAN MODEL 1010
Cascading Codecs
There are two general applications for codecs in broadcasting — “contribution” and
“transmission.” A contribution-class codec is used in production. Accordingly, it must
have high enough “mask to noise ratio” (that is, the headroom between the actual
codec-induced noise level and the just-audible noise level) to allow its output to be
processed and/or to be cascaded with other codecs without causing the codecinduced noise to become unmasked. A transmission-class codec, on the other hand,
is the final codec used before the listener’s receiver. Its main design goal is maximum
bandwidth efficiency. Some codecs, like Layer 2, have been used for both applications at different bitrates (and Layer 2 continues to be used as the transmission codec in the Eureka-147 DAR system and many DBS satellite systems). However, assuming use of an MPEG codec, modern practice is to use Layer 2 for contribution only
(minimally at 256 kbps, with 384 kbps preferred), reserving transmission for AAC or
aacPlus. Layer 3 has become a consumer format, and even that is being replaced by
the next generation AAC/HE AAC/aacPlus.
The most general operational advice is this:
•Use compression only when necessary. Hard drives have become very in-
expensive, and there is little excuse for excessively compressing a source library. Linear PCM is best.
• A good codec such as AAC/HE AAC/aacPlus requires a good source to produce
excellent results. If you must use compression in production or transmis-sion ahead of the audio preprocessor (like Optimod-PC) and have the luxury
of high bitrates, use Layer 2 at 128 kb/sec/channel or above (256 kb/sec stereo). This will be audibly transparent for as many as ten passes. Avoid
Layer 3 sources; Layer 3 was never rated transparent at any bitrate.
•Do not use a higher sampling frequency than necessary. 32 kHz is ade-
quate for AM, FM. analog television, and low bitrate (~32 kbps) streaming.
However, if you are creating a hard-disk music library and plan to use it for
DAB or high bitrate streaming now or in the future, 44.1 kHz will yield CDquality bandwidth 20 kHz frequency response. Especially with low bitrate codecs, a 32 kHz sample rate is generally optimum and sounds better than
higher sample frequencies because the bit allocation for the codec is concentrated in the most audible region of the audio spectrum. This is a case where
less is truly more.
•Carefully monitor any cascade of codecs by listening tests. There are
an infinite number of combinations possible, and the human ear must be the
final arbiter of quality. Be particularly sensitive to loss of “snap” and transient
definition, loss of stereo imaging, loss of very high frequencies, comb-filtering
or “underwater” sounds, and buildup of distortion.
• Do not use Microsoft Windows Media Player to play MPEG-1 Layer 2
files. There is a confirmed problem with the MPEG-1 Layer 2 decoder filter
used in the current and several past releases of Windows Media Player. This
filter causes a poor signal-to-noise ratio in the form of low-level noise that is
only there when the least significant bits are present. It is audible during quiet
portions of audio and prevents the filter from being usable in professional
applications. Audio signal processing will make this more apparent. We hope
that Microsoft will someday address this issue.
OPTICODEC-PC INTRODUCTION
1-15
Networking
Opticodec-PC supports both unicast and multicast streams. Each method has its own
advantages and your streaming application will determine which one to use.
To connect to the Internet using unicast, a server is required. This receives the output of the encoder and creates the streams to which your listeners connect. Opticodec-PC supplies an output compatible with the free Darwin Streaming Server, which
is available for multiple platforms including Linux®, FreeBSD®, Sun Solaris®, Microsoft Windows®, and QuickTime Streaming Server for Apple Macintosh®. It is also
compatible with the SHOUTcast DNAS and the Icecast2 servers, also freely
downloadable.
Network Bandwidth Considerations
If you have access to large bandwidth Internet connectivity, you could conceivably
run the server software on your encoder computer—just connect the computer to
an Ethernet Internet feed and you are ready to go. However, most netcasters do not
have that option because the studio or program origination is in one place and the
Internet service provider (ISP) is somewhere else. If that’s the case, the best and most
economical way to connect is to establish what’s called a “co-lo,” or co-location,
which requires running your own server software on another computer, locating
that computer at the ISP, and running one stream per program from your encoder
to the server. Typically, this requires a full-time, non-dial-up dedicated connection
from your encoder to your ISP. Bandwidth requirements for this connection depend
upon the bitrate and number of streams being sent to the server.
A high reliability connection is also recommended to prevent encoder-server disconnects, although Opticodec-PC has the ability to automatically reconnect when this
occurs. If reliability is the goal, avoid consumer Internet connections, especially cable
Internet and some DSL. The relatively small upload bandwidth available from consumer Internet services will severely limit the encoder and/or server. The reliability of
these services is generally not good enough for continuous streaming. Furthermore,
running a server on this type of Internet service may break your Internet service
agreement.
Many ISPs provide servers and administration services to run the appropriate streaming server software. Although you are not responsible for the server administration
in this scenario, it comes at a price.
We have just described how to get your program on the network. Here is where the
listeners come in. There are different ways that people can connect to your stream.
• Most Internet streams are implemented via unicasting, which requires a sin-
gle, independent connection to the server for each stream. (See Unicast on
page 1-24.)
• In a multicast, a single stream is shared among the player clients. Although
this technique reduces network congestion, it requires a network that either
has access to the multicast backbone (otherwise called the Mbone) for content
generally distributed over the Internet, or is multicast-enabled for content distributed within a contained private network. Multicast streams are sent directly to a group address, such an IP multicast address, which many client com-
1-16
INTRODUCTION ORBAN MODEL 1010
puters can simultaneously access. The users of a multicast have no control over
the media content. Multicasts are an efficient way to deliver the same material to a group of people over a LAN, as only one copy of the stream is sent
over the network. (See Multicast on page 1-25.)
Because Opticodec-PC contains a multicast server, more than one listener can
connect to the same IP address without increasing network traffic. This is an
excellent way to deliver corporate or academic content to an internal audience or to stream radio stations to the staff at their computer workstations.
Unless your LAN contains a router that is not multicast enabled and that separates the encoder from your listeners, you do not need to use a server to multicast within a LAN. For listeners to connect to your stream via a typical LAN,
they have to connect their decoder applications to the same local IP address as
the one you assigned to the output of Opticodec-PC.
Bandwidth Requirements
Streaming puts demand on your server system in a number of ways, the most important being bandwidth. For example, three different unicast streams for different
purposes will attract different audiences with different network connectivity requirements.
Stream Type
Distance Learning
Small Corporate Meeting
Medium Entertainment Stream
Large Entertainment Stream
Table 1-3: Bandwidth Requirements for Typical Network Streams
Even the smallest academic streams can generate huge numbers that require more
than a single E-1 or T-1 line to serve. Corporate and entertainment streams can
sometimes require multiple E-3 or T-3 lines, or even higher capacity to serve. Large
streams may even require more than one server to handle the necessary network
throughput. However, since Orban Opticodec-PC is bandwidth efficient, you are
able to serve a larger audience at a lower cost of operation with higher audio quality than with inferior older generation codecs.
Not all networks have 100% of their theoretical capacity available for data transfer.
You are practically limited to about 80% of theoretical maximum because of the
way TCP/IP traffic is handled on a network. For example, a 100 Mbps LAN is limited
to about 80 Mbps. In addition to this practical limitation, you may want to allot additional bandwidth for other tasks, such as file transfers and backup procedures. An
additional 10% should suffice. Generally, a good equation for calculating the practical capacity of a network is:
Practical Network Capacity = Theoretical Maximum * 70%
Maximum Simultaneous Streams = Practical Network Capacity / Stream Bitrate
OPTICODEC-PC INTRODUCTION
For example, if you have a 100 Mbps network and you want to know how many 32
kbps streams you can support, the equation is 10,000,000 * 70% / 32000 = 2187 simultaneous streams.
Your required network bandwidth will be determined by your intended audience
size and whether you are using unicast or multicast streaming.
• Unicast streaming bandwidth, the most common, is the total number of simul-
taneous streams multiplied by the stream bitrate, plus some network overhead,
or:
• Multicast streaming bandwidth is simply that of a single stream plus some net-
work overhead, or:
Bandwidth (Multicast) = (Stream Bitrate) + 20%
To ensure reliability, bandwidth projections must be based on peak usage, not average usage.
1-17
Streaming Architecture
Live Streaming
Live events, such as radio broadcasts, concerts, speeches, lectures, and sporting
events are commonly streamed over the Internet as they happen with the assistance
of broadcasting encoding software such as Orban Opticodec-PC Streaming Encoder.
The broadcasting software encodes a live source, such as studio originated audio, in
real time, and delivers the resulting stream to the server. The server then serves, reflects, and/or relays the live stream to media player clients.
Like a radio broadcast, a live stream provides identical, essentially synchronized content to all listeners. (The only factor that prevents perfect synchronization is varying
network latencies between the server and the various listeners.) This live experience
can be simulated with recorded content by broadcasting from an archive source such
as a playout system or by creating playlists of media on a media server.
File Streaming
With file streaming, or on-demand delivery, such as archived broadcasts, concerts,
speeches, lectures, and sporting events, each user initiates the stream from the beginning, so no user ever comes in late to the stream. No broadcasting or streaming
encoder software is required. The files are encoded prior to upload to the server using software such as Orban Opticodec-PC File Encoder.
1-18
INTRODUCTION ORBAN MODEL 1010
Overview of Streaming Architecture
There are several ways to stream content over a network. This can be confusing at
first, because some of these ways are only slightly different from others. The terminology associated with them and the names that commonly refer to them can be
equally confusing. The following explanation should you to decide which server
platform or platforms are best for your streaming application.
To stream content, a streaming server is commonly used to control and deliver live
and/or file streams, just as a web server delivers web pages and files. However, there
are exceptions. Furthermore, there are important differences in the ways that different servers function.
Web servers cannot deliver live streams. Although web servers can allow a client
player to play a file, playback begins when the player’s buffer fills, which occurs
sometime after the web server starts sending the file to the user’s computer. This
type of stream is called a progressive download or a fast start stream. There is no
content protection because the determined user can always find a way to download
your content even if this has not happened automatically, which it usually does.
Conversely, the content bitrate determines how quickly a streaming server sends
media content to a player client. Streaming servers do not send files to the user’s
hard drive, thereby protecting the content.
Each server type has its own features and is compatible with its own set of client
players. To serve a greater audience, you might consider using more than one server
platform.
Network Transports
Different servers use different network transports and protocols. Knowing the structure of the transports and protocols used for the different server technologies will
help you understand the differences in these servers. Figure 1-4 shows the various
r
esworB beW
r
PTTH
P
CT
PI
lacisyhP
noitcen
noC
beW
revr
eS
lC
TR
reyalP tnei
PTR/PS
PDU
PI
lacisyhP
n
oitcennoC
gnimaertS
rev
reS
Figure 1-4: Server Transports and Protocols
neilC
eyalP t
PTR/PSTR
T
evaelretnI PC
PI
lacisyhP
noitcennoC
gnimaertS
revreS
reyalP tneilC
PTR/PSTR/PTTH
PCT
PI
lacisyhP
noitcennoC
gnimaertS
revreS
PCT
PI
reyalP tneilC
YCI/PTTH
lacisyhP
noitcennoC
gnimaertS
revreS
OPTICODEC-PC INTRODUCTION
network transports and protocols used with their associated servers.
1-19
Streaming Server Advantages
Streaming servers open a dialog with the media player. There are two sides to this
dialog — one for passing control messages between the media player client and the
server and one for transferring the media content. Because they continue to exchange control messages with the player, streaming servers can adjust to changing
network conditions as the content plays, improving the user experience. The control
messages also include user commands like “play,” “pause,” “stop,” and “seeking to
a particular part of the file.”
Compared to posting downloadable media files to your website, there are many advantages to streaming:
• Users can stream your media immediately. There are no lengthy downloads,
regardless of network connectivity.
• Streaming is the only way to distribute live media content such as radio sta-
tions, playlist streams, entertainment, news, and sporting events.
• Streaming media files are not limited to file sizes that make a reasonable
download. Long-form media content (such as complete programs, concerts,
and archives) would make multi-megabyte downloads, yet stream effortlessly.
• Users have complete control over the streaming media content by being able
to pause, seek, and play only the parts they want.
• Depending upon the server platform in use, multicasting can allow many users
to connect into one stream, dramatically saving bandwidth.
• Streaming allows you to maintain control over the distribution and copyright
of your media. Anyone can download media content, alter it, and redistribute
it. Although not impossible, it is much harder to redistribute the contents of a
stream.
Web Server Advantages
It is important to understand the difference between HTTP used on a web server
and HTTP/ICY used on a streaming server, and not to confuse the two. HTTP is used
to deliver web pages to a browser and/or to download files. HTTP/ICY is used to deliver streaming media content to a client media player. They both use TCP/IP as their
main data transport.
By using web servers, HTTP can deliver fast start or progressive download streaming,
which is not really streaming at all. It is a file download and starts sending data as
fast as the network connection will allow. To the user, it is similar to streaming that
has no stream control features. You cannot move to the end of the file until the entire file has downloaded.
There are some advantages to making your media content available for download:
• It is easy to implement. Encode your files and put them on your web server
with the appropriate HTML links authored to standard web pages.
1-20
INTRODUCTION ORBAN MODEL 1010
• No special server software is required. Your web server software can deliver
media content.
• Files downloaded to the user’s computer can be used later without additional
network connectivity.
• Media content downloads to the user’s computer as fast as the network con-
nection will allow.
• Media content gets to the user no matter how slow the network connection.
• With fast network connections, media content can play as it downloads. How-
ever, there are no advanced stream control facilities.
• Lost packets are retransmitted until they are received.
• There are no problems with routers and/or firewalls.
RTSP/RTP — Streaming Servers
RTSP/RTP streaming servers can use HTTP and TCP/IP to deliver media content
streams, but by default, they use protocols such as RTSP and UDP/IP. RTSP provides
built-in support for the control messages and other features of streaming servers.
UDP is a lightweight protocol that saves bandwidth by introducing less overhead
than TCP/IP. It emphasizes continuous delivery instead of being 100% accurate, a
feature that makes it well suited to real-time operations like streaming. Unlike TCP,
it does not request resends when packets are missing. With UDP, if a packet gets
dropped on the way from the server to the client player, the server just keeps on
sending data. UDP’s philosophy is that it is better to have a momentary glitch in the
media content than to stop everything and wait for the missing data to arrive.
UDP has the following properties:
• It can be used for live and file streaming, both unicast and/or multicast.
• It requires a streaming server and/or live streaming encoder.
• It never uses more bandwidth than it needs. Only the data for the part of the
file that is used is transferred.
• Real-time streaming allows the user to view long streams or continuous trans-
missions without having to store more than a few seconds of data locally,
which is then discarded.
• It does not leave a copy of the media content on the user’s computer.
• Using RTP transmission under RTSP control, a user can seek to any point in a
file or clip on a streaming server without downloading the file.
• The stream will drop out if data rate exceeds network connection speed.
• RTP uses UDP/IP protocol by default, which doesn't attempt to retransmit lost
packets. UDP is faster and more efficient than TCP/IP but lacks a mechanism
for reporting lost packets, so streaming over congested networks almost always results in some data loss in the form of dropouts. UDP/IP allows multicasts as well as live streams, which are both cases where retransmission might
not be practical.
OPTICODEC-PC INTRODUCTION
1-21
• Optional Reliable UDP, if supported by the client player, can be used for a
higher level of retransmission of lost packet control than TCP/IP.
• Firewalls and/or routers can stop UDP/IP.
• RTP can be interleaved with the RTSP control connection, which uses TCP/IP.
This can get through firewalls that block UDP/IP. However, form of RTP is less
efficient and adds server load, a slight network overhead, and increased bitrate.
• A special HTTP tunneling protocol that wraps RTSP/RTP packets inside HTTP
packets, only supported by Apple QuickTime Player, can be used to help circumnavigate firewalls and/or routers by using the same port that web servers/browsers use. The advantage to this is that streaming protocols are still
used for media content stream control and TCP/IP reliability is gained. The disadvantage is since it is less efficient, it adds server load, slight network overhead and increased bitrate.
HTTP/ICY — Streaming Servers
Using a streaming server that supports HTTP/ICY protocols such as SHOUTcast or Icecast, HTTP is fully capable of streaming media content to a client player. This is not
the same as HTTP media file download from a web server. Basically, SHOUTcast and
Icecast use HTTP to negotiate the connection between the server and clients, as well
as to send metadata and to use a file transfer to send the media content.
HTTP/ICY has the following properties:
• It can be used for live and file streaming (unicast only).
• It does not leave a copy of the media content on the user’s computer.
• It requires a streaming server and/or live streaming encoder.
• The stream will stop and re-buffer if data rate exceeds network connection
speed.
• HTTP/ICY uses TCP/IP protocol to ensure that all streaming packets are deliv-
ered, retransmitting if necessary. TCP is optimized for guaranteed delivery of
data, regardless of its format or size. For example, if your client media player
realizes that it is missing a data packet from the server, it will request the
server to resend that packet. Resend requests take time, take up more bandwidth, and can increase the load on the server. If the network is congested,
you could begin to use more bandwidth for resends than for the media content itself. TCP is not designed for efficient real time delivery or careful bandwidth control, but for accurate and reliable delivery of every bit. Therefore, if
your network bandwidth is greater than the data rate of the stream, which in
most cases it is, HTTP/ICY is a very accurate way to deliver streams.
• Most firewalls, routers and network configuration schemes will pass HTTP/ICY.
• It is commonly called a fast start or progressive download stream.
• HTTP uses TCP/IP protocol to ensure that all streaming packets are delivered,
retransmitting if necessary. TCP is optimized for guaranteed delivery of data,
regardless of its format or size. For example, if your browser or client media
player realizes that it is missing a data packet from the server, it will request a
resend of that packet. Resend requests take time, take up more bandwidth,
and can increase the load on the server. If the network is congested, you could
begin to use more bandwidth for resends than for the media content itself.
TCP is not designed for efficient real time delivery or careful bandwidth control, but for accurate and reliable delivery of every bit.
• HTTP does not attempt to stream in real time. To stream in real time, the
bandwidth of the network must be greater than the data rate of the streaming content. If there is not enough bandwidth to transmit the streaming content in real time, streaming by HTTP allows the client to store the data locally
and play the content after enough has arrived.
• HTTP is a good solution for slow, unreliable network connections; it ensures
complete media content delivery.
• Most firewalls, routers, and network configuration schemes will pass HTTP.
• HTTP cannot be used for live streaming.
• HHTP provides no control over streaming content. Users cannot move to any
point in a file or clip without downloading the entire file first.
• Because it uses TCP/IP, HTTP does not make efficient use of server resources.
Accordingly, it does not perform as well as UDP/IP under heavy server loads.
• Beware of the copyright protection issues with on-demand file delivery, as us-
ers will be downloading your content to their computer and could easily redistribute it without your permission.
1-24
INTRODUCTION ORBAN MODEL 1010
beW
revreS
reyalP
tneilC
08 troP PTTH - PI/PCT
ataD & tseuqeR
PI/PCT
Figure 1-8: Web Server/Client Transports
Unicast
In a unicast, each user or player client initiates its own stream, resulting in several
one-to-one connections between client and server, which is less efficient use of
bandwidth. Many clients connected via unicast to a stream in a local network can
result in heavy network traffic. However, this technique is the most reliable and
most common for delivery over the Internet because no special transport support is
required. For file or on-demand streams, each user can randomly access the media
content, playing only the parts they want. Unicast uses either TCP/IP or UDP/IP.
reyalP tneilC
oiduA
ecruoS
reyalP tneilC
gnim
aer
tS
red
ocnE
tenretnI
gnimaertS
revreS
tenretnI
reyalP tneilC
eyalP tneilC
r
Figure 1-9: Unicast
OPTICODEC-PC INTRODUCTION
1-25
Multicast
In a multicast, a single stream is shared among the player clients. Although this technique reduces network congestion, it requires a network that either has access to
the multicast backbone (otherwise called the Mbone) for content generally distributed over the Internet, or is multicast-enabled for content distributed within a contained private network. Multicast streams are sent directly to a group address, such
an IP multicast address, which many client computers can simultaneously access. The
users of a multicast have no control over the media content. Multicasts are an efficient way to deliver the same material to a group of people over a LAN, as only one
copy of the stream is sent over the network.
Multicast uses RTP and UDP/IP. Multicast is not possible using HTTP or HTTP/ICY,
since it uses TCP/IP.
reyalP tneilC
reyalP tneilC
oiduA
ecruoS
gnim
aer
tS
red
ocnE
tenretnI
gnimaertS
revreS
tenretnI
reyalP tneilC
eyalP tneilC
r
Figure 1-10: Multicast
Relay Servers
A relay server is a specially configured streaming server that listens to an incoming
stream and then forwards the stream to one or more destination servers. A relay can
reduce network bandwidth consumption by load balancing the stream network traffic or by separating unicast and multicast streams.
If the streaming server used supports it, Unicast and multicast can be used together
with relays to create larger network infrastructures. For example, a unicast stream
can be sent to a multicast server on a multicast enabled network. Alternatively, a
multicast stream can be sent to a local multicast enabled LAN, and the same stream
can be sent to the Internet as a unicast stream.
Table 1-4: Summary of Server Capabilities and Compatibilities
■
OPTICODEC-PC INTRODUCTION
1-27
Playing a Stream
You can play streamed media content by:
• Using a server-compatible streaming media player client and directly entering
the URL of the stream.
• Using a web browser and a server-compatible streaming media player client
embedded in a web page.
• Using a server-compatible hardware-based streaming media player.
• Using a server-compatible 3GPP/3GPP2 cellular streaming media player.
OPTICODEC-PC INSTALLATION — STREAMING ENCODER
Section 2
Installation — Streaming Encoder
Installing Opticodec-PC
Opticodec-PC PE
For the PE version of Opticodec-PC, one Optimod-PC 1100 PCI Audio Card is required
per audio program source. In a given computer, you can use as many cards as there
are available PCI slots (including slots in an external PCI expansion chassis).
Multiple encoder instances (including encoders other than Opticodec-PC) can operate simultaneously to generate multiple bitrates and/or stream formats from the
same program source. You may create unlimited numbers Opticodec-PC PE instances, constrained only by CPU resources. Multiple encoder instances require
multi-client driver operation. Windows XP supports multi-client audio driver operation directly, while Windows 2000 requires an audio bridge application such as
Ntonyx Virtual Audio Cable (http://www.ntonyx.com
Each Opticodec-PC PE application is serialized to match the Optimod-PC card with
which it will be used. It cannot be used with another Optimod-PC card. For each Optimod-PC card in a given computer, one Opticodec-PC PE application must be installed. An Opticodec-PC PE application may be moved to any computer provided its
mating Optimod-PC is moved with it to the same computer.
).
2-1
Opticodec-PC LE
Opticodec-PC LE will operate with any quality Microsoft Windows qualified sound
device. If physical audio inputs are not required (for example, by sourcing audio
with a player on the same computer as the encoder) it is possible to use a virtual audio driver program, such as Ntonyx Virtual Audio Cable (http://www.ntonyx.com
feed Opticodec-PC LE. In this way, sound device hardware, whether installed in a PCI
slot or on main board, is available for other uses, such as monitoring a stream.
Only one encoder instance of Opticodec-PC LE will operate on a single computer.
Software Installation
Installation consists of:
• Installing Optimod-PC (if you are using Opticodec-PC PE, which requires the
presence of Optimod-PC to start up)
• Unpacking Opticodec-PC
) to
2-2
INSTALLATION — STREAMING ENCODER ORBAN MODEL
• Installing the Opticodec-PC encoder software on to the computer
• Optionally connecting Optimod-PC’s inputs and outputs
When you have finished installing Opticodec-PC, proceed to Configuring OpticodecPC on page 2-3.
1. Install Optimod-PC in your computer.
[Skip this step if you are installing an Opticodec-PC LE and are using a sound card
other than Optimod-PC.]
For instructions on installing Optimod-PC, refer to the separate Operating Manual for Optimod-PC.
If you are using a sound card other than Optimod-PC, be sure that this sound
card is installed and has been verified to operate correctly in Windows.
2. Unpack and inspect.
A) If you note obvious physical damage, contact the carrier immediately to make
a damage claim. Included in the package are:
1 Operating Manual
1 Software CD-ROM.
B) Save all packing materials! If you should ever have to ship Opticodec-PC, it is
best to ship it in the original carton with its packing materials because both
the carton and packing material have been carefully designed to protect the
manual and CD from damage.
C) Complete the Registration Card and return it to Orban. (please)
The Registration Card enables us to inform you of new applications, performance improvements, software updates, and service aids that may be
developed, and it helps us respond promptly to claims under warranty
without our having to request a copy of your original invoice or other
proof of purchase. Please fill in the Registration Card and send it to us
today. (The Registration Card is located after the cover page).
We do not sell our customer’s names to anyone.
3. Run the installer.
A) Insert the Opticodec-PC installation CD into your computer’s CD drive. The
setup program will usually start up automatically.
Opticodec-PC will run only on Microsoft Windows 2000 (SP3 or higher),
XP, and Server 2003. It will not run on earlier Windows versions, including 95, 98, 98SE, ME, and NT.
B) If the setup program does not start up:
a) Navigate to S
b) In the Run dialog box, type x:setup, where “x” is the drive letter of your
CD-ROM drive.
TART\RUN on your computer.
OPTICODEC-PC INSTALLATION — STREAMING ENCODER
c) Click “OK.”
This will install the Opticodec-PC Encoder application on your computer.
C) Answer the questions when prompted by the Orban installer.
The installer will allow you to create a desktop icon pointing to the Opticodec-PC Encoder application.
Installation on any drive is possible. We recommend installing to the default directory structure to maintain the proper directory hierarchy, espe-cially for multiple encoder installation. Failure to follow this recommendation may produce unpredictable behavior.
D) After installation has completed, Opticodec-PC is ready for configuration and
connection.
Software Authentication
• Opticodec-PC PE does not require software authentication. Opticodec-PC is
tied to an associated Optimod-PC by serial number and can be used in or
moved to any computer containing its associated Optimod-PC card.
2-3
• Opticodec-PC LE requires software authentication to activate it and to bind it
to the computer hardware in which it is installed. Once the software is properly installed and runs the first time, it will guide you through the details of
authentication.
To summarize the authentication procedure:
a) Copy the Opticodec-PC hardware ID number presented to you by the
software.
b) Submit this number by email to Orban for authentication.
c) Orban will supply you a hardware validation number that you will enter
into Opticodec-LE to complete the authentication. Once authenticated,
Opticodec-PC LE will only run on the computer system to which it has been
authenticated.
Configuring Opticodec-PC
This section provides the necessary information to configure , and connect the Opticodec-PC Encoder as quickly as possible. It assumes that:
• The software will be used with a TCP/IP network.
• One or more of the supported Streaming Servers, if used, are available and
configured for connection from Opticodec-PC.
• Unicast or multicast operation has been decided and understood,
• Firewalls, if any, are properly configured.
For details on various streaming encoder configurations, see Section 3: Configuration — Streaming Encoder starting on page 3-1. For details on how to setup TCP/IP
2-4
INSTALLATION — STREAMING ENCODER ORBAN MODEL
networking and streaming servers, see the Section 4: Streaming Servers starting
page 4-1.
Configuration — Graphical User Interface (GUI)
Sound Device
The SOUND DEVICE is only available on Opticodec-PC LE. SOUND DEVICE selects the
Windows sound device that will provide audio input to Optocidec-PC.
On Opticodec-PC PE, you cannot change the sound device from OPTIMOD-
PC
Encoder Parameters
1. Bitrate
Sets the data rate. This determines the audio quality that will be served to the intended audience. See Table 2-1.
Sets the audio sample rate. This either should be set to match the source audio
or audio files or should be set lower.
We do not recommend upsampling or setting the sample rate higher
than the input rate. This does not improve quality because the original
source determines the quality.
3. Encoder
/HEAAC/AACPLUS
AAC
• AAC mode is recommended for bitrates of 128 kbps and higher.
• HE AAC/aacPlus is recommended for bitrates below 128 kbps
4. Channel
ONO /STEREO /STEREO V2
M
• M
ONO/STEREO is supported by all AAC/HE AAC/aacPlus client players.
TEREO V2 is currently only supported by Nullsoft Winamp.
• S
STEREO V2 is recommended for bitrates below 48 kbps.
5. Optimize
EFAULT /VOICE
D
• Use D
• Use V
Stream Description
EFAULT for mixed speech and music programming.
OICE for programming that is exclusively speech.
2-6
INSTALLATION — STREAMING ENCODER ORBAN MODEL
1. Name
Set the Stream Name that you want compatible player clients to display.
2. Description
Set the Stream Description that you want compatible player clients to display.
3. Title
Set the Metadata Title Field that you want compatible player clients to display.
4. Genre
Set the Metadata Genre that you want compatible directory list servers to display.
Destination Server
1. Server
Choose from the following server protocols:
• RTSP/RTP Unicast
• RTSP/RTP Multicast
Although Opticodec-PC fully supports the multicast protocol, there are
currently no multicast player clients available to support aacPlus/HE AAC.
Apple QuickTime supports AAC only, however, aacPlus/HE AAC will play
at half audio bandwidth. This will probably change in the near future.
• HTTP/ICY SHOUTcast
• HTTP/ICY Icecast2
2. RTP
Choose from the following RTP Packet formats:
• MPEG4-GENERIC is normal.
• MPEG4-GENERIC / MP4A-LATM (Opticodec-PC PE only)
• MP4A-LATM is used to stream to 3GPP/3GPP2 devices.
3. URL
Choose the IP address or domain name of streaming server. This address or name
must contain the characters rtsp or http, depending upon type of server.
4. Port
Set the Port number of server used.
The Port Number must be configured at the server.
OPTICODEC-PC INSTALLATION — STREAMING ENCODER
5. Filename
[For a SHOUTcast server, this field is not used.]
• For RTSP/RTP servers, provide the name of the .sdp file.
• For HTTP/ICY Icecast2 servers, provide the name of the mountpoint.
The filename or mountpoint:
• must not contain spaces
• must end with a .sdp extension for RTSP servers
or an .aac extension for Icecast2 servers.
• may contain directory paths.
6. User
If you are using a RTSP/RTP streaming server, provide the server encoder username.
7. Pass
2-7
Provide the server encoder password for streaming server.
8. Encode
Click Encode.
This will:
• Start the Encoder.
• Authenticate the Encoder with the streaming server.
• If using RTSP/RTP, send the .sdp file to the streaming server.
• Initiate streaming.
9. Stop
Click Stop.
This will:
• Stop the Encoder.
• If using RTSP/RTP, the .sdp file on streaming server will be removed from the
server after expiration time specified by the streaming server configuration.
A reconnect is only possible after .sdp expiration.
• Terminate streaming.
2-8
INSTALLATION — STREAMING ENCODER ORBAN MODEL
Audio Levels
Ordinarily, analog levels are calibrated to 0 VU. A properly designed audio system
provides at least 20dB of headroom above 0 VU to compensate for the fact that VU
meters do not indicate peaks, instead indicating average levels.
In the digital domain, it is perfectly acceptable for audio levels to reach 0 dBfs
(meaning 0 dB with reference to “full-scale”: the largest peak level that the system
can represent). Note that there is no headroom above 0dBfs, so any attempt to go
above 0 dBfs is likely to cause audible distortion. Digital audio metering (like that
found in Optimod-PC and Opticodec-PC) typically indicates true peaks, displays the
exact dynamic range usage accurately, and makes it easy to prevent distortion
caused by peak overloads.
Not all sound device software can accurately meter audio peak levels. Use
Opticodec-PC and/or Opticodec-PC meters to ensure that Opticodec-PC is
not over-driven.
Precision peak level control is an important feature of Optimod-PC — it automatically prevents Opticodec-PC from ever being overdriven. This prevents the distortion
often associated with excessive levels and keeps your audio sounding professional.
Configuration — Command Line Interface (CLI)
You can run Opticodec-PC in command-line mode. This is especially useful for automated batch controlling or automatic startup of streams. You can run several instances of Opticodec-PC PE at a time, given enough available CPU power.
Querying Audio Devices
To show the audio devices or ports available on your computer, you must run an
included utility program, showAudioInputPorts.exe, from the command line. The
program will list available devices or ports, each with a corresponding device number or audio-input-port. Use this number for the Opticodec-PC command-line syntax.
If the Windows Preferred Audio Device is changed in the Control Panel or
additional sound devices are added or removed, it is possible that the device or audio-input-port number will change. You must then rerun
showAudioInputPorts.exe to obtain the new device or port numbers.
Opticodec-PC LE supports any Windows sound device, not just Optimod-PC. That
sound device’s capabilities determine what audio sources can be used with LE. Some
audio devices do not have WAV Out capability and therefore cannot route audio
files between a player application and Opticodec-PC. Only physical audio inputs can
be used on such devices. If WAV Out capability is required and the sound device
hardware does not support it, a virtual audio driver program, such as Ntonyx Virtual
Audio Cable (http://www.ntonyx.com
pear as another available audio device or port and will not use any hardware sound
devices, leaving them free for other uses such as monitoring.
<generate-LATM>
RTP packet format
0 – MPEG-4-generic, 1 – MP4A-LATM
<session-name>
Stream Name of choice, enclosed in quotes if spaces are included
<session-info>
Stream Information of choice, enclosed in quotes if spaces are included
<session-author>
Stream Author of choice, enclosed in quotes if spaces are included
<stream-copyright>
Stream Copyright of choice, enclosed in quotes if spaces are included
<rtsp-server-port>
554 default, must be different for multiple multicast instances
2-9
2-10
INSTALLATION — STREAMING ENCODER ORBAN MODEL
<stream-multicast>
0 – Unicast, 1 - Multicast
<rtsp-server-name-or-address>
123.45.67.8 – ip address or domain name of streaming server
<remote-file-name>
xxxx.sdp – must end with .sdp extension and contain no spaces
<username>
Streaming server encoder username
use “” if username is not used
<password>
Streaming server encoder password
use “” if password is not used
Creating Batch Files
A text editor program can create batch files that use the exact same command-line
syntax as that shown above. Batch files can be executed by double-clicking on them
or by creating a Shortcut or Alias and place it in the Programs Startup folder.
Audio Levels
Ordinarily, analog levels are calibrated to 0 VU. A properly designed audio system
provides at least 20dB of headroom above 0 VU to compensate for the fact that VU
meters do not indicate peaks, instead indicating average levels.
In the digital domain, it is perfectly acceptable for audio levels to reach 0 dBfs
(meaning 0 dB with reference to “full-scale”: the largest peak level that the system
can represent). Note that there is no headroom above 0dBfs, so any attempt to go
above 0 dBfs is likely to cause audible distortion. Digital audio metering (like that
found in Optimod-PC and Opticodec-PC) typically indicates true peaks, displays the
exact dynamic range usage accurately, and makes it easy to prevent distortion
caused by peak overloads.
Not all sound device software can accurately meter audio peak levels. If
yours cannot, you must use a calibrated meter application like Pinguin
Audio Meter.
Precision peak level control is an important feature of Optimod-PC — it automatically prevents Opticodec-PC from ever being overdriven. This prevents the distortion
often associated with excessive levels and keeps your audio sounding professional.
OPTICODEC-PC CONFIGURATION — STREAMING ENCODER
Section 3
Configuration — Streaming Encoder
Unicast — RTSP/RTP Darwin Streaming Server
Encoder/Server — Same Computer
3-1
• Any encoder running on the same computer as DSS can connect without au-
thentication.
• A Username and Password are not required for the encoder.
3-2
CONFIGURATION — STREAMING ENCODER ORBAN MODEL 1010
Encoder Destination Server Parameters:
Server: RTSP/RTP - Unicast
URL: rtsp://127.0.0.1 or rtsp://localhost
Port: 554 (Default) – Determined by server configuration.
Username: [Leave this empty]
Password: [Leave this empty]
Filename: StreamName.sdp – Stream name of your choice.
The filename:
• must not contain spaces
• must end with a .sdp extension
• may contain a directory path.
• is case sensitive.
Encoder/Server — Different Computer
OPTICODEC-PC CONFIGURATION — STREAMING ENCODER
Any encoder running on a separate computer from QTSS/DSS requires QTSS/DSS authentication to connect.
Encoder users and access must be configured on the streaming server. Do this by
adding QTSS/DSS users and allowing them server write access. If the streaming server
has not been configured, refer to the Section 4: Streaming Servers (starting on page
4-1) for more information.
Encoder Destination Server Parameters:
Server: RTSP/RTP - Unicast
URL: rtsp://streaming.server.ip.address or
rtsp://streaming_server_domain_name
Port: 554 (Default) – Determined by server configuration.
Username: Encoder Username – Determined by server configuration.
Password: Encoder Password – Determined by server configuration.
Filename: StreamName.sdp – Stream name of your choice.
The filename:
3-3
• must not contain spaces.
• must end with a .sdp extension.
• may contain directory paths.
• Is case sensitive.
Server Connection
When Opticodec-PC Streaming Encoder negotiates a connection with the streaming
server, the .sdp file is automatically uploaded to the server. If the encoder is disconnected for any reason, there is a timeout period set by the server configuration that
must be expired before another connection is allowed with the same .sdp file name.
Firewall Considerations
Most hardware firewalls and routers will automatically open the necessary outbound ports. Opticodec-PC Streaming Encoder uses TCP/IP for all server connections,
so there should be nothing to configure in a hardware firewall and/or router. In the
event that outbound ports are blocked, or a software firewall is used, the appropriate ports will require opening.
FUNCTION PORT PROTOCOL DIRECTION
Encoder – Opticodec-PC – RTSP - Default 554 TCP Out
Table 3-1: Firewall or router configuration for RTSP/RTP Darwin Streaming Server
3-4
CONFIGURATION — STREAMING ENCODER ORBAN MODEL 1010
Multicast – RTSP/RTP Darwin Streaming Server
A server is not required for multicast operation. Opticodec-PC provides an internal
multicast server. Currently, the only multicast compatible client player with Opticodec-PC is Apple QuickTime. At this time, it only supports AAC, not HE AAC/aacPlus.
Encoder Destination Server Parameters:
Server: RTSP/RTP - Multicast
URL: [Leave this empty]
Port: 554 (Default) – Determined by server configuration.
Username: [Leave this empty]
Password: [Leave this empty]
Filename: [Leave this empty]
The URL that users must enter into their multicast compatible client players will
be indicated in the status region of Opticodec-PC Encoder. The URL will be in the
form: rtsp://ip.address/multicastStream.
OPTICODEC-PC CONFIGURATION — STREAMING ENCODER
Note the case sensitivity in the URL.
Multicast Relay
Relaying a multicast stream requires a multicast enabled network and an RTSP/RTP
server such as QuickTime Streaming Server or Darwin Streaming Server. Configure
Opticodec-PC to supply a unicast stream to the streaming server; the streaming
server handles the multicast.
Multicast Addresses
Multicast uses Class D addresses, 224.0.0.0 through 239.255.255.255. If you are to
multicast on the Internet, you must allocate these addresses through IANA. Opticodec-PC will dynamically assign a multicast address to multicast sessions. To view this
address, you can use a TCP/UDP port program such as TCPView.
Firewall Considerations
Whenever using multicast, through a firewall or router, it must be configured to
pass the multicast address range. Many firewalls and routers are configured by default to block the entire multicast address range. This is an important consideration
if streaming on Intranets or the Internet.
3-5
3-6
CONFIGURATION — STREAMING ENCODER ORBAN MODEL 1010
Unicast — HTTP/ICY SHOUTcast
Because Nullsoft Winamp, the primary player for Icecast2 streams, supports for HE
AAC/aacPlus v2, we recommend using a Channel setting of Stereo v2. This will provide the best codec performance at low bitrates.
Encoder Destination Server Parameters:
Server: HTTP/ICY SHOUTcast
URL: http://streaming.server.ip.address or
http://streaming_server_domain_name
Port: 8000 (default) – Determined by server configuration.
Username: [Leave this empty]
Password: Encoder (Source) Password – Determined by server configuration.
Filename: [Leave this empty]
OPTICODEC-PC CONFIGURATION — STREAMING ENCODER
Firewall Considerations
Most hardware firewalls and routers will automatically open the necessary outbound ports. Opticodec-PC Streaming Encoder uses TCP/IP for all server connections,
so there should be nothing to configure in the firewall and/or router. In the event
that outbound ports are blocked or a software firewall is used, the appropriate
ports will require opening.
FUNCTION PORT PROTOCOL DIRECTION
Encoder – Opticodec-PC – RTSP – Default 8000 TCP Out
Table 3-2: Firewall or router configuration for HTTP/ICY SHOUTcast
Unicast — HTTP/ICY Icecast2
3-7
Because Nullsoft Winamp, the primary player for Icecast2 streams, supports for HE
AAC/aacPlus v2, we recommend using a Channel setting of Stereo v2. This will provide the best codec performance at low bitrates.
3-8
CONFIGURATION — STREAMING ENCODER ORBAN MODEL 1010
Encoder Destination Server Parameters:
Server: HTTP/ICY Icecast2
URL: http://streaming.server.ip.address or
http://streaming_server_domain_name
Port: 8000 (default) – Determined by server configuration.
Username: [Leave this empty]
Password: Encoder (Source) Password – Determined by server configuration.
Filename: mountpoint.aac – Mountpoint name of your choice.
The filename:
• must not contain spaces
• must end with a .aac extension
• may contain a directory path.
• is case sensitive.
Firewall Considerations
Most hardware firewalls and routers will automatically open the necessary outbound ports. Opticodec-PC Streaming Encoder uses TCP/IP for all server connections,
so there should be nothing to configure in the firewall and/or router. In the event
that outbound ports are blocked or a software firewall is used, the appropriate
ports will require opening.
FUNCTION PORT PROTOCOL DIRECTION
Encoder – Opticodec-PC – RTSP – Default 8000 TCP Out
Table 3-3: Firewall or router configuration for HTTP/ICY Icecast2
OPTICODEC-PC STREAMING SERVERS
Section 4
Streaming Servers
Introduction
Orban Opticodec-PC Streaming Encoder supports several different streaming server
platforms. Choosing which platform to use will depend upon several things, including intended audience, supported client players, supported client player features,
compatibilities, server features, and administration complexity. You could even consider using more than one server platform.
4-1
Darwin Streaming Server (DSS)
Darwin Streaming Server is a full featured, scaleable, enterprise-class streaming media server that can stream both live streams encoded with Orban Opticodec-PC
Streaming Encoder and files produced by the Orban Opticodec-PC File Encoder. It
uses standards-based RTSP/RTP and HTTP protocols. It is open-source, based on the
same code base as the Apple QuickTime Streaming Server, provides a high level of
customizability by allowing code manipulation, and runs on a variety of computer
platforms. Both DSS and QTSS are built on a core server that provides state of the
art quality of service features and support for the latest digital media standards,
MPEG-4 and 3GPP.
Supported Protocols
•RTSP over TCP. The Real Time Streaming Protocol (RTSP) is a client-server
multimedia presentation control protocol that provides efficient delivery of
streamed multimedia over IP networks. RTSP provides a basis for negotiating
unicast and multicast transport protocols, such as RTP, and negotiates codecs
in a way that is independent of file format. It works well for large audiences
as well as single-viewer media-on-demand. RFC 2326 defines the IETF standard
for RTSP. Both QuickTime Player 6 and RealPlayer 10 support this protocol.
•RTP over UDP. The Realtime Transport Protocol (RTP) is a packet format for
multimedia data streams. RTP is used by many standard protocols, such as
RTSP (for streaming applications) and SDP (for multicast applications). RTP
provides the data delivery format for RTSP and SDP. RFC 1889 defines the IETF
proposed standard for RTP. Both QuickTime Player 6 and RealPlayer 10 support this protocol.
•RTP over Reliable UDP. If an RTP player client requests it, the server sends
RTP packets using Reliable UDP. Reliable UDP is a set of quality-of-service en-
4-2
STREAMING SERVERS ORBAN MODEL 1010
hancements (such as congestion control tuning improvements, retransmit, and
thinning server algorithms) that improve the ability to present a good quality
RTP stream to RTP clients even in the presence of packet loss and network
congestion.
•RTSP/RTP in HTTP (tunneled). Firewalls often prevent users on private IP
networks from receiving RTSP/RTP streams. On private networks, an HTTP
proxy server is often configured to provide users with indirect access to the
Internet. To reach such clients, QuickTime Player 6 supports the placement of
RTSP and RTP data in HTTP requests and replies, allowing viewers behind firewalls to access RTSP/RTP streams through HTTP proxy servers. Both QuickTime
Player 6 and RealPlayer 10 support this protocol.
•RTP over RTSP (RTP over TCP). Certain firewall designs and other issues may
require a server to use alternative means to send data to clients. RFC 2326 allows RTSP packets destined for the same control endpoint to be packed into a
single lower-layer protocol data unit (PDU), encapsulated into a TCP stream,
or interleaved with RTP and RTCP packets. Interleaving complicates client and
server operation and imposes additional overhead, so it should only be used if
RTSP is carried over TCP. When the transport is RTP, RTCP messages are also interleaved by the server over the TCP connection. By default, RTCP packets are
sent on the first available channel numbered higher than the RTP channel.
The client may request RTCP packets on another channel explicitly. This is
done by specifying two channels in the interleaved parameter of the transport
header. RTCP is used for synchronization when two or more streams are interleaved. In addition, this provides a convenient way to tunnel RTP/RTCP packets
through the TCP control connection when required by the network configuration, and to transfer them onto UDP when possible. Both QuickTime Player 6
and RealPlayer 10 support this protocol.
•HTTP/ICY (SHOUTcast/Icecast). This implementation of HTTP/ICY is Icecast1.
This protocol has been deprecated and Icecast2 supersedes it. Orban Opticodec-PC Streaming Encoder does not currently support it.
DSS Installation — Windows
This information will guide you through a typical basic Darwin Streaming Server
(DSS) software installation for unicast operation on a Microsoft Windows operating
system. This is the most common streaming server configuration.
Installation, setup, and configuration of server software is not recommended for computer novices because of complexity and potential security risks. Proceed with caution. Knowledge of basic Command Prompt
operation is assumed.
For other server configurations, operating systems, and more details, consult the
Darwin Streaming Server Administration Manual, available at:
Depending upon the application and/or client player capacity of the streaming system you intend to serve, Darwin Streaming Server requirements will vary.
Because Darwin Streaming Server is available for Microsoft Windows, it is possible to
run the Opticodec-PC encoder on the same computer system. This is only recom-
OPTICODEC-PC STREAMING SERVERS
mended for small LAN or WAN applications. For larger Internet streaming applications, it is always preferable to use separate encoder and server computers to optimize reliability, redundancy, and system architecture.
Operating System Requirements
Microsoft Windows 2000 Professional/Server, XP Professional, or 2003 Server
B) Save the distribution self-extracting .exe file into any directory.
C) Run the distribution self-extracting .exe file into a temporary directory.
D) Run
install.bat by double-clicking on it.
Install.bat runs in a command box. It copies all files into C:\Program
Files\Darwin Streaming Server and starts the Darwin Streaming
Server as a Service. By default, the Service is configured as Automatic
Startup.
The installer prompts for the Administrator Username.
E) Supply the Administrator Username.
4-4
STREAMING SERVERS ORBAN MODEL 1010
The installer prompts for the Administrator Password.
F) Supply the Administrator Password.
The installer adds the Administrator Username and Password.
Do not close the command box.
Minimizing the command box is OK. Closing the Command Box terminates Perl and will not allow the subsequent operations to complete installation and configuration.
G) Open a Web Browser to: http://127.0.0.1:1220
The DSS Login will appear.
H) Log in as Administrator using the Username and Password assigned previ-
ously.
On the first login, DSS will complete its configuration.
I) DSS Admin will prompt for the MP3 Broadcast Password. Enter it.
Although this function is not used for the RTSP/RTP version of OpticodecPC Encoder, it should be entered and secured. This is for streaming
Shoutcast/Icecast HTTP compliant streams and may be changed at any
time.
J) DSS Admin will prompt for SSL. Enable it if required.
Enable this option only if you administer DSS remotely, require extra security, and have a valid SSL certificate installed for secure remote administration. Your browser must also support SSL.
K) DSS Admin will display the default Media path. Accept the default unless you
wish to change to a different Media path directory.
If you change from the default Media path, it is necessary to create the
directory if it does not already exist.
L) DSS Admin will prompt for Streaming on Port 80. Use this option to stream us-
ing the HTTP protocol with encapsulated RTP over Port 80.
Do not use streaming on Port 80 on the same computer or IP address as a
web server, as Port 80 will conflict with HTTP web server traffic. Currently, Streaming on Port 80 only works with QuickTime Player and allows streaming through firewalls that block Port 554 or UDP packets.
DSS is now ready to accept connections from Players, such as QuickTime, and
RealPlayer.
3. Test the Darwin Streaming Server.
Using QuickTime, try to play one of the test files that installed with the server
software installation.
This can be done on the local or a remote computer.
A) Start QuickTime.
B) From the File menu, Open the URL using the following syntax:
OPTICODEC-PC STREAMING SERVERS
rtsp://dss.server.ip.address/sample_100kbit.mp4
where dss.server.ip.address is the IP address or hostname of DSS.
The test file should play the QuickTime logo with audio and video.
The supplied test files will not work with RealPlayer, as they are in an unsupported format.
Security: Access and Authentication
A certain level of security is inherent in real-time streaming because content is delivered only as the client player needs it and no media files remain afterwards. However, you should address other security issues. These include access control for encoders and client players, if needed.
By default, DSS has no authentication configured for encoder-server connections.
There are two encoder-server configurations that determine access and/or authentication to allow you to create the session description protocol file (.sdp file) required
for live streams. The .sdp file provides information about the format, timing, and
authorship. DSS access and authentication are configured using text files, called ac-cess files, in very much the same way that an Apache web server is configured.
DSS access and authentication are not configured using the DSS Remote
Administration browser interface.
4-5
DSS can also be configured to control client player access to live streams as well as
streamed media files. Currently, only QuickTime Player 6 above supports this;
RealPlayer 10 does not.
For access control to work, an access file must be present in the DSS media directory.
If an access file is not present, all player clients are allowed to access the media and
live streams in the directory, and all encoders on other computers will have no write
access and thus will not connect.
Different encoder-server configurations require slightly different setups:
Opticodec-PC Encoder and DSS on the Same Computer
Any encoder running on the same computer as DSS can connect without authentication. DSS does not require or use authentication in this configuration. A Username
and Password are not required for the encoder to have write access to create the
.sdp file in the media directory, and therefore no further configuration is necessary.
Opticodec-PC Encoder Destination Server Parameters:
URL: rtsp://127.0.0.1 or rtsp://localhost
Port: 554
Username: [Leave this empty]
Password: [Leave this empty]
Filename: StreamName.sdp
The filename:
• may include a directory path
• must contain no spaces
• must end with an .sdp extension.
4-6
STREAMING SERVERS ORBAN MODEL 1010
Opticodec-PC Encoder and DSS on Different Computers
Any encoder running on a different computer from DSS requires DSS authentication
to connect. You have two choices: (1) allowing unlimited access from any encoder
user or (2) limiting access from encoder users. Implement DSS authentication by creating an access file and editing it accordingly.
If you allow unlimited access, any user is allowed server write access in the access
file. Only use unlimited access for internally controlled networks such as LAN/WAN
configurations. Because there is no authentication, any Orban Opticodec-PC or Apple QuickTime Broadcaster can connect to the server and use unauthorized streaming bandwidth.
To limit access, you must add encoder users. Do this by adding DSS users and configuring the access file for write access (see Access Control on page 3-7). Opticodec-PC
can then create the .sdp file in the directory you specified (see Filename in
Opticodec-PC Encoder Destination Server Parameters on page 3-5).
Opticodec-PC Encoder Destination Server Parameters – Any User
URL: rtsp://streaming.server.ip.address or rtsp://streaming_server_domain_name
Port: 554
Username: [Leave this Empty]
Password: [Leave this Empty]
Filename: StreamName.sdp
The filename:
• may include a directory path
• must contain no spaces
• must end with an .sdp extension.
Opticodec-PC Encoder Destination Server Parameters – Limit User
To configure client player access for authenticated live streams and/or streamed media files, you must create an access file in the media directory you wish to secure. If
the access file is shared with encoder access entries, you must create or add the appropriate entries to the access file. The directory that is used to store .mp4 and .mov
streamed media files and/or .sdp files for live streams can contain other directories
and each directory can contain its own access file. Currently, only QuickTime Player 6
(and above) supports authenticated client player access; RealPlayer 10 does not.
To disable authentication for a media directory, edit the file accordingly. If live
streams are used, remove the access file or rename it.
OPTICODEC-PC STREAMING SERVERS
Access Control
Allow Write Access
By default, DSS does not contain a qtaccess file. You must create a qtaccess file
and place it in the DSS media directory, Windows default, C:\Program Files\Darwin Streaming Server\Movies. The file must be named qtaccess
and saved as plain text without formatting.
<Limit WRITE>
require user username
</Limit>
require any-user
username is an encoder username of your choice.
4-7
Allow Authenticated Client Player Access
By default, DSS does not contain a qtaccess file. For access control to work, an access file must be present in the DSS media directory, Windows default, C:\Program Files\Darwin Streaming Server\Movies. If an access file is not present, all clients are allowed to access the media in the directory, and all encoders on other
computers will have no write access. The file must be named qtaccess and saved as
plain text without formatting.
Use a text editor program such as Notepad.
qtaccess file for authenticated client player access:
<Limit WRITE>
require user username
</Limit>
require valid-user
username is an encoder username of your choice.
Access File Reference
The qtaccess file is a text file in the DSS Media directory, subdirectory, or set of files
in subdirectories. The qtaccess file will protect all media files in the directory with
the qtaccess file and its subdirectories.
It is important to remember that the qtaccess file can control both encoder and client player access, depending upon the file’s location.
The parameters in the file can contain some or all of the following:
Terms not in angle brackets are keywords. Anything in angle brackets is
information you supply. Do not include the angle brackets.
• AuthName <message>
Name of the authentication domain (optional). This is the text that users see when the login window appears. If your message includes
spaces, make sure you enclose the entire text within quotation marks.
This is not supported in the current login window dialog box, so this
option will have no effect on client systems.
• AuthUserFile <user filename>
Name and path of the user file. If it is not specified, the default qtusers
file will be used. For Windows, it is C:\Program Files\Darwin Streaming Server\qtusers.
• AuthGroupFile <group filename>
Name and path of the groups file (optional). If it is not specified, the
default qtgroups file will be used. For Windows, it is C:\Program Files\Darwin Streaming Server\qtgroups. A group file is optional. If you have many users, instead of listing each user it may be
easier to set up one or more groups and then to enter the group
names.
• AuthScheme
Authentication scheme, either digest or basic, providing the ability to
specify the authentication scheme on a directory-by-directory basis.
• require user <username1> <username2>
Limits access to the media directory to the specified list of users. (A
“user” is authorized to log in and access the media file, live stream, or
live encode.) The username must be in the user file you specified. You
can also specify valid-user, which designates any valid user.
• require group <groupname1> <groupname2>
Limits access to the media directory to the specified list of groups defined in the groups file. The group and its members must be listed in
the groups file specified.
• require valid-user
Limits access to the media directory to any valid users defined in the
qtusers file. The statement require valid-user specifies that any
authenticated user in the qtusers file can have access to the media
files. If this tag is used, the server will prompt users for an appropriate
username and password.
OPTICODEC-PC STREAMING SERVERS
• require any-user
Provides unlimited access to the media directory. Allows any user to
access media without providing a username or password. This is the
most common type of access for streaming media.
• <Limit Write>
Provides access control for encoder write access to DSS. The require
statements above can be placed within the <Limit Write></Limit>
tags. This construct is used for the RTSP announce protocol to limit the
users or encoders, that can broadcast through the server.
• </Limit>
To Add a User:
A) Open a Command Prompt.
B) Change the directory to C:\Program Files\Darwin Streaming Server.
4-9
C) Run:
qtpasswd –f <user filename> <username>
Example:
qtpasswd –f qtusers encoder
where qtusers is the DSS user filename and encoder is the username.
D) DSS will prompt for user password. Enter it.
E) To add additional Users, repeat steps (B) through (D).
Be careful when using qtpasswd in with the -c option. The qtusers file
also contains the account information of the “admin” user and it is possible to overwrite the original qtusers file.
To Change a User Password:
A) Open a Command Prompt.
B) Change the directory to C:\Program Files\Darwin Streaming Server.
C) Run:
qtpasswd <username>
Example:
qtpasswd encoder
D) DSS will prompt for user password. Enter it. The password you enter replaces
the previous password.
Group File Reference (Optional)
The qtgroups file is a text file in the DSS root directory, Windows default,
C:\Program Files\Darwin Streaming Server\qtgroups. If you have many
users, rather than listing each user it may be easier to set up one or more groups
and then enter the group names.
C) Save the file as plain text without formatting.
To Delete a User from a User or Group File:
A) Open the user file with a text editor.
Use a text editor program such as Notepad.
B) Delete the username and encrypted passwords line from the user file.
C) Delete the username from the group file, if used.
Remote Administration
A Perl script controls DSS Remote Administration. By default, and to supply extra
security, DSS Remote Administration does not start automatically on boot. To allow
DSS Remote Administration to be available after any reboot, it is recommended, but
not required, that a Shortcut or Alias be created and placed in the Programs Startup
folder. Without this Shortcut, DSS Remote Administration will be unavailable until
streamingadminserver.pl is executed manually by double-clicking it.
C:\Documents and Settings\All Users\Start Menu\Programs\Startup
Other Configuration Options
There are several other server configuration options available by editing the
streamingserver.xml file located in the Darwin Streaming Server root directory.
This file is thoroughly commented.
Use a text editor program such as Notepad.
OPTICODEC-PC STREAMING SERVERS
Firewall Considerations
DSS is a very secure, robust streaming server designed to be connected directly to
the Internet if required. It is not necessary or recommended to operate DSS from
behind a firewall or router using Network Address Translation (NAT). This makes
things much more complicated than they need to be. However, if DSS is located behind a firewall or router and access from the Internet is required, specific ports need
to be opened in the firewall to allow Real Time Streaming Protocol (RTSP) requests
from users, encoded audio from the encoder and outbound streams to clients, and
DSS Remote Administration on the local network and the Internet.
FUNCTION PORT PROTOCOL DIRECTION
Encoder – Opticodec-PC – RTSP - Default 554 TCP In
Encoder – Opticodec-PC – HTTP - Default 8001 TCP In
Player-Control – RTSP 554 TCP In
Player-Media – RTSP/RTP/UDP 6970-6999 UDP Out / In
4-11
Player-Media – RTSP/RTP/TCP Interleave 554 TCP Out
Player-Media – HTTP Tunneling 80 TCP Out
Player-Media – HTTP/ICY - Default 8000 TCP Out
DSS Remote Admin – HTTP 1220 TCP In
DSS Remote Admin – HTTPS 1240 TCP In
Table 4-1: Firewall configuration for various protocols and servers
If the firewall or router is using NAT, it is necessary to configure DSS with the IP address of the Internet side of the router or firewall for UDP streams to work properly.
Do this by editing the alt_transport_src_ipaddr option in the stream-ingserver.xml file located in the Darwin Streaming Server root directory.
The default value is empty:
<PREF NAME="alt_transport_src_ipaddr" ></PREF>
Change it to contain the Internet IP address (for example):
SHOUTcast™ DNAS (Distributed Network Audio Server) is a free, downloadable
streaming media server that can stream live streams encoded with Orban OpticodecPC Streaming Encoder and files produced by the Orban Opticodec-PC File Encoder,
including stream-related metadata. SHOUTcast DNAS requires one server instance
and port pair per stream. SHOUTcast DNAS offers a web based stream redirector,
such that if a stream URL is entered into a web browser, the stream can be played by
the user’s clicking on the appropriate link, provided that the user has an AAC/HE
AAC/aacPlus player client such as Winamp installed and configured correctly.
SHOUTcast DNAS is available for Microsoft Windows and various UNIX platforms
and uses the popular HTTP/ICY protocol. The Windows version offers both a command line (CLI) and graphical user interface (GUI). SHOUTcast is a product of Nullsoft, Inc., which also provides the popular free Windows Winamp player client.
Supported Protocol
•SHOUTcast HTTP/ICY over TCP. The SHOUTcast HTTP/ICY protocol is based
on the same TCP HTTP protocol used for web servers. The encoder and player
client negotiation, authentication, metadata, and media data are specific to
SHOUTcast. This protocol has the advantage of working through most firewalls easily.
Installation – Microsoft Windows
This information will guide you through a typical SHOUTcast DNAS GUI software
installation on a Microsoft Windows operating system and will provide you with any
Orban Opticodec-PC specific information.
Installation, setup, and configuration of server software is not recommended for computer novices because of complexity and potential security risks. Proceed here with caution. Knowledge of basic Command
Prompt operation is assumed.
For other server configurations, operating systems, and more details, consult the
documentation available at:
http://www.shoutcast.com/support/docs/
Complete SHOUTcast DNAS documentation is provided in the README.TXT file that
is installed with DNAS in the same directory.
Depending upon the application and/or client player capacity of the streaming system you intend to serve, SHOUTcast DNAS requirements will vary.
Because SHOUTcast DNAS is available for Microsoft Windows, it is possible to run
the Opticodec-PC encoder on the same computer system. This is only recommended
for small LAN or WAN applications. For larger Internet streaming applications, it is
always preferable to use separate encoder and server computers to optimize reliability, redundancy, and system architecture.
OPTICODEC-PC STREAMING SERVERS
Operating System Requirements
Microsoft Windows 2000 Professional/Server, XP Professional, or 2003 Server
A) Accept the license agreement.
B) Save the SHOUTcast WIN32 Console/GUI server file to any directory.
2. Install SHOUTcast™ DNAS.
A) Run the distribution self-extracting .exe to install.
B) Accept all the defaults.
Do not check both GUI and console versions to install; otherwise, only the
console version will install.
The installer will automatically install the DNAS, an uninstaller, and Start Menu
Shortcuts.
DNAS installation is complete.
Configuration — Single Stream
1. Start SHOUTcast DNAS.
A) Go to the Start Menu / SHOUTcast DNAS
B) Click the E
A text editor will appear with the Configuration file for the server.
DIT CONFIG in the menu bar.
4-14
STREAMING SERVERS ORBAN MODEL 1010
2. Edit the SHOUTcast DNAS Configuration File.
A)Edit the items under the R
EQUIRED STUFF header.
The default values are:
MaxUser=32
Password=changeme
PortBase=8000
The PortBase value and value + 1 must be available. e.g.:
8000/8001
It is unnecessary for these to be even numbers. However, even numbers
are generally used.
Except for port 80, we recommended using ports above 1024.
If port 80 is used, it should get through even the tightest firewalls. If a
web browser can connect to a web site, then a streaming player client
should connect.
B) Edit any other relevant items.
The sc_serv.ini file is thoroughly commented and describes the various
server options.
C) Save the file when done.
D) Restart the server. The new changes will take effect.
DNAS installation is now complete.
3. Create a Shortcut for Auto Startup (optional).
A) Create a Shortcut for:
C:\Program Files\SHOUTcast\sc_serv.exe
B) And include it in:
C:\Documents and Settings\All Users\Start Menu\Programs\Startup
Configuration — Multiple Streams
Each Opticodec-PC stream requires a separate instance of SHOUTcast DNAS. Each
instance must be configured for a different base port. This can be managed by using
.bat files that call SHOUTcast DNAS sever and separate configuration files. The .bat
files can instruct multiple servers to start multiple instances at the same time. They
can also auto start upon Windows startup.
1. Edit the SHOUTcast DNAS Configuration File(s).
A) Open the configuration file with a text editor.
Use a text editor program such as Notepad.
B) Edit the items under the REQUIRED STUFF header.
The default values are:
OPTICODEC-PC STREAMING SERVERS
MaxUser=32
Password=changeme
PortBase=8000
The PortBase value and value + 1 must be available for each server instance. e.g.:
8000/8001, 8002/8003, 8004/8005, 8006/8007…
It is unnecessary for the pairs to increase in increments of 2.
It is unnecessary for the first number in the pair to be even. However,
even numbers are generally used.
Except for port 80, we recommend using ports above 1024.
If port 80 is used, it should get through even the tightest firewalls. If a
web browser can connect to a web site, then a streaming player client
should connect.
C) Edit any other relevant items.
The sc_serv.ini file is thoroughly commented and describes the various
server options.
D) When finished, save the file with a unique filename having a file extension of
.ini for each server instance, e.g.:
4-15
sc_serv1.ini, sc_serv2.ini…
This will be the filename specified in the .bat file created later.
2. Create .bat Files.
A) Open a text editor program such as Notepad.
B) Create an entry or entries to start SHOUTcast DNAS by calling the appropriate
.ini file.
Example .bat file to start one SHOUTcast DNAS Server:
sc_serv.exe sc_serv1.ini
Example .bat file to start four SHOUTcast DNAS Servers:
C) When finished, save the file with a .bat file extension in the same directory as
SHOUTcast DNAS.
D) Double-clicking the .bat file will start the SHOUTcast DNAS servers.
E) DNAS installation is now complete.
3. Create Shortcuts for Auto Startup (optional).
A)Create a Shortcut for:
C:\Program Files\SHOUTcast\name-of-.bat-file(s)
4-16
STREAMING SERVERS ORBAN MODEL 1010
B) And include it in:
C:\Documents and Settings\All Users\Start Menu\Programs\Startup
Server User Interface
This is the SHOUTcast DNAS graphical user interface.
Remote Administration
SHOUTcast DNAS provides remote administration via a web browser.
A) Open a web browser to:
http://serverIP-or-domain:port
B) Log in using the admin password that is specified in the config file.
Firewall Considerations
SHOUTcast DNAS is a very secure, robust streaming server that is designed to be connected directly to the Internet if required. Operating SHOUTcast DNAS from behind
Figure 4-1: SHOUTcast DNAS graphical user interface
OPTICODEC-PC STREAMING SERVERS
a firewall or router using NAT is not required or recommended. However, if SHOUTcast DNAS is located behind a firewall or router, and access from the Internet is required, specific ports need to be opened and forwarded in the firewall to allow inbound encoder connections and outbound HTTP requests from player clients to
stream media data to them.
FUNCTION PORT PROTOCOL DIRECTION
Encoder – Opticodec-PC – HTTP - Default 8001 TCP In
Player-Media – HTTP/ICY - Default 8000 TCP Out
Note: Ports shown in this chart are default values. Actual ports used must
be configured in the firewall and/or router.
Table 4-2: Firewall considerations for SHOUTcast DNAS
Port forwarding must also route the incoming HTTP requests from player clients to
the IP address of the SHOUTcast DNAS.
For multiple streams, the necessary port pairs need to be opened and forwarded
accordingly.
4-17
Icecast2
Icecast2 is a free downloadable open-source streaming audio server capable of
streaming both live streams encoded with Orban Opticodec-PC Streaming Encoder
and files produced by Orban Optidodec-PC File Encoder, including stream-related
metadata. Icecast2 also offers additional server security by using encrypted passwords for encoder access. It is available for Microsoft Windows and various UNIX
platforms and uses the popular HTTP/ICY protocol. The Windows version offers both
a command line (CLI) and graphical user interface (GUI). Icecast2 supports mountpoints, thus allowing multiple streams on a single server using the same port. Icecast2 produces streams compatible with the popular free Windows Winamp player
client.
Supported Protocol
•Icecast2 HTTP/ICY over TCP. The Icecast HTTP/ICY protocol is based
on the same TCP HTTP protocol used for web servers. The encoder and
player client negotiation, authentication, and metadata and media
data is specific to Icecast2. This protocol has the advantage of working
through most firewalls easily.
4-18
STREAMING SERVERS ORBAN MODEL 1010
Installation — Microsoft Windows
This information will quickly guide you through a typical Icecast2 GUI software installation on a Microsoft Windows operating system and provide you with any
Orban Opticodec-PC specific information.
Installation, setup, and configuration of server software is not recommended for computer novices because of complexity and potential security risks. Proceed with caution. Knowledge of basic Command Prompt
operation is assumed.
For other server configurations, operating systems, and more details, consult the
documentation available at:
http://www.icecast.org/docs.php
Complete Icecast2 documentation is also provided in the icecast2.chm file, which is
installed with Icecast2 in the same directory and is also accessible under the
About/Help menu.
Depending upon the application and/or client player capacity of the streaming system you intend to serve, Icecast2 requirements will vary.
Since Icecast2 is available for Microsoft Windows, it is possible to run the OpticodecPC encoder on the same computer system. This is only recommended for small LAN
or WAN applications. For larger Internet streaming applications, it is always preferable to use separate encoder and server computers to optimize reliability, redundancy, and system architecture.
Operating System Requirements
Microsoft Windows 2000 Professional/Server, XP Professional, or 2003 Server
B) Save the Icecast2 server file to any directory.
2. Install Icecast2.
A) Run the distribution self-extracting .exe to install.
B) Accept all the defaults.
The installer will automatically install Icecast2, an uninstaller, and a Start Menu
Shortcut.
Icecast2 installation is complete.
Configuration
1. Start Icecast2.
A) Go to the Start Menu / Icecast 2
B) Click Configuration / Edit Configuration in the menu bar.
4-19
A text editor will appear with the icecast.xml Configuration file for the
server.
2. Edit the Icecast Configuration File.
A) Edit the items under the <authentication> header.
B)If a port other than the default is to be used, edit the item under the <lis-
ten-socket> header.
The default value is:
<port>8000</port>
Make sure the correct uncommented listen socket is edited.
Otherwise, there will be no change to the listen socket.
C) Edit any other relevant items.
The icecast.xml file is commented and describes the various server options. More thorough information can be found in the About / Help
menu, or in the icecast2.chm file in the Icecast2 Win32 directory.
D) Save the file when done.
Icecast2 installation is now complete.
3. Create Shortcut for Auto Startup (optional).
A) Create a Shortcut for:
4-20
STREAMING SERVERS ORBAN MODEL 1010
C:\Program Files\Icecast2 Win32\Icecast2.exe
B)And include it in:
C:\Documents and Settings\All Users\Start Menu\Programs\Startup
Server User Interface
This is the Icecast2 server graphical user interface. It shows the Server Status and
Source Level Stats tabs.
Figure 4-2: Icecast Server Status Tab
OPTICODEC-PC STREAMING SERVERS
4-21
Note: AAC/HE AAC/aacPlus streams display as MP3 audio, since Icecast2
uses the same content type to stream both AAC and MP3 streams.
Figure 4-3: Icecast Source Level Stats Tab
Streaming Files
Icecast2 provides a means of streaming static on-demand AAC/HE AAC/aacPlus files
produced with Opticodec-PC File Encoder. This is not the same as a web server. A
web server downloads the file to the client player computer, even though the file
will play as it is downloading. Conversely, Icecast2 streams the file. It does not
download the file.
If the default directory is used, then files may be placed in:
C:\Program Files\Icecast2 Win32\web
They may be streamed to a client player such as Winamp by opening:
http://ip-address-or-domain:port/filename.aac
Remote Administration
Icecast2 provides remote administration via a web browser. Open a web browser to:
http://serverIP-or-domain:port/admin/stats.xsl
Log in using the admin password that is specified in the config file.
4-22
STREAMING SERVERS ORBAN MODEL 1010
Firewall Considerations
Icecast2 is a very secure, robust streaming server that is designed to be connected
directly to the Internet if required. Operating Icecast2 from behind a firewall or
router using NAT is not necessary or recommended. However, if Icecast2 is located
behind a firewall or router and access from the Internet is required, specific ports
need to be opened and forwarded in the firewall to allow inbound encoder connections and outbound HTTP requests from player clients to pass to and from the
server.
FUNCTION PORT PROTOCOL DIRECTION
Encoder – Opticodec-PC – HTTP - Default 8000 TCP In
Player-Media – HTTP/ICY - Default 8000 TCP Out
Note: Ports shown in this chart are default values. Actual ports used must
be configured in the firewall and/or router.
Table 4-3: Firewall considerations; Icecast2
Port forwarding must also route the incoming HTTP requests from player clients to
the IP address of the Icecast2 server.
Multiple Servers
It is possible to operate several type of streaming servers on a single computer in
order to cover all possible combinations of features and client player compatibilities.
If your server is single-homed (that is, having a single IP address), make sure each
server has its own port allocation so there are no conflicts. If your server is multihomed and each streaming server is on a separate IP address, then port allocation is
not an issue.
OPTICODEC-PC CLIENT PLAYERS
5-1
Section 5
Client Players
Comparisons
Opticodec-PC AAC/HE AAC/aacPlus streams can be played on various software and
hardware client players, including 3GPP/3GPP2 wireless devices. Software client players are available for different computer operating systems or platforms. All player
clients are not created equal; they support different features and connection protocols. This chart is a comparison of some of the available players and their supported
protocols. More players are adding support for AAC/HE AAC/aacPlus as users discover its superior sound quality and bandwidth efficiency. Open-source players are
also available, although currently they do not offer reliable performance.
Software Client Player Platforms
PLAYER Windows Windows CE Macintosh Linux
QuickTime 6
RealPlayer 10
Winamp 5.05
Coding Technologies Player
Table 5-1: Software Client Player Platforms
■ ■
■ ■ ■
■
■
Software Client Player AAC/HE AAC/aacPlus Codecs
PLAYER AAC HE AAC/aacPlus PCM/WAV
QuickTime 6
RealPlayer 10
Winamp 5.05
Coding Technologies Player
Table 5-2: Software Client Player AAC/HE AAC/aacPlus Codecs
■
■ ■ ■
■ ■ ■
■ ■
5-2
CLIENT PLAYERS ORBAN MODEL 1010
Software Client Player File Formats
PLAYER
QuickTime 6
RealPlayer 10
Winamp 5.05
Coding Technologies Player
a) Note: The protocols indicated here represent support for AAC/HE
AAC/aacPlus streams.
Table 5-4: Software Client Player Streaming Protocols
Different streaming protocols suit different network conditions. On a lossless network such as a well designed LAN/WAN, any of the protocols will work with little
performance difference. Multicast will provide the absolute least amount of network traffic, but any firewalls or routers through which the stream passes must be
multicast enabled. Unicast RTSP/RTP/UDP will provide the least overhead and should
operate without routing problems, especially if all users are on the same side of any
firewall or router, if used. RTSP/RTP/UDP can, however, sometimes be problematic
on networks with packet loss and through some NAT firewall or routers. Under
these circumstances, we advise configuring your client player to use RTSP/RTP/TCP,
or HTTP/RTP/UDP if it is enabled on the streaming server.
OPTICODEC-PC CLIENT PLAYERS
Real Networks RealPlayer 10
RealPlayer is used to play RTSP/RTP streams served from an RTSP/RTP server such as
Darwin Streaming Server. RealPlayer has HTML embedded player capability for embedding players into web pages and/or creating custom players. RealPlayer currently
does not support private authenticated streams supported by Darwin Streaming
Server.
Figure 5-1: RealPlayer 10 GUI
5-3
Direct URL Entry and Play
1. Start RealPlayer.
A) Go to the S
Taskbar Icon.
B) Click F
An Open dialog box will appear.
2. Enter the URL of the stream.
A) If the file or live stream is served from the server root media directory, the
syntax is:
rtsp://ip.address.or.domain:rtsp_port/stream.sdp
Examples:
rtsp://123.45.67.8:554/live.sdp
rtsp://opticodec.net:554/live.sdp
B) If the file or live stream is served from a directory within the server root media
directory, the syntax is:
TART MENU /REALPLAYER or double-click the RealPlayer Windows
RealPlayer can play live or file streams that are referenced in metafiles or playlist
files. This is useful for creating aliases or shortcuts that the user simply double-clicks
to automatically launch RealPlayer and start playing the stream, distribution to
other users, or for use as streaming links on a web pages. Metafiles or playlist files
are text files that simply contain information about the stream, such as the stream
URL, and depending upon the type of metafile or playlist file, some optional information to control the player.
There are two common types of metafiles or playlist files for use with RealPlayer,
.ram and .rpm. These are text files and the syntax for them is exactly the same. The
.ram file is used to launch RealPlayer and the .rpm file is used to start an embedded
RealPlayer from within a web page. Microsoft Windows systems register both of
these file types upon a RealPlayer installation. Because both the .ram and .rpm extensions are exclusive to RealPlayer, it is therefore a sure way to always launch
RealPlayer by using either of them. It is highly unlikely that another program would
have appropriated the .ram and .rpm file extensions, preventing RealPlayer from
being associated incorrectly. Additional features of the .ram and .rpm files include
the ability to pass titling information and additional instructions to RealPlayer.
1. Create .ram File(s).
A) Open a text editor program such as Notepad.
B) Create an entry containing the streaming URL.
C) Save the file with a .rpm file extension when done.
The .rpm file is for use with HTML embedded RealPlayers within a web page. It
can only be tested on a web server. HTML embedded players are covered in
Embedded Players on page 5-9.
Additional RealPlayer Parameters and Values
Separate the first parameters from the stream URL with a question mark (?). To
set two or more parameters for the same stream or file, precede the second and
all subsequent parameters with ampersands (&) instead of question marks.
Parameter Value Default Function
author text
clipinfo title=text|
artist
name=text|
album name=text|
genre=text|
copyright=text|
year=text|
cdnum=number|
comments=text
(none) Indicates the clip author.
(none) Gives extended clip infor-
mation.
5-6
CLIENT PLAYERS ORBAN MODEL 1010
Parameter Value Default Function
copyright text
end hh:mm:ss.x
mode normal|theater|
rpcontextheight pixels
rpcontextparams parameters
rpcontexttime dd:hh:mm:ss.x 0
rpcontexturl URL|_keep
rpcontextwidth pixels 330
rpurl URL
rpurlparams parameters
rpurltarget _rpbrowser|name _rpbrowser
rpvideofillcolor
screensize double|full|
showvideocontrolsoverlay
start hh:mm:ss.x 0
title text
toolbar
color_valueblack
original
0|1 1
(none) Gives the copyright notice
(none) Ends the clip at the speci-
fied point.
normal
media height
(none) Adds parameters to
(none) Displays the specified URL
(none) Gives a URL for the media
(none) Appends parameters to
original
(none) Specifies the clip title.
Opens RealPlayer in one
of three initial playback
modes.
Sets the related info
pane's height.
rpcontexturl.
Specifies a time at which
an HTML page displays in
the related info pane.
in the related info pane.
Sets the related info pane
width.
browser.
rpurl.
Sets the target for
the media browser pane or
a secondary window.
Sets the media playback
pane color.
Sets the size at which the
clip or presentation opens.
Hides the video controls
overlay in the media playback pane when
Starts the clip at the specified point.
rpurl as
0.
Options
There are several options to change the behavior of RealPlayer. Some of the relevant one are outlined here.
It might be desirable to reduce the size of RealPlayer, especially if your primary
use is for streaming audio.
Table 5-5: Additional RealPlayer Parameters and Values
OPTICODEC-PC CLIENT PLAYERS
1. RealPlayer option for Player only (no Media Browser).
A) Click Tools / Preferences in
the menu bar.
B) Click General.
C) Under RealPlayer Options /
On startup display:
Change to Player only (no
Media Browser).
D) Click OK.
5-7
Sometimes it may be necessary to change the Network Transport settings from their
default values. Certain firewalls and/or routers may not pass UDP packets, or they
are unreliable and the audio stream contains excessive dropouts. In this case, change
the Network Transport settings to TCP. Network overhead increases slightly when
using TCP.
2. RealPlayer Network Transports
A) Click Tools / Preferences from
in the menu bar.
B) Click Connection / Network
Transports.
C) Under Network Transport,
Check “Manually configure
connections settings.”
5-8
CLIENT PLAYERS ORBAN MODEL 1010
D) Click RTSP Settings.
The RTSP Transport Settings
dialog box appears.
E) Uncheck “Attempt to use
UDP for all content.”
F) Click OK.
G) Click OK again to close Pref-
erences.
Live/File Stream Linking in a Web Page
RealPlayer can be launched and can play streams or files directly from a streaming
link in a web page. RTSP streams for RealPlayer cannot be directly referenced in
HTML. Instead, do this by placing metafiles or playlist files on the web server and
linking to them in the HTML code that produces the web page. Refer to the previous section for information about metafiles and playlist files, and how to create
them.
This section assumes you have knowledge of HTML authoring and tags. You must
have write access to the web server in order to place the necessary files there.
1. HTML HREF Tag.
A) Open a text editor program such as Notepad or an HTML editor.
B) Create the following HTML:
Example HTML file – playlist file on same server/directory:
<html>
<head>
<title>STREAM LINK</title>
</head>
<body>
<a href="stream.ram">STREAM LINK</a>
</body>
</html>
Example HTML file – playlist file on different server:
C) Save the file with a .html file extension when done.
D) The HTML file may be tested locally by double-clicking the HTML file.
A web browser will open with your stream-linked web page.
E) Clicking on the Stream Link will launch RealPlayer, connect, and play the
stream.
2. Move the HTML and Playlist Files to the Web Server.
A) Using an ftp client or whatever means necessary, move the .html and .ram
files to the web server.
B) Test the streaming link on the newly uploaded page to make sure all the
paths and directories are correct.
5-9
Embedded Players
Not yet.
5-10
CLIENT PLAYERS ORBAN MODEL 1010
Apple Computer QuickTime 6
QuickTime is used to play RTSP/RTP streams served from an RTSP/RTP server such as
Darwin Streaming Server. QuickTime has HTML embedded player capability for embedding players into web pages and/or creating custom players. QuickTime supports
private authenticated streams supported by Darwin Streaming Server. At this time
QuickTimePlayer supports only AAC. Unfortunately, it does not have support for HE
AAC/aacPlus. We hope that Apple Computer will add this soon.
Figure 5-2: Apple QuickTime 6 GUI (shown playing a live Opticodec-PC stream)
Direct URL Entry and Play
1. Start QuickTime.
A) Go to the S
B) Click F
An Open URL dialog box will appear.
2. Enter the URL of the live stream.
A) If the live stream is served from the server root media directory, the syntax is:
rtsp://ip.address.or.domain:rtsp_port/stream.sdp
Examples:
rtsp://123.45.67.8:554/live.sdp
rtsp://opticodec.net:554/live.sdp
B) If the live stream is served from a directory within the server root media direc-
tory, the syntax is:
TART MENU /QUICKTIME or double-click the Taskbar Icon.
QuickTime can play live or file streams that are referenced in metafiles, playlist, media link, reference movie, or poster movie files. This is useful for creating aliases or
shortcuts that let the user double-click to launch QuickTime automatically and start
playing the stream, for distribution to other users, or for use as streaming links on
web pages. Metafiles, playlist, media link and some reference movie files are text
files that simply contain information about the stream, such as the stream URL, and
depending upon the type of file, some optional information to control the player.
There are two different types of files for use with QuickTime, which use different
file extensions. Both .mov and .qtl files are text files and can be used to launch
QuickTime Player. Microsoft Windows systems register both of these file types upon
a QuickTime installation, but only the .qtl extension is exclusive to QuickTime.
Hence, using the .qtl extension is a reliable way to ensure that double-clicking the
file launches QuickTime. It is highly unlikely that another program would have appropriated the .qtl file extension. The .qtl file also ensures that the stream will be
open in QuickTime Player rather than the embedded QuickTime Plugin. The .qtl file
is an XML based file and additional features include the ability to pass additional
instructions to QuickTime Player.
1. Create .mov File(s).
A) Open a text editor program such as Notepad.
B) Create an entry containing the streaming URL.
To play streams or files, QuickTime can be launched directly from a streaming link in
a web page files. RTSP streams for QuickTime cannot be directly referenced in
HTML. Instead, this is done by placing metafiles, playlist, media link, reference
movie, or poster movie files on the web server and linking to them in the HTML
code that produces the web page. Refer to Metafile/Playlist Files (starting on page
5-11) for information about these files and how to create them.
This section assumes you have knowledge of HTML authoring and tags. You must
have write access to the web server in order to place the necessary files there.
1. HTML HREF Tag.
A) Open a text editor program such as Notepad or an HTML editor.
B) Create the following HTML:
Example HTML file – playlist file on same server/directory:
<html>
<head>
<title>STREAM LINK</title>
</head>
<body>
<a href="live.qtl">STREAM LINK</a>
</body>
</html>
Example HTML file – playlist file on different server:
• The Icecast2 webroot root directory is not specified when streaming files.
• Only the subdirectories within them are specified if used.
• Subdirectories are optional.
• Files and streams of the same name in common root locations are to be
avoided. The file stream will always have priority over the live stream, i.e., a
live stream with a name of test.aac and a file with a name of test.aac located in the directory specified in the root of webrootwebroot.
Metafile/Playlist Files
5-17
Winamp can play streams or files that are referenced in metafiles or playlist files.
This is useful for creating aliases or shortcuts that let the user double-click to launch
Winamp automatically and start playing the stream, for distribution to other users,
or for use as streaming links on web pages. Metafiles, playlist, media link and some
reference movie files are text files that simply contain information about the stream,
such as the stream URL, and depending upon the type of file, some additional information.
There are two common types of metafiles or playlist files, .m3u, and .pls. Before either of these files can launch Winamp, they must be correctly associated with it.
Most Microsoft Windows systems have .m3u associated with Windows Media Player
by default. Because of this, we recommend using the .pls file, and be sure it is associated with Winamp. If you are using metafiles or playlist files to link the streams on
a web page, it is a good idea to have a simple explanation about this near the link.
1. Create .m3u File(s).
A) Open a text editor program such as Notepad.
B) Create an entry containing the streaming URL.
Example .m3u file:
http://123.45.67.8:8000
C) Save the file with a .m3u file extension when done.
D) Double-clicking the .m3u file will launch Winamp, connect and play the
stream.
5-18
CLIENT PLAYERS ORBAN MODEL 1010
2. Create .pls File(s).
A) Open a text editor program such as Notepad.
B) Create an entry containing these items and the streaming URL.
.pls file format:
[playlist]
numberofentries=<n>
File1=<uri>
Title1=<title>
Length1=<length or -1>
File2=<uri>
Title2=<title>
Length2=<length or -1>
...
Version=2
[playlist]
Signifies that this is a playlist.
File#=
Location of the file or stream. The # sign after "File" signifies the file or
stream number. The first file in the playlist is "File1", the second is
"File2," and so on. This entry can be a specific or relative path or a URL.
Title#=
Title to display (Optional). This is usually the title read from the file name
or ID3 tags. This also can be the name of a stream. The # sign after "Title"
signifies the file or stream number.
Length#=
Length in seconds. “–1” forces the time entry to be ignored and is used
for unspecified or live streams. The “#” sign after "Length" signifies the
file or stream number.
NumberOfEntries=#
The total number of entries in the playlist. This should match the last
number on the "File#,” "Title#,” and "Length#" fields.
Version=2
This required entry at the bottom tells the player what format the PLS is.
Older versions of the PLS format did not include this.
All fields are case sensitive.
Title information from .pls files will appear in the Winamp Playlist Editor.
It will not appear in the main Winamp Player.
Metadata streamed from SHOUTcast DNAS or Icecast2 will take priority
over Title information in the .pls file.
If SHOUTcast DNAS is used with the IntroFile feature, the Stream Name
sent by Opticodec-PC Streaming Encoder (not the Title specified in the
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.