Orban OPTICODEC-PC 1010 Technical Manual

Technical Manual
OPTICODEC-PC
1010
AAC/HE AAC/aacPlus® Audio Streaming Encoder
PRELIMINARY: Version 1.0 Software
®
2000 / XP / 2003 Server
IMPORTANT NOTE: Refer to the unit’s rear panel for your Model #.
Model Number: Description:
1010 LE OPTICODEC-PC LE, AAC/HE AAC/aacPlus encoder for
a single stream of 8-32 kbps, for use with any qual­ity, Windows-compliant sound card.
1010 PE OPTICODEC-PC PE, AAC/HE AAC/aacPlus encoder for
multiple streams of 8-320 kbps, for use only with the Orban Optimod-PC sound card/audio processor.
MANUAL:
Part Number: Description:
96127.100.01 OPTICODEC-PC Operating Manual
This symbol, wherever it appears, alerts you to important
operating and maintenance instructions in the accompa-
nying literature. Read the manual.
PLEASE READ BEFORE PROCEEDING!
Manual
Please review the Manual, especially the installation section, before installing the software.
Trial Period Precautions
If your unit has been provided on a trial basis:
You should observe the following precautions to avoid reconditioning charges in case you later wish to return the unit to your dealer:
Note the packing technique and save all packing materials. It is not wise to ship in other than the factory carton. (Re­placements cost $35.00).
Packing
When you pack the software for shipping:
Wrap the unit in its original plastic bag to avoid abrading the paint.
If you are returning the unit permanently (for credit), be sure to enclose:
The Manual(s) The Registration/Warranty Card The installation CD
Your dealer may charge you for any missing items.
Trouble
If you have problems with installation or operation:
(1) Check everything you have done so far against the instructions in the Manual.
(2) Check the other sections of the Manual (consult the Table of Contents and Index) to see if there might be some sug-
gestions regarding your problem.
(3) After reading the section on Factory Assistance, you may call Orban Customer Service for advice during normal Cali-
fornia business hours. The number is +1 510 351-3500.
Technical Manual
OPTICODEC-PC
1010
AAC/HE AAC/aacPlus® Audio Streaming Encoder
®
2000 / XP / 2003 Server
PRELIMINARY: Version 1.0 Software
OPTICODEC-PC is manufactured under license from Coding Technologies Inc. and Dolby Laboratories Licesning Corporation.
Opticodec, Optimod, and Orban are registered trademarks. All trademarks are property of their respective companies.
This manual is part number 96127.100.01
© Copyright 2004 CRL Systems Inc.
Phone: +1 510 351-3500; Fax: +1 510 351-0500; E-Mail: custserv@orban.com; Web: www.orban.com
1525 ALVARADO STREET, SAN LEANDRO, CA 94577 USA
Forward
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 Opti­mod products to this day.
If it weren’t for CKLW’s innovative audio texture and the chances that it took to ex­pose 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 broad­cast 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 af­ter 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
– Greg J. Ogonowski
Table of Contents
Forward ............................................................................................................................................ 0-7
......................................................................................SECTION 1 INTRODUCTION
.......................................................................................................................................................1-1
ABOUT THIS MANUAL ................................................................................................................1-1
OVERVIEW..................................................................................................................................1-1
Streaming Infrastructure Block Diagrams ............................................................................1-2
Figure 1-1: Typical streaming infrastructure where program material is sourced from a playout
system application with live assist.................................................................................................... 1-2
Figure 1-2: Typical streaming infrastructure where program material is sourced from a radio station
on-air studio...................................................................................................................................... 1-3
Figure 1-3: Typical multiple streaming encoder/server infrastructure where program material is
sourced from a player application..................................................................................................... 1-3
SPECIFICATIONS AND SYSTEM REQUIREMENTS ..........................................................................1-4
PE Version .............................................................................................................................1-4
LE Version.............................................................................................................................1-5
APPLICATIONS............................................................................................................................ 1-6
Preprocessing........................................................................................................................1-6
Remote Access & Control:............................................................................................................... 1-7
Mixing Facilities:.............................................................................................................................. 1-8
Encoding................................................................................................................................1-8
About Perceptual Coders.................................................................................................................. 1-9
Psychoacoustic Models..................................................................................................................... 1-9
Coding Efficiency........................................................................................................................... 1-10
Encoding Stereo.............................................................................................................................. 1-10
Opticodec-PC Codecs..................................................................................................................... 1-10
Table 1-1: aacPlus Audio Bandwidth vs. Bitrate, Sample rate, and Channel Mode....................... 1-11
Table 1-2: AAC Audio Bandwidth vs. Bitrate, Sample rate, and Channel Mode........................... 1-12
Trading-Off Audio Bandwidth against Bitrate, Sample rate, and Channel Mode..........................1-13
Cascading Codecs........................................................................................................................... 1-14
Networking ..........................................................................................................................1-15
Network Bandwidth Considerations............................................................................................... 1-15
Bandwidth Requirements ............................................................................................................... 1-16
Table 1-3: Bandwidth Requirements for Typical Network Streams............................................... 1-16
STREAMING ARCHITECTURE.....................................................................................................1-17
Live Streaming.....................................................................................................................1-17
File Streaming .....................................................................................................................1-17
Overview of Streaming Architecture ...................................................................................1-18
Network Transports.............................................................................................................1-18
Figure 1-4: Server Transports and Protocols.................................................................................. 1-18
Streaming Server Advantages..............................................................................................1-19
Web Server Advantages.......................................................................................................1-19
RTSP/RTP — Streaming Servers.........................................................................................1-20
Figure 1-5: QTSS/DSS Server/Client Transports........................................................................... 1-21
HTTP/ICY — Streaming Servers.........................................................................................1-22
Figure 1-6: SHOUTcast DNAS Server/Client Transports.............................................................. 1-22
Figure 1-7: Icecast2 Server/Client Transports................................................................................ 1-23
HTTP — Web Servers..........................................................................................................1-23
Figure 1-8: Web Server/Client Transports......................................................................................1-24
Unicast................................................................................................................................ 1-24
Figure 1-9: Unicast .........................................................................................................................1-24
Multicast ............................................................................................................................. 1-25
Figure 1-10: Multicast.....................................................................................................................1-25
Relay Servers ...................................................................................................................... 1-25
Figure 1-11: Relay Server...............................................................................................................1-26
Table 1-4: Summary of Server Capabilities and Compatibilities....................................................1-26
Playing a Stream ................................................................................................................. 1-27
............................................SECTION 2 INSTALLATION — STREAMING ENCODER
......................................................................................................................................................2-1
INSTALLING OPTICODEC-PC...................................................................................................... 2-1
Opticodec-PC PE.................................................................................................................. 2-1
Opticodec-PC LE.................................................................................................................. 2-1
Software Installation............................................................................................................. 2-1
Software Authentication........................................................................................................ 2-3
CONFIGURING OPTICODEC-PC................................................................................................... 2-3
Configuration — Graphical User Interface (GUI)...............................................................2-4
Figure 2-1: The Opticodec-PC GUI..................................................................................................2-4
Sound Device....................................................................................................................................2-4
Encoder Parameters ..........................................................................................................................2-4
Table 2-1: Recommended Maximum Target Bitrates.......................................................................2-5
Stream Description............................................................................................................................ 2-5
Destination Server.............................................................................................................................2-6
Audio Levels.......................................................................................................................... 2-8
Configuration — Command Line Interface (CLI)................................................................. 2-8
Querying Audio Devices...................................................................................................................2-8
Command-Line Syntax – Unicast.....................................................................................................2-8
Command-Line Syntax – Multicast..................................................................................................2-9
Arguments.........................................................................................................................................2-9
Creating Batch Files........................................................................................................................2-10
Audio Levels...................................................................................................................................2-10
.........................................SECTION 3 CONFIGURATION — STREAMING ENCODER
......................................................................................................................................................3-1
UNICAST RTSP/RTP DARWIN STREAMING SERVER ............................................................. 3-1
Encoder/Server — Same Computer ...................................................................................... 3-1
Encoder Destination Server Parameters:...........................................................................................3-2
Encoder/Server — Different Computer................................................................................. 3-2
Encoder Destination Server Parameters:...........................................................................................3-3
Server Connection................................................................................................................. 3-3
Firewall Considerations ....................................................................................................... 3-3
Table 3-1: Firewall or router configuration for RTSP/RTP Darwin Streaming Server.....................3-3
MULTICAST RTSP/RTP DARWIN STREAMING SERVER........................................................... 3-4
Encoder Destination Server Parameters:............................................................................. 3-4
Multicast Relay ..................................................................................................................... 3-5
Multicast Addresses .............................................................................................................. 3-5
Firewall Considerations ....................................................................................................... 3-5
UNICAST HTTP/ICY SHOUTCAST ...................................................................................... 3-6
Encoder Destination Server Parameters:............................................................................. 3-6
Firewall Considerations ....................................................................................................... 3-7
Table 3-2: Firewall or router configuration for HTTP/ICY SHOUTcast ......................................... 3-7
UNICAST HTTP/ICY ICECAST2.............................................................................................3-7
Encoder Destination Server Parameters:..............................................................................3-8
Firewall Considerations........................................................................................................3-8
Table 3-3: Firewall or router configuration for HTTP/ICY Icecast2................................................ 3-8
............................................................................
SECTION 4 STREAMING SERVERS
.......................................................................................................................................................4-1
INTRODUCTION...........................................................................................................................4-1
DARWIN STREAMING SERVER (DSS)..........................................................................................4-1
Supported Protocols..............................................................................................................4-1
DSS Installation — Windows.................................................................................................4-2
Operating System Requirements ...................................................................................................... 4-3
Software Requirements..................................................................................................................... 4-3
Optional Useful Network Utilities.................................................................................................... 4-3
Installation.............................................................................................................................4-3
Security: Access and Authentication .....................................................................................4-5
Opticodec-PC Encoder and DSS on the Same Computer .....................................................4-5
Opticodec-PC Encoder Destination Server Parameters:................................................................... 4-5
Opticodec-PC Encoder and DSS on Different Computers....................................................4-6
Opticodec-PC Encoder Destination Server Parameters – Any User................................................. 4-6
Opticodec-PC Encoder Destination Server Parameters – Limit User............................................... 4-6
Authenticated Client Player Access.......................................................................................4-6
Access Control.......................................................................................................................4-7
Allow Write Access.......................................................................................................................... 4-7
qtaccess file to allow any encoder access to DSS:...................................................................... 4-7
qtaccess file to limit encoder access to DSS:.............................................................................. 4-7
Allow Authenticated Client Player Access....................................................................................... 4-7
qtaccess file for authenticated client player access:.................................................................... 4-7
Access File Reference ...................................................................................................................... 4-7
To Add a User:.................................................................................................................................4-9
To Change a User Password:............................................................................................................ 4-9
Group File Reference (Optional)...................................................................................................... 4-9
To Add a Group:............................................................................................................................. 4-10
To Delete a User from a User or Group File: ................................................................................. 4-10
Remote Administration........................................................................................................4-10
Other Configuration Options...............................................................................................4-10
Firewall Considerations......................................................................................................4-11
Table 4-1: Firewall configuration for various protocols and servers.............................................. 4-11
SHOUTCAST DNAS (DISTRIBUTED NETWORK AUDIO SERVER).........................................4-12
Supported Protocol..............................................................................................................4-12
Installation – Microsoft Windows........................................................................................4-12
Operating System Requirements .................................................................................................... 4-13
Software Requirements................................................................................................................... 4-13
Optional Useful Network Utilities.................................................................................................. 4-13
Installation...........................................................................................................................4-13
Configuration — Single Stream...........................................................................................4-13
Configuration — Multiple Streams......................................................................................4-14
Server User Interface...........................................................................................................4-16
Figure 4-1: SHOUTcast DNAS graphical user interface................................................................ 4-16
Remote Administration........................................................................................................4-16
Firewall Considerations......................................................................................................4-16
Table 4-2: Firewall considerations for SHOUTcast DNAS............................................................4-17
ICECAST2................................................................................................................................. 4-17
Supported Protocol.............................................................................................................4-17
Installation — Microsoft Windows...................................................................................... 4-18
Operating System Requirements.....................................................................................................4-18
Software Requirements...................................................................................................................4-18
Optional Useful Network Utilities..................................................................................................4-18
Installation..........................................................................................................................4-18
Configuration...................................................................................................................... 4-19
Server User Interface.......................................................................................................... 4-20
Figure 4-2: Icecast Server Status Tab .............................................................................................4-20
Figure 4-3: Icecast Source Level Stats Tab.....................................................................................4-21
Streaming Files...................................................................................................................4-21
Remote Administration........................................................................................................ 4-21
Firewall Considerations ..................................................................................................... 4-22
Table 4-3: Firewall considerations; Icecast2...................................................................................4-22
MULTIPLE SERVERS................................................................................................................. 4-22
....................................................................................SECTION 5 CLIENT PLAYERS
......................................................................................................................................................5-1
COMPARISONS ........................................................................................................................... 5-1
Software Client Player Platforms ......................................................................................... 5-1
Table 5-1: Software Client Player Platforms ....................................................................................5-1
Software Client Player AAC/HE AAC/aacPlus Codecs........................................................ 5-1
Table 5-2: Software Client Player AAC/HE AAC/aacPlus Codecs..................................................5-1
Software Client Player File Formats....................................................................................5-2
Table 5-3: Software Client Player File Formats................................................................................5-2
Software Client Player Streaming Protocols........................................................................5-2
Table 5-4: Software Client Player Streaming Protocols....................................................................5-2
REAL NETWORKS REALPLAYER 10............................................................................................ 5-3
Figure 5-1: RealPlayer 10 GUI.........................................................................................................5-3
Direct URL Entry and Play................................................................................................... 5-3
Metafile/Playlist Files...........................................................................................................5-4
Additional RealPlayer Parameters and Values..................................................................................5-5
Table 5-5: Additional RealPlayer Parameters and Values................................................................5-6
Options.................................................................................................................................. 5-6
Live/File Stream Linking in a Web Page .............................................................................. 5-8
Embedded Players ................................................................................................................5-9
APPLE COMPUTER QUICKTIME 6.............................................................................................5-10
Figure 5-2: Apple QuickTime 6 GUI (shown playing a live Opticodec-PC stream)......................5-10
Direct URL Entry and Play................................................................................................. 5-10
Metafile/Playlist Files.........................................................................................................5-11
Table 5-6: Additional QuickTime Player Parameters and Values ..................................................5-12
Options................................................................................................................................ 5-13
Figure 5-3: QuickTime Default Streaming Transport Settings.......................................................5-13
Figure 5-4: QuickTime UDP Settings.............................................................................................5-14
Figure 5-5: QuickTime HTTP Settings...........................................................................................5-14
Live/File Stream Linking in a Web Page ............................................................................ 5-14
Embedded Players .............................................................................................................. 5-15
NULLSOFT WINAMP 5.05.........................................................................................................5-16
Figure 5-6: Winamp 5.05 GUI (shown playing a live Opticodec-PC stream).................................5-16
Direct URL Entry and Play................................................................................................. 5-16
Metafile/Playlist Files..........................................................................................................5-17
Options ................................................................................................................................5-20
Figure 5-7: Winamp 5.05 Preferences – General Preferences / File Types.................................... 5-20
Live/File Stream Linking in a Web Page.............................................................................5-20
MULTIPLE PLAYERS ON A SINGLE COMPUTER..........................................................................5-21
..............................................................................SECTION 6 SERVICE PROVIDERS
.......................................................................................................................................................6-1
Content Delivery – Hosting Services.....................................................................................6-1
Content Encoding – Audio Production..................................................................................6-1
Authoring – Multimedia Web Design....................................................................................6-1
Live Encoding – Streaming & Netcasting .............................................................................6-2
.......................................................................................... SECTION 7 REFERENCES
.......................................................................................................................................................7-1
INFORMATION.............................................................................................................................7-1
BOOKS AND PUBLICATIONS........................................................................................................7-1
INTERNET LINKS.........................................................................................................................7-2
...............................................................................................SECTION 8 GLOSSARY
.......................................................................................................................................................8-1
DEFINITIONS...............................................................................................................................8-1
OPTICODEC-PC INTRODUCTION
1-1
Section 1
Introduction
About this Manual
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 hyper­link; 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 net­caster is looking for in an encoding product — entertainment-quality sound at eco­nomical bitrates.
The software lets streaming providers supply content encoded with the Coding Technologies available audio quality at the lowest possible bitrate. Streams encoded with Optico­dec-PC can be experienced through RealPlayer ous Ethernet players, and 3G wireless devices. Streams can automatically list them­selves 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, con­tent being what attracts listeners. This carefully crafted content is what holds listen­ers 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 (al­though 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 consis­tency 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 simultane­ous 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 Server From 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 Server From 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 IN WAV 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/IP TCP/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/IP TCP/UDP/IP TCP/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, with­out the phasey, watery character of other codecs operating at this bitrate. Many lis­teners prefer the audio quality of 48 kbps streams to FM.
There is a vast Internet and 3G wireless audience waiting for the entertainment­quality 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 OPTICODEC­PC encoder. Additional cards, audio player and/or encoder software will require addi­tional 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
ENCODER
Codec Technology: MPEG-2/MPEG-4 AAC/HE AAC /aacPlus v2 — Coding Technologies®
Sample Rates: 24 kHz, 32 kHz, 44.1 kHz, 48 kHz
Bitrates: 8, 10, 12, 16, 20, 24, 32, 40, 48, 56, 64, 80, 96, 128, 160, 192, 224, 256, 320 kbps
Number of Channels: 1-Mono / 2-Stereo
Coding Options: General; Voice
Number of Encoder Instances per Computer: Limited only by available CPU power.
STREAMING
Transport Protocols: RTSP/RTP, HTTP/ICY SHOUTcast, HTTP/ICY Icecast
RTP Payload Format: ISMA (
Method: Unicast RTP/TCP (External RTSP Server)
audio/mpeg4-generic) / 3GPP/3GPP2 (audio/MP4A-LATM)
OPTICODEC-PC INTRODUCTION
1-5
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 OPTICODEC­PC encoder. Additional cards, audio player and/or encoder software will require addi­tional 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
ENCODER
Codec Technology: MPEG-2/MPEG-4 AAC/HE AAC /aacPlus v2 — Coding Technologies®
Sample Rates: 24 kHz, 32 kHz, 44.1 kHz, 48 kHz
Bitrates: 8, 10, 12, 16, 20, 24, 32 kbps
Number of Channels: 1-Mono / 2-Stereo
Coding Options: General; Voice
Number of Encoder Instances per Computer: 1.
1-6
INTRODUCTION ORBAN MODEL 1010
STREAMING
Transport Protocols: RTSP/RTP, HTTP/ICY SHOUTcast, HTTP/ICY Icecast2 RTP Payload Format: ISMA (audio/mpeg4-generic)
Stream Information: Name and Description
Method: Unicast RTP/TCP (External RTSP Server)
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 en­coder/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 net­work.
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 distor­tion from occurring in the analog-to-digital conversion process. CDs should be digi­tally 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 publi­cation, “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 preprocess­ing 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 equaliza­tion 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 sig­nal waveform integrity.
Orban Optimod-PC (recommended for Opticodec PC LE and required for Opticodec­PC 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 peak­level control. Optimod-PC’s sound card emulation allows it to talk through the oper­ating 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 re­equalizes 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 psy­chology 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, Optimod­PCs 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 ac­cept 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 Opti­mod-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 in­puts in any combination can be processed or passed directly to the input of Optico­dec-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 re­quired in order to address the broadcast rights issues of many commercials, pro­grams, 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 auto­matically 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 en­coders 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 cod­ing 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, per­ceptual 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 milli­seconds 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 be­havior of the ear, it is desirable to leave some safety factor when choosing the num­ber 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 au­dio 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 “underwa­ter” 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 mask­to-noise ratio will constantly change. Pure sounds having an extended harmonic structure (such as a pitch pipe) are particularly difficult to encode because each har­monic 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 clip­ping 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 ap­pearing 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 correla­tion 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 re­quires 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 can­not 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 de­veloped 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.”
Channel Mode
1ch-Mono 8 24 8.3 1ch-Mono 10 24, 32 10.9, 11.0 1ch-Mono 12 24, 32, 44.1 11.4, 11.0, 10.7 1ch-Mono 16 32, 44.1, 48 12.3, 11.7, 12.0 1ch-Mono 20 32, 44.1, 48 14.5, 14.8, 15.4 1ch-Mono 24 32, 44.1, 48 15.3, 14.8, 15.4 1ch-Mono 28 32, 44.1, 48 16.0, 16.2, 16.9 1ch-Mono 32 32, 44.1, 48 16.0, 16.2, 16.9 1ch-Mono 40 32, 44.1, 48 16.0, 17.6, 18.4 1ch-Mono 48 32, 44.1, 48 16.0, 20.3, 20.3 1ch-Mono 56 32, 44.1, 48 16.0, 20.3, 20.3 1ch-Mono 64 32, 44.1, 48 16.0, 20.3, 20.3 2ch-Stereo 24 32, 44.1, 48 13.8, 12.7, 13.1 2ch-Stereo 28 32, 44.1, 48 15.3, 14.8, 15.4 2ch-Stereo 32 32, 44.1, 48 15.3, 14.8, 15.4
Bitrate [kbps]
Sample rate [kHz]
Audio Bandwidth [kHz]
2ch-Stereo 40 32, 44.1, 48 16.0, 16.2, 16.9 2ch-Stereo 48 32, 44.1, 48 16.0, 16.2, 16.9 2ch-Stereo 56 32, 44.1, 48 16.0, 17.6, 18.4 2ch-Stereo 64 32, 44.1, 48 16.0, 20.3, 22.1 2ch-Stereo 80 32, 44.1, 48 16.0, 20.3, 22.1 2ch-Stereo 96 32, 44.1, 48 16.0, 20.3, 22.1 2ch-Stereo 112 32, 44.1, 48 16.0, 20.3, 22.1 2ch-Stereo 128 32, 44.1, 48 16.0, 20.3, 22.1
Table 1-1: aacPlus Audio Bandwidth vs. Bitrate, Sample rate, and Channel Mode
1-12
INTRODUCTION ORBAN MODEL 1010
Channel Mode
1ch-Mono 16 24 5.2 1ch-Mono 20 24 7.2 1ch-Mono 24 24, 32 7.2, 7.2 1ch-Mono 28 24, 32 10.0, 10.0 1ch-Mono 32 24, 32, 44.1, 48 10.0, 10.0, 10.0, 10.0 1ch-Mono 40 24, 32, 44.1, 48 12.0, 12.4, 12.4, 12.4 1ch-Mono 48 24, 32, 44.1, 48 12.0, 13.5, 13.5, 13.5 1ch-Mono 56 24, 32, 44.1, 48 12.0, 15.5, 15.5, 15.5 1ch-Mono 64 32, 44.1, 48 15.5, 15.5, 15.5 1ch-Mono 80 32, 44.1, 48 16.0, 17.6, 17.6 1ch-Mono 96 32, 44.1, 48 16.0, 22.1, 24.0 1ch-Mono 112 32, 44.1, 48 16.0, 22.1, 24.0 1ch-Mono 128 32, 44.1, 48 16.0, 22.1, 24.0 1ch-Mono 160 32, 44.1, 48 16.0, 22.1, 24.0 2ch-Stereo 24 24 6.6
Bitrate [kbps]
Sample rate [kHz]
Audio Bandwidth [kHz]
2ch-Stereo 28 24 6.6 2ch-Stereo 32 24 6.6 2ch-Stereo 40 24, 32 8.5, 8.5 2ch-Stereo 48 24, 32 8.5, 8.5, 8.5 2ch-Stereo 56 24, 32, 44.1, 48 12.0, 12.5, 12.5, 12.5 2ch-Stereo 64 32, 44.1, 48 12.5, 12.5, 12.5 2ch-Stereo 80 32, 44.1, 48 13.5, 13.5, 13.5 2ch-Stereo 96 32, 44.1, 48 15.5, 15.5, 15.5 2ch-Stereo 112 32, 44.1, 48 16.0, 16.0, 16.0 2ch-Stereo 128 32, 44.1, 48 16.0, 16.0, 16.0 2ch-Stereo 160 32, 44.1, 48 16.0, 17.6, 17.6 2ch-Stereo 192 32, 44.1, 48 16.0, 22.1, 24.0 2ch-Stereo 224 32, 44.1, 48 16.0, 22.1, 24.0 2ch-Stereo 256 32, 44.1, 48 16.0, 22.1, 24.0 2ch-Stereo 320 32, 44.1, 48 16.0, 22.1, 24.0
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 of­fers the best subjective quality currently available at bitrates below 128 kbps. At bi­trates below 128 kbps, full subjective transparency cannot be achieved at the cur­rent 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 Pa­rametric Stereo are backward- and forward-compatible methods to enhance the ef­ficiency 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 au­dio), 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 be­tween bitrate, sample rate, and channel mode (stereo or mono) by performing ex­tensive listening tests. To maximize overall audio quality at lower bitrates, it is im­portant 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 tar­get 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 codec­induced 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 applica­tions at different bitrates (and Layer 2 continues to be used as the transmission co­dec in the Eureka-147 DAR system and many DBS satellite systems). However, assum­ing 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 li­brary. 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 CD­quality bandwidth 20 kHz frequency response. Especially with low bitrate co­decs, a 32 kHz sample rate is generally optimum and sounds better than higher sample frequencies because the bit allocation for the codec is concen­trated 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 out­put of the encoder and creates the streams to which your listeners connect. Optico­dec-PC supplies an output compatible with the free Darwin Streaming Server, which is available for multiple platforms including Linux®, FreeBSD®, Sun Solaris®, Micro­soft 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 discon­nects, 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 con­sumer 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 stream­ing 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 dis­tributed within a contained private network. Multicast streams are sent di­rectly 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 mate­rial 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 audi­ence 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 sepa­rates the encoder from your listeners, you do not need to use a server to mul­ticast 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 impor­tant being bandwidth. For example, three different unicast streams for different purposes will attract different audiences with different network connectivity re­quirements.
Stream Type
Distance Learning Small Corporate Meeting Medium Entertainment Stream Large Entertainment Stream
Attendance
100 20 kbps 2.4 Mbps 990 MB 100 32 kbps 3.8 Mbps 17.1 MB
1000 48 kbps 57.6 Mbps 25.9 GB
5000 48 kbps 288 Mbps 129.6 GB
Audicence Connection Speed
Total Concurrent Bandwidth + 20%
Total Throughput for 1 Hour
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 qual­ity 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 ad­ditional bandwidth for other tasks, such as file transfers and backup procedures. An additional 10% should suffice. Generally, a good equation for calculating the practi­cal 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 si­multaneous 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:
Bandwidth (Unicast) = (Number of Concurrent Streams) * (Stream Bitrate) + 20%
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 aver­age 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, re­flects, and/or relays the live stream to media player clients.
Like a radio broadcast, a live stream provides identical, essentially synchronized con­tent 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 be­ginning, 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 us­ing 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 termi­nology 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 dif­ferent 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 struc­ture 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 ex­change 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 ad­vantages 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 de­liver 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 en­tire 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 al­ways results in some data loss in the form of dropouts. UDP/IP allows multi­casts 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 bi­trate.
reyalP
gnimaertS
revreS
gnimaertS
r
E
edocn
SSD/SSTQ
lortnoC
tneilC
PI/PDU
PSTR - PI/PCT
C
nabrO
P-ce
C
docitpO
iduA dna lortno
455 troP PTR/
ataD o
0796 troP PTR - PI/PDU
ataD oiduA
1796 troP PCTR - PI/PDU
tseuqeR dneseR tekcaP
n2 troP
1 + n2 troPtroP ddO
reyalP
gnimaertS
revreS
gnimaertS
r
edocnE
PSTR - PI/PCT 455 troP PTR/PSTR - PI/PCT
TR/
nabrO
CP-cedocitpO
455 troP P
ataD oiduA dna lortnoC ataD oiduA dna lortnoC
SSD/SSTQ
tneilC
PI/PCT
reyalP
gnimaertS
revreS
g
maertS
i
n
r
E
edocn
SSD/SSTQ
tneilC
PCT
PI/
T
PT
H
gnilennu
T
noC a
nabrO
CP-cedocitpO
Figure 1-5: QTSS/DSS Server/Client Transports
455 troP PTR/PSTR - PI/PCT 08 troP PTR/PSTR/PTTH - PI/PCT
ataD oiduA dna lort
oiduA dna lortno
C
taD
1-22
INTRODUCTION ORBAN MODEL 1010
A special HTTP tunneling protocol that wraps RTSP/RTP packets inside HTTP packets, only supported by Apple QuickTime Player, can be used to help cir­cumnavigate firewalls and/or routers by using the same port that web serv­ers/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 dis­advantage is since it is less efficient, it adds server load, slight network over­head and increased bitrate.
HTTP/ICY — Streaming Servers
Using a streaming server that supports HTTP/ICY protocols such as SHOUTcast or Ice­cast, 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 band­width, 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 con­tent itself. TCP is not designed for efficient real time delivery or careful band­width 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.
gnimaertS
revreS
tsacTUOHS
S
g
nimaert
redocnE
PTTH - PI/
PCT
YCI/
iduA
& htuA
1008 troP
ateM/o
stroP
n 1 + n
0008 troP YCI/PTTH - PI/PCT
ataD ateM/oiduA & tseuqeRataD
reyalP tneilC
PI/PCT
n
abrO
CP-cedocitpO
Figure 1-6: SHOUTcast DNAS Server/Client Transports
OPTICODEC-PC INTRODUCTION
1-23
gnimaertS
revreS
2tsac
ecI
gnimaertS
redocnE
0008 troP YCI/PTTH - PI/PCT 0008 troP YCI/PTTH - PI/PCT
nabr
O
pO
CP-cedocit
stroP
n n
ataD ateM/oiduA & tseuqeRataD ateM/oiduA & htuA
reyalP
tneilC
PI/PCT
Figure 1-7: Icecast2 Server/Client Transports
HTTP — Web Servers
HTTP on web servers has the following properties:
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 con­trol, 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 stream­ing content. If there is not enough bandwidth to transmit the streaming con­tent 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 redis­tribute 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 tech­nique reduces network congestion, it requires a network that either has access to the multicast backbone (otherwise called the Mbone) for content generally distrib­uted over the Internet, or is multicast-enabled for content distributed within a con­tained 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 effi­cient 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 traf­fic 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.
1-26
INTRODUCTION ORBAN MODEL 1010
oiduA ecruoS
aer
tS
ocnE
FUNCTION
Live Streaming File Streaming – On-Demand
revreS gnimaertS
tsacitluM
gnim
red
revreS yaleR
tsacinU
tenretnI
revreS gnimaertS
tsacin
U
tenretnI
reyalP tneilC
reyalP tneilC
reyalP tneilC
reyalP tneilC
Figure 1-11: Relay Server
RTSP/RTP Streaming Server
HTTP/ICY Streaming Server
HTTP Web Server
Playlist Streaming File Downloading – Progressive Download File Protection Unicast Multicast Relay Multiple Streams Authentication 3GPP/3GPP2 Streaming Metadata ISMA Compliant
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 oper­ate simultaneously to generate multiple bitrates and/or stream formats from the same program source. You may create unlimited numbers Opticodec-PC PE in­stances, constrained only by CPU resources. Multiple encoder instances require multi-client driver operation. Windows XP supports multi-client audio driver opera­tion 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 Op­timod-PC card in a given computer, one Opticodec-PC PE application must be in­stalled. 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 au­dio 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 Opticodec­PC 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 Man­ual 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, per­formance 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, includ­ing 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 Opti­codec-PC Encoder application.
Installation on any drive is possible. We recommend installing to the de­fault directory structure to maintain the proper directory hierarchy, espe- cially for multiple encoder installation. Failure to follow this recommen­dation 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 prop­erly 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 Opti­codec-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: Configura­tion — 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 in­tended audience. See Table 2-1.
Figure 2-1: The Opticodec-PC GUI
1100
OPTICODEC-PC INSTALLATION — STREAMING ENCODER
2-5
Connection Speed
Dial-Up 28.8kbps Modem 16kbps 20kbps Dial-Up 56kbps Modem 32kbps 40kbps Single ISDN 64kbps 48kbps 56kbps Dual ISDN 128kbps 80kbps 96kbps DSL 256kbps 128kbps 160kbps DSL 512kbps 256kbps 384kbps DSL 1.5Mbps 256kbps 384kbps Cable Modem 256kbps 384kbps Corporate LAN 128kbps 384kbps
Bitrate Safe
Bitrate Maximum
Table 2-1: Recommended Maximum Target Bitrates
2. Sample-Rate
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
/ HE AAC /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 dis­play.
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 user­name.
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 automati­cally 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 auto­mated batch controlling or automatic startup of streams. You can run several in­stances 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 num­ber 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 de­vice 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.
) can feed Opticodec-PC LE. This driver will ap-
Command-Line Syntax – Unicast
opticodec-pc_pe <input-port-number> <sampling-frequency> <isStereo> <kbps> <use-aacPlus> <optimizeForSpeech> <generate-LATM> <session-name> <session-info>
OPTICODEC-PC INSTALLATION — STREAMING ENCODER
<session-author> <session-copyright> <rtsp-server-port> <stream-multicast> <rtsp-server-name-or-address> <remote-file-name> <username> <password>
Example (Unicast to External RTSP Server): opticodec-pc_pe 1 32000 1 48 1 0 0 “Stream Name” Info “” “Copyright 2004” 554 0
123.45.67.8 stream.sdp username password
Example (Unicast to Internal RTSP Server) (Point-to-Point): opticodec-pc_pe 1 32000 1 48 1 0 0 “Stream Name” Info “” “Copyright 2004” 554 0
Command-Line Syntax – Multicast
opticodec-pc_pe <input-port-number> <sampling-frequency> <isStereo> <kbps> <use-aacPlus> <optimizeForSpeech> <generate-LATM> <session-name> <session-info> <session-author> <session-copyright> <rtsp-server-port> <stream-multicast>
Example (Multicast to Internal RTSP Server):
opticodec-pc_pe 1 32000 1 48 1 0 0 “Stream Name” Info “” “Copyright 2004” 554 1
Arguments
<input-port-number> audio device number derived from running: showAudioInputPorts.exe 1, 2, 3, 4, etc.
<sampling-frequency> 24000, 32000, 44100, 48000
<isStereo> 0 - mono, 1 – stereo
<kbps> stream bitrate: 8, 10, 12, 16, 20, 24, 32, 40, 48, 56, 64, 80, 96, 128, 160, 192, 224, 256, 320
<use-aacPlus> 0 – AAC, 1 – HE AAC/aacPlus
<optimizeForSpeech> 0 – Normal, 1 – Voice
<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 automati­cally 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 au­thentication 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 discon­nected 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 out­bound 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 appropri­ate 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 Optico­dec-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. Optico­dec-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 de­fault 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 pro­vide 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 out­bound 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 pro­vide 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 out­bound 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, includ­ing intended audience, supported client players, supported client player features, compatibilities, server features, and administration complexity. You could even con­sider using more than one server platform.
4-1
Darwin Streaming Server (DSS)
Darwin Streaming Server is a full featured, scaleable, enterprise-class streaming me­dia 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 sup­port 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 fire­walls 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 al­lows 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 in­terleaved 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 inter­leaved. In addition, this provides a convenient way to tunnel RTP/RTCP packets through the TCP control connection when required by the network configura­tion, 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 Optico­dec-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 recom­mended for computer novices because of complexity and potential secu­rity 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:
http://developer.apple.com/darwin/projects/streaming/qtss_admin_guide.pdf
Depending upon the application and/or client player capacity of the streaming sys­tem 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 applica­tions, it is always preferable to use separate encoder and server computers to opti­mize reliability, redundancy, and system architecture.
Operating System Requirements
Microsoft Windows 2000 Professional/Server, XP Professional, or 2003 Server
Software Requirements
ActivePerl 5.8 or above:
http://www.activeperl.com/Products/ActivePerl/
Darwin Streaming Server 5.0 or above:
http://developer.apple.com/darwin/projects/streaming/
Optional Useful Network Utilities
NetPerSec: http://www.pcmag.com/article2/0,1759,1681,00.asp NetLimiter: http://www.netlimiter.com/index.php TCPView: http://www.sysinternals.com/ntw2k/source/tcpview.shtml Ethereal: http://www.ethereal.com
4-3
Installation
1. Install ActivePerl.
A) Download ActivePerl 5.8 or above for Microsoft Windows.
http://www.activeperl.com/Products/ActivePerl/
B) Save the .msi Installer to any directory. C) Run the .msi installer by double-clicking on it. D) Accept all defaults.
2. Install Darwin Streaming Server (DSS)
A) Download Darwin Streaming Server
http://developer.apple.com/darwin/projects/streaming/
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 termi­nates Perl and will not allow the subsequent operations to complete in­stallation 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 Opticodec­PC 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 se­curity, and have a valid SSL certificate installed for secure remote admini­stration. 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. Cur­rently, Streaming on Port 80 only works with QuickTime Player and al­lows 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 un­supported format.
Security: Access and Authentication
A certain level of security is inherent in real-time streaming because content is deliv­ered only as the client player needs it and no media files remain afterwards. How­ever, you should address other security issues. These include access control for en­coders 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 authenti­cation 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 authentica­tion. 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 cre­ating 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 Ap­ple QuickTime Broadcaster can connect to the server and use unauthorized stream­ing bandwidth.
To limit access, you must add encoder users. Do this by adding DSS users and config­uring 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
URL: rtsp://streaming.server.ip.address or rtsp://streaming_server_domain_name Port: 554 Username: username Password: password Filename: StreamName.sdp
The filename:
may include a directory path
must not contain any spaces
must end with an .sdp extension.
Authenticated Client Player Access
To configure client player access for authenticated live streams and/or streamed me­dia 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 ap­propriate 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.
Use a text editor program such as Notepad.
qtaccess file to allow any encoder access to DSS:
<Limit WRITE> require any-user </Limit> require any-user
qtaccess file to limit encoder access to DSS:
<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 ac­cess 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 cli­ents 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 en­coder and client player access, depending upon the file’s location.
The parameters in the file can contain some or all of the following:
AuthName <message> AuthUserFile <user filename> AuthGroupFile <group filename> require user <username1> <username2>
4-8
STREAMING SERVERS ORBAN MODEL 1010
require group <groupname1> <groupname2> require valid-user require any-user <Limit Write> </Limit>
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 us­ers 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 op­tional. 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 de­fined 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 pos­sible 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.
<groupname1>:<username1> <username2> <groupname2>:<username3> <username4>
4-10
STREAMING SERVERS ORBAN MODEL 1010
To Add a Group:
A) Open the groups file with a text editor.
Use a text editor program such as Notepad.
B) Add the appropriate groupname(s) and username(s) to the file.
Example:
encoders:encoder1 encoder2 players:player1 player2
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.
In other words, create a Shortcut for:
C:\Program Files\Darwin Streaming Server\streamingadminserver.pl
and include it in:
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 be­hind 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 ad­dress 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):
<PREF NAME="alt_transport_src_ipaddr" >123.45.67.8</PREF>
DSS must be restarted in order for this to take effect.
If you do not have a static IP address, then DSS needs to be reconfigured every time your IP address changes.
It is wise to have a static IP address when streaming.
4-12
STREAMING SERVERS ORBAN MODEL 1010
SHOUTcast™ DNAS (Distributed Network Audio Server)
SHOUTcast™ DNAS (Distributed Network Audio Server) is a free, downloadable streaming media server that can stream live streams encoded with Orban Opticodec­PC 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 com­mand line (CLI) and graphical user interface (GUI). SHOUTcast is a product of Null­soft, 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 fire­walls 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 recom­mended for computer novices because of complexity and potential secu­rity 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 sys­tem 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 reliabil­ity, redundancy, and system architecture.
OPTICODEC-PC STREAMING SERVERS
Operating System Requirements
Microsoft Windows 2000 Professional/Server, XP Professional, or 2003 Server
Software Requirements
SHOUTcast DNAS 1.9.4 or above:
http://www.shoutcast.com/download/serve.phtml
Optional Useful Network Utilities
NetPerSec: http://www.pcmag.com/article2/0,1759,1681,00.asp NetLimiter: http://www.netlimiter.com/index.php TCPView: http://www.sysinternals.com/ntw2k/source/tcpview.shtml Ethereal: http://www.ethereal.com
Installation
4-13
1. Download SHOUTcast DNAS.
http://www.shoutcast.com/download/license.phtml
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 in­stance. 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:
sc_serv.exe sc_serv1.ini sc_serv.exe sc_serv2.ini sc_serv.exe sc_serv3.ini sc_serv.exe sc_serv4.ini
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 con­nected 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 SHOUT­cast DNAS is located behind a firewall or router, and access from the Internet is re­quired, specific ports need to be opened and forwarded in the firewall to allow in­bound 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 pass­words 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 mount­points, thus allowing multiple streams on a single server using the same port. Ice­cast2 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 in­stallation 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 recom­mended for computer novices because of complexity and potential secu­rity 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 sys­tem you intend to serve, Icecast2 requirements will vary.
Since Icecast2 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 prefer­able to use separate encoder and server computers to optimize reliability, redun­dancy, and system architecture.
Operating System Requirements
Microsoft Windows 2000 Professional/Server, XP Professional, or 2003 Server
Software Requirements
Icecast2 2.0.1 or above:
http://www.icecast.org/download.php
Optional Useful Network Utilities
NetPerSec: http://www.pcmag.com/article2/0,1759,1681,00.asp NetLimiter: http://www.netlimiter.com/index.php TCPView: http://www.sysinternals.com/ntw2k/source/tcpview.shtml Ethereal: http://www.ethereal.com
Installation
1. Download Icecast2.
http://www.icecast.org/download.php
A) Download the Windows version.
OPTICODEC-PC STREAMING SERVERS
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.
The default values are:
<source-password>hackme</source-password> <admin-password>hackme</admin-password>
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 op­tions. 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 connec­tions 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 multi­homed 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 play­ers are available for different computer operating systems or platforms. All player clients are not created equal; they support different features and connection proto­cols. 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 dis­cover 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
ADTS .aac/.acp
MPEG-4 .mp4/.m4a
3GPP .3gp
3GPP2 .3g2
Table 5-3: Software Client Player File Formats
Software Client Player Streaming Protocols
UNICAST MULTICAST
PLAYER
QuickTime 6 RealPlayer 10 Winamp 5.05 Coding Technologies
RTSP/RTP UDP Reliable
RTSP/RTP TCP Interleave
HTTP/RTP TCP Tunneling
Proprietary Proprietary
HTTP/ICY TCP
RTSP/RTP UDP
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 net­work 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 net­work 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 em­bedding 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
ILE / OPEN in the menu bar.
rtsp://ip.address.or.domain:rtsp_port/directory/stream.sdp
Examples:
rtsp://123.45.67.8:554/source1/live.sdp
rtsp://opticodec.net:554/source2/live.sdp
5-4
CLIENT PLAYERS ORBAN MODEL 1010
3. Enter the URL of the file stream.
A) If the file stream is served from the server root media directory, the syntax is:
rtsp://ip.address.or.domain:rtsp_port/file.mp4
Examples:
rtsp://123.45.67.8:554/file.mp4
rtsp://opticodec.net:554/file.mp4
B) If the file stream is served from a directory within the server root media direc-
tory, the syntax is:
rtsp://ip.address.or.domain:rtsp_port/directory/file.mp4
Examples:
rtsp://123.45.67.8:554/source1/file.mp4
rtsp://opticodec.net:554/source2/file.mp4
Metafile/Playlist Files
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 infor­mation 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 ex­tensions 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.
rtsp://ip_address_or_domain:rtsp_port/stream.sdp
Example .ram files:
OPTICODEC-PC CLIENT PLAYERS
rtsp://123.45.67.8:554/live.sdp
rtsp://opticodec.net:554/live.sdp
rtsp://opticodec.net:554/live1.sdp?rpcontextheight=240&rpcontextwidth=320 &rpconteturl="http://www.opticodec.net/playlist1.html"&title="OPTICODEC.net" &author="Hi-Fi Audio for the Internet"©right="©2004, Orban, Inc."
C) Save the file with a .ram file extension when done. Double-clicking the .ram file will launch RealPlayer, connect, and play the
stream.
2. Create .rpm File(s).
A) Open a text editor program such as Notepad. B) Create an entry containing the streaming URL.
rtsp://ip_address_or_domain:rtsp_port/stream.sdp
rtsp://ip.address.or.domain:rtsp_port/stream.sdp?parameter=value
rtsp://ip.address.or.domain:rtsp_port/stream.sdp?parameter=value
&parameter=value&parameter=value...
Example .rpm files:
rtsp://123.45.67.8:554/live.sdp
rtsp://opticodec.net:554/live.sdp
5-5
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
rpvideofill­color
screensize double|full|
showvideocon­trolsoverlay
start hh:mm:ss.x 0
title text
toolbar
color_value black
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 play­back pane when Starts the clip at the speci­fied point.
rpurl as
0.
Options
There are several options to change the behavior of RealPlayer. Some of the rele­vant 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 previ­ous 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:
<html>
<head>
OPTICODEC-PC CLIENT PLAYERS
<title>STREAM LINK</title> </head> <body> <a href="http://123.45.67.8/stream/stream.ram">STREAM LINK</a> </body> </html>
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 em­bedding 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.
ILE / OPEN URL in the menu bar.
rtsp://ip.address.or.domain:rtsp_port/directory/stream.sdp
Examples:
rtsp://123.45.67.8:554/source1/live.sdp
rtsp://opticodec.net:554/source2/live.sdp
OPTICODEC-PC CLIENT PLAYERS
3. Enter the URL of the file stream.
A) If the file stream is served from the server root media directory, the syntax is:
rtsp://ip.address.or.domain:rtsp_port/file.mp4
Examples:
rtsp://123.45.67.8:554/file.mp4 rtsp://opticodec.net:554/file.mp4
B) If the file stream is served from a directory within the server root media direc-
tory, the syntax is:
rtsp://ip.address.or.domain:rtsp_port/directory/file.mp4
Examples:
rtsp://123.45.67.8:554/source1/file.mp4 rtsp://opticodec.net:554/source2/file.mp4
Metafile/Playlist Files
5-11
QuickTime can play live or file streams that are referenced in metafiles, playlist, me­dia 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 ap­propriated 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.
rtsptext rtsp://ip_address_or_domain:rtsp_port/directory/stream.sdp
Example .mov files:
rtsptext rtsp://123.45.67.8:554/live.sdp
rtsptext rtsp://opticodec.net:554/source/live.sdp
5-12
CLIENT PLAYERS ORBAN MODEL 1010
C) When finished, save the file with a .mov file extension. Double-clicking the .mov file will launch QuickTime, connect, and play the
stream.
2. Create .qtl File(s).
A) Open a text editor program such as Notepad. B) Create an entry containing the XML header information and the streaming
URL.
<?xml version="1.0"?>
<?quicktime type="application/x-quicktime-media-link"?>
<embed src="ip_address_or_domain:rtsp_port/directory/stream.sdp" />
Additional QuickTime Player Parameters and Values
Include these parameters inside the <embed> tag on the third line of the
.qtl file.
Parameter Value Default Function
autoplay= ”true” “false”
controller= ”true” “false”
fullscreen= “normal” “double”
“half” “current” “full”
href= “url”
loop= “true” “false”
“palindrome”
playeveryframe= “true” “false”
qtnextn= n”url/path”
GOTOn T<myself>
quitwhendone= “true” “false”
(none) Automatic play regardless
(true) Player controller controls
(normal) Player video screen size.
(none) Links player video to URL.
(false) Player file repeat.
(true) Plays all video frames.
(none) Play a sequence of
(false) Player quits when file is
Table 5-6: Additional QuickTime Player Parameters and Values
of player setting.
exposure.
Not available for audio only.
Mutes the audio.
files/streams.
complete.
Example live stream .qtl file:
<?xml version="1.0"?>
<?quicktime type="application/x-quicktime-media-link"?>
<embed src="rtsp://123.45.67.8:554/live.sdp" />
<?xml version="1.0"?>
OPTICODEC-PC CLIENT PLAYERS
<?quicktime type="application/x-quicktime-media-link"?> <embed src="rtsp://opticodec.net:554/live.sdp" controller=”false” />
Example file stream .qtl file:
<?xml version="1.0"?> <?quicktime type="application/x-quicktime-media-link"?> <embed src="rtsp://123.45.67.8:554/file.mp4" />
<?xml version="1.0"?> <?quicktime type="application/x-quicktime-media-link"?> <embed src="rtsp://opticodec.net:554/file.mp4" controller=”false” />
Do not forget /> at the end of the file. It will not work without it.
C) Save the file with a .qtl file extension when done. D) Double-clicking the .qtl file will launch QuickTime, connect and play the
stream.
5-13
Options
There are several options to change the behavior of QuickTime. Some of the relevant ones are outlined here.
Figure 5-3 shows the default Stream­ing Transport Settings:
Figure 5-3: QuickTime Default Streaming
Transport Settings
5-14
CLIENT PLAYERS ORBAN MODEL 1010
Figure 5-4: QuickTime UDP Settings Figure 5-5: QuickTime HTTP Settings
Live/File Stream Linking in a Web Page
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:
<html>
<head>
OPTICODEC-PC CLIENT PLAYERS
<title>STREAM LINK</title> </head> <body> <a href="http://123.45.67.8/stream/file.qtl">STREAM LINK</a> </body> </html>
C) When finished, save the file with a .html file extension. You can test the HTML file locally by double-clicking it. A web browser will open
with your stream-linked web page. Clicking on the Stream Link will launch QuickTime Player, which will connect and
play the stream. Any other QuickTime Player instructions described in the .qtl file will also be invoked.
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.
5-15
B) Test the streaming link on the newly uploaded page to make sure all the
paths and directories are correct.
Embedded Players
Not yet.
5-16
CLIENT PLAYERS ORBAN MODEL 1010
Nullsoft Winamp 5.05
Winamp is used to play HTTP/ICY streams and files served from an HTTP/ICY server such as SHOUTcast DNAS or Icecast2 server.
Figure 5-6: Winamp 5.05 GUI (shown playing a live Opticodec-PC stream)
Direct URL Entry and Play
1. Start Winamp.
A) Go to the S B) Click F
An Open URL dialog box will appear.
2. Enter the URL of the stream.
A) If the live stream is served from SHOUTcast DNAS, the syntax is:
http://ip.address.or.domain:port
example:
http://123.45.67.8:8000
http://opticodec.net:8000
B) If the file or live stream is served from Icecast2, the syntax is:
For streams:
http://ip.address.or.domain:port/path/mountpoint.aac
Mountpoints may contain a directory structure:
example:
http://123.45.67.8:8000/path/stream.aac
http://opticodec.net:8000/stream.aac
TART MENU / WINAMP or use the Taskbar Icon.
ILE / PLAY URL in the menu bar.
SHOUTcast DNAS currently does not support content streaming of .aac files.
OPTICODEC-PC CLIENT PLAYERS
For files:
http://ip.address.or.domain:port/subdirectory/file.aac
example:
http://123.45.67.8:8000/aac/file.aac http://opticodec.net:8000/file.aac
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 lo­cated 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 in­formation.
There are two common types of metafiles or playlist files, .m3u, and .pls. Before ei­ther 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 asso­ciated 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...