Processing and Encoding

Overview

Once the audio sources have been defined, the next step is to configure the processing and encoding instances that will use those sources. Each audio source can be used for audio processing only, encoding only, or any combination of the two. Available encoding modes include AAC, MP3, and adaptive AAC. Multiple codecs, bitrates, and encoding destinations are supported for each audio source. This is potentially one of the most complex yet extremely powerful configuration sections within R/2.

Defining Processing and Encoding Instances

From the Main “Control Panel” window, click “New”.

Create New Program

The “Create New Program” window allows selection of the “program type” to be defined. Click on the program type that you wish to create.

Note: Multiple processing and/or encoding instances (program types) are supported for each of the audio sources defined previously (see Chapter 7). Encoder instances can also contain multiple destinations and bitrates for encoding.

Audio processing instance

While R/2 is designed primarily for streaming applications, there may be cases where you wish to process an audio signal without encoding a stream for a server. The “Audio Processing Instance” program allows processing an audio I/O without encoding. This can be useful for “utility” processing of audio around a facility, or as “backup” to a main audio processor, particularly when using the optional Omnia.9 processing.

Name

Enter a “friendly name” for this processing instance to easily identify it for status and control from the main “control panel” screen (i.e. Kxxx-Backup Processing).

Audio Source

Select one of the previously defined audio sources as the input to this processing instance (see Chapter 7). Note that these sources can be used in multiple processing or encoding instances simultaneously.

Processing

Selects between Omnia 3 and optional Omnia.9 processing (or no processing at all, should you simply want to route audio through this instance without processing). Up to 8 channels of Omnia.9 processing can be licensed per R/2. When you have reached the maximum number of Omnia.9 licenses available (or if Omnia.9 processing is not licensed) this option will not be displayed. See Chapter 16 for more information on Omnia.9 processing.

Processing preset

Selects the processing preset to be used for this instance. When Omnia 3 processing is selected, the list of available presets will appear. These presets are not format specific, though there are bitrate specific presets for “Music” and “Talk”. Experiment with various presets to find one that works best for your programming format and application. Presets can be copied and modified to create a sound customized exactly to your needs. See Chapter 9 to learn how to “fine tune” the Omnia 3 processing, and Chapter 13 for more information on Omnia 3 preset management.

If optional Omnia.9 processing is enabled, the preset must be selected via NfRemote software due to the powerful processing tools and test instrumentation available through Omnia.9. See Chapter 16 for more details.

Output device

The available output destinations for audio from this instance are listed here (up to 24 Livewire outputs, and 8 local AES outputs). Select the output destination for this processing instance. Livewire channels are configured through the “Livewire Driver Configuration” interface. See Chapter 7 for more details.

Sync buffer (Samples, Seconds)

These values will allow adjustment of the synchronization buffer between input and output. It is recommended that you leave these at the defaults unless advised by technical support. Improper adjustment can cause buffering issues.

Cancel/Save

Once you have finished configuring the processing instance, click “Save” to save it, or “Cancel” to return to the Control Panel screen without saving changes.

Standard AAC Encoder Instance

The Standard AAC Encoder instance accepts audio from a source, encodes it to AAC, and then passes the encoded stream along to one or more servers that you specify. Remember that that the encoded stream can be sent simultaneously to multiple servers, which will then replicate the stream to the client. Multiple AAC bitrates, formats, or processing parameters are supported from the same audio source by creating multiple AAC encoder instances.

Name

Enter a “friendly name” for this encoder instance to easily identify it for status and control from the main “control panel” screen (i.e. Kxxx-AAC Stream 1).

Audio Source

Select one of the previously defined audio sources as the input to this processing instance (see Chapter 7). Note that these sources can be used in multiple processing or encoding instances simultaneously.

Processing

Selects between Omnia 3 and optional Omnia.9 processing (or no processing at all, should you simply want to route audio through this instance without processing). Up to 8 channels of Omnia.9 processing can be licensed per R/2. When you have reached the maximum number of Omnia.9 licenses available (or if Omnia.9 processing is not licensed) this option will not be displayed. See Chapter 16 for more information on Omnia.9 processing.

Processing preset

Selects the processing preset to be used for this instance. When Omnia 3 processing is selected, the list of available presets will appear. These presets are not format specific, though there are bitrate specific presets for “Music” and “Talk”. Experiment with various presets to find one that works best for your programming format and application. Presets can be copied and modified to create a sound customized exactly to your needs. See Chapter 9 to learn how to “fine tune” the Omnia 3 processing, and Chapter 13 for more information on Omnia 3 preset management.

If optional Omnia.9 processing is enabled, the preset must be selected via NfRemote software due to the powerful processing tools and test instrumentation available through Omnia.9. See Chapter 16 for more details.

AAC Format

There are several different “flavors” of AAC. The most common form (and the default for this instance) is AAC-LC (Advanced Audio Coding-Low Complexity). HE-AAC is “High Efficiency” AAC. It is designed for bitrates between 24 and 96 kbps. An “improved” version of HE-AAC (HE-AAC v2) was developed for lower bitrates between 14 and 56 kbps. HE-AAC v2 also offers improved stereo performance at lower bitrates. It is worth noting while HE-AAC v2 is widely supported, it may not be compatible with some players.

Note: If in doubt, choose AAC-LC. This is the most common form of AAC encoding, though the HE (High Efficiency) variants are becoming more common for lower bitrate applications.

Mono/Stereo

Select whether this stream will be encoded in Mono or Stereo. Mono should provide a mono sum of the incoming audio. This setting will be locked to stereo for HE-AAC v2.

Bitrate

Enter the bitrate for this stream. The valid bitrate range will change depending on which AAC format is selected.

Stream Output Format

Selects the output file format for the stream. Even though the streams are not a “file” per-se, this setting controls how the AAC encoded audio is encapsulated. The default is generally sufficient for most applications, but other settings may be required for different server platforms (such as Wowza or other RTMP server). Although multiple server destinations are supported per instance, only one output format can be selected. Use another instance if you need to send a different format to another server (i.e. HTTP server and Wowza/RTMP simultaneously).

RAW – Send unformatted (raw encoded) audio to your stream. Use this option with RTMP streams.

ADIF - Audio Data Interchange Format, a file format to exchange AAC data.

ADTS - Audio Data Transport Stream, a format, used by all other stream types.

RAW+ESBRSIG – Send unformatted audio along to your stream that includes explicit backwards compatible signaling method. This option can be used with RTMP streams.

Adding Streams

Multiple server destinations can be specified for each encoder instance. To add a destination, click on “Select stream type to add”. Supported server destinations include HTTP, Icecast, SHOUTcast, Wowza, or other RTMP (Adobe Flash Media Server, etc.)

From the dropdown menu, select the server type that you wish to send an output from this encoder instance to.

HTTP Server

The HTTP option will send the output to the HTTP stream server built into R/2. Using this server, you can monitor the encoded stream directly from R/2. This is often helpful in troubleshooting server connections, or just as a quick way to test that everything is working as expected. The HTTP server is also useful when setting up audio processing, as the delay is much shorter than that experienced with an external server.

Friendly Name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – Internal Test Stream).

Stream resource ID

This resource ID will become part of the URL that you use to reach this stream. For example, if the stream server is active on port 8888, and you use a resource ID of “TestStream” then you would listen to this stream by entering http://ip_address_of_r2:8888/TestStream in your browser or media player.

Full stream URL

Displays the full URL of this HTTP stream (including the port and Stream resource ID).

Note: As of this writing, R/2 currently displays “localhost” rather than the actual IP address of R/2. Replace “localhost” in the URL with the IP address or hostname of R/2.

When finished, click “Save” to save and return to the “AAC Encoder” screen or click “Cancel” to cancel any changes.

Send to ICEcast Server

The ICEcast Server option allows sending a stream to an ICEcast (or compatible) server. ICEcast is an open source streaming server available as a free download for various platforms. A separate option is provided for SHOUTcast compatible servers.

Friendly name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – Icecast Stream).

Metadata source

Select a metadata input source to be used with this encoding instance (if desired). See Chapter 10 for more details.

Server address

Enter the IP address and port of the ICEcast server.

Mount point

Each ICEcast server may contain multiple broadcasts (or mount points) each containing a separate stream of content. Thus, 'mount point' is just a unique name that identifies a particular stream. The mount point needs to be configured properly in order for the stream to work. Mount points should not contain any spaces or odd characters.

Username

Enter a user name here for access to the audio stream. This should be the same username configured on your ICEcast server for sources. The default username is “source”.

Password

Enter the password configured on your ICEcast server for encoding sources. (You DID change it, didn’t you? Please tell me it isn’t still set to “hackme”)

Admin user

Enter the “admin” username for your ICEcast server. The default is “admin”.

This user will be used for the metadata functions of ICEcast.

Admin password

Enter the administrator password configured on your ICEcast server here. (Again, I REALLY hope it isn’t still set to “hackme”)

Stream name

Enter a name for your stream. This will be used for stream directory listings (if enabled) and displayed in the stream metadata.

Genre

Enter the format of your stream or station here, for example rock, country or urban. ICEcast will display this information in the metadata field.

Stream URL

Enter a URL to be displayed with the stream metadata. This can be a station’s website, or other URL associated with the stream.

Check the Public checkbox to list this stream in public directories, or leave it un-checked if you do not want the stream listed.

Note: Even with the “Public” checkbox un-checked, it may still be possible for stream “aggregators” to find and list your stream as they crawl the Internet searching for publicly available audio streams. There are very few practical ways to avoid this, unfortunately.

When finished, click “Save” to save and return to the “AAC Encoder” screen or click “Cancel” to cancel any changes.

Send to SHOUTcast Server

SHOUTcast DNAS (Distributed Network Audio Software) is a media server developed by Nullsoft, now distributed by Radionomy. SHOUTcast is available in multiple levels from from a basic (free) version, through paid options that allow monetization. Currently it is available for Windows, Linux and Mac OSX. Cloud-hosted options are also available.

R/2 replaces the DSP encoding plugin for Winamp normally used for broadcasting to a SHOUTcast server.

Friendly name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – SHOUTcast Stream).

Metadata source

Select a metadata input source to be used with this encoding instance (if desired). See Chapter 10 for more details.

Server address

Enter the IP address and port of the SHOUTcast server.

Password

Enter the password configured on your SHOUTcast server for encoding sources.

Stream name

Enter a name for your stream. This will be used for stream directory listings (if enabled) and displayed in the stream metadata.

Genre

Enter the format of your stream or station here, for example rock, country or urban. SHOUTcast will display this information in the metadata field.

Stream URL

Enter a URL to be displayed with the stream metadata. This can be a station’s website, or other URL associated with the stream.

Check the Public checkbox to list this stream in public directories, or leave it un-checked if you do not want the stream listed.

Note: Even with the “Public” checkbox un-checked, it may still be possible for stream “aggregators” to find and list your stream as they crawl the Internet searching for publicly available audio streams. There are very few practical ways to avoid this, unfortunately.

Protocol Version

Choose between SHOUTcast Version 1 or Version 2, depending on the requirements of your SHOUTcast server platform.

Stream ID

Specify the numerical identifier of the stream for control or referencing the stream configuration. This can only be a numeric value from 1 to 2147483647.

When finished, click “Save” to save and return to the “AAC Encoder” screen or click “Cancel” to cancel any changes.

Send to Wowza server

R/2 offers direct integration with Wowza servers for easy configuration of encoding parameters. Configuration files can be loaded into R/2 as an XML file downloaded from the Wowza server, XML configuration copy/paste, or manually configured.

Note: In order to send AAC encoded audio to a Wowza server, you must use “Raw” for the stream file output format, as described earlier in this chapter. Other stream file formats cannot be used simultaneously in the same instance (i.e. ADTS for the internal HTTP server or other servers). Create a new instance if you wish to use another stream file format simultaneously.

Although it can be disabled, Wowza is set by default to use authentication for RTMP encoding sources such as R/2, and it is highly recommended. You will need to define at least one valid “Publisher” account in the “Server” setup for Wowza.

In the Wowza Streaming Engine Manager console, Navigate to “Server”, then to “Source Authentication”. Click on “Add Source” and specify a username and password. This is necessary for both XML-based and manual configuration of a Wowza stream in R/2.

Configuring R/2 for a Wowza stream

Click on the “Options” dropdown to choose a method for configuring a Wowza connection.

Load as XML

Allows loading an XML configuration for a Wowza connection either from a file, or by copy/paste.

This file can be downloaded from the Wowza server by clicking on the desired streaming application in Wowza (live, for example) then clicking on “Incoming Publishers”. Select “The Telos Alliance” from the list of available encoder manufacturers. The appropriate configuration parameters will appear, along with a button to download an XML file containing the configuration for R/2. You will also need to define an account for the incoming source.

Friendly name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – Wowza Stream).

Metadata source

Select a metadata input source to be used with this encoding instance (if desired). See Chapter 10 for more details.

XML data

Copy and paste the XML configuration data for this connection from the Wowza server here.

Load from file

Click here to load Wowza XML configuration data from a file.

When finished, click “Save” to save and return to the “AAC Encoder” screen or click “Cancel” to cancel any changes.

Send to Wowza Server

Allows manual configuration of a stream pushed to a Wowza server.

Friendly name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – Wowza Stream).

Metadata source

Select a metadata input source to be used with this encoding instance (if desired). See Chapter 10 for more details.

Server address

Enter the IP address of the Wowza server.

Server port

Enter the port of the Wowza server. The default is 1935.

Publish path

Enter the path to the desired streaming application on your Wowza server (live, for example).

Stream

Enter the name of the stream you wish to create on your Wowza server. This stream will be created under the specified path (application).

Use Authentication

Check this box to use authentication when sending a stream to the Wowza server. Authentication for RTMP publisher sources such as R/2 is enabled by default in Wowza and will likely need to be enabled here as well.

Username

Enter the username specified as a publisher in the Wowza server.

Password

Enter the password associated with the publisher username in the Wowza server.

When finished, click “Save” to save and return to the “AAC Encoder” screen or click “Cancel” to cancel any changes.

Send to RTMP Server

RTMP (Real Time Messaging Protocol) is a TCP-based protocol initially developed by Macromedia to deliver streams to the Flash player. The specification is now available (albeit in incomplete form) for public use. A number of servers support the RTMP protocol, including Adobe Flash Media Server, Wowza and others.

Note: In order to send AAC encoded audio to an RTMP server, you must use “Raw” for the stream file output format, as described earlier in this chapter. Other stream file formats cannot be used simultaneously in the same instance (i.e. ADTS for the internal HTTP server or other servers). Create a new instance if you wish to use another stream file format simultaneously.

Friendly name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – RTMP Stream).

Metadata source

Select a metadata input source to be used with this encoding instance (if desired). See Chapter 10 for more details.

Server address

Enter the IP address of the RTMP server.

Server port

Enter the port of the RTMP server. The default is 1935.

RTMP Publish path

Enter the publishing path for the RTMP server—generally provided by your CDN, and may also be referred to as an “entry point”.

RTMP Stream

Enter the name of the RTMP stream name. The stream name may be fixed or chosen, it depends on your CDN. Some providers, such as Akamai, require the stream name to be very specific, and they provide the format that must be used.

Use RTMP Authentication

Check this box to use authentication when sending a stream to the RTMP server.

Username

Enter the username for encoding to your RTMP server.

Password

Enter the password for encoding to your RTMP server.

When finished, click “Save” to save and return to the “AAC Encoder” screen or click “Cancel” to cancel any changes.

MP3 Encoder Instance

An MP3 Encoder instance accepts data from an audio source, processes it, encodes it to MPEG Layer-3, and makes it available to media servers. The encoded stream can also be made available through the HTTP stream server built into the application. The internal HTTP server is intended for monitoring the stream by a very small number of listeners. It is not designed to feed a large number of clients.

Name

Enter a “friendly name” for this encoder instance to easily identify it for status and control from the main “control panel” screen (i.e. Kxxx-MP3 Stream 1).

Audio Source

Select one of the previously defined audio sources as the input to this processing instance (see Chapter 7). Note that these sources can be used in multiple processing or encoding instances simultaneously.

Processing

Selects between Omnia 3 and optional Omnia.9 processing (or no processing at all, should you simply want to route audio through this instance without processing). Up to 8 channels of Omnia.9 processing can be licensed per R/2. When you have reached the maximum number of Omnia.9 licenses available (or if Omnia.9 processing is not licensed) this option will not be displayed. See Chapter 16 for more information on Omnia.9 processing.

Processing preset

Selects the processing preset to be used for this instance. When Omnia 3 processing is selected, the list of available presets will appear. These presets are not format specific, though there are bitrate specific presets for “Music” and “Talk”. Experiment with various presets to find one that works best for your programming format and application. Presets can be copied and modified to create a sound customized exactly to your needs. See Chapter 9 to learn how to “fine tune” the Omnia 3 processing, and Chapter 13 for more information on Omnia 3 preset management.

If optional Omnia.9 processing is enabled, the preset must be selected via NfRemote software due to the powerful processing tools and test instrumentation available through Omnia.9. See Chapter 16 for more details.

MP3 Format

Select whether this stream will be encoded in Mono or Stereo. Mono should provide a mono sum of the incoming audio.

Bitrate

Enter the bitrate for this stream. Valid MP3 bitrates are 20 kbps to 320 kbps.

Adding Streams

Multiple server destinations can be specified for each encoder instance. To add a destination, click on “Select stream type to add”. Supported server destinations include HTTP, Icecast, SHOUTcast, Wowza, or other RTMP (Adobe Flash Media Server, etc.)

From the dropdown menu, select the server type that you wish to send an output from this encoder instance to.

HTTP Server

The HTTP option will send the output to the HTTP stream server built into R/2. Using this server, you can monitor the encoded stream directly from R/2. This is often helpful in troubleshooting server connections, or just as a quick way to test that everything is working as expected. The HTTP server is also useful when setting up audio processing, as the delay is much shorter than that experienced with an external server.

Friendly Name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – Internal Test Stream).

Stream resource ID

This resource ID will become part of the URL that you use to reach this stream. For example, if the stream server is active on port 8888, and you use a resource ID of “TestStream” then you would listen to this stream by entering http://ip_address_of_r2:8888/TestStream in your browser or media player.

Full stream URL

Displays the full URL of this HTTP stream (including the port and Stream resource ID).

Note: As of this writing, R/2 currently displays “localhost” rather than the actual IP address of R/2. Replace “localhost” in the URL with the IP address or hostname of R/2.

When finished, click “Save” to save and return to the “MP3 Encoder” screen or click “Cancel” to cancel any changes.

Send to ICEcast Server

The ICECast Server option allows sending a stream to an ICEcast (or compatible) server. ICECast is an open source streaming server available as a free download for various platforms. A separate option is provided for SHOUTcast compatible servers.

Friendly name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – Icecast Stream).

Metadata source

Select a metadata input source to be used with this encoding instance (if desired). See Chapter 10 for more details.

Server address

Enter the IP address and port of the ICEcast server.

Mount point

Each ICEcast server may contain multiple broadcasts (or mount points) each containing a separate stream of content. Thus, 'mount point' is just a unique name that identifies a particular stream. The mount point needs to be configured properly in order for the stream to work. Mount points should not contain any spaces or odd characters.

Username

Enter a user name here for access to the audio stream. This should be the same username configured on your ICECast server for sources. The default username is “source”.

Password

Enter the password configured on your ICECast server for encoding sources. (You DID change it, didn’t you? Please tell me it isn’t still set to “hackme”)

Admin user

Enter the “admin” username for your ICECast server. The default is “admin”.

This user will be used for the metadata functions of ICEcast.

Admin password

Enter the administrator password configured on your ICECast server here. (Again, I REALLY hope it isn’t still set to “hackme”)

Stream name

Enter a name for your stream. This will be used for stream directory listings (if enabled) and displayed in the stream metadata.

Genre

Enter the format of your stream or station here, for example rock, country or urban. ICECast will display this information in the metadata field.

Stream URL

Enter a URL to be displayed with the stream metadata. This can be a station’s website, or other URL associated with the stream.

Check the Public checkbox to list this stream in public directories, or leave it un-checked if you do not want the stream listed.

Note: Even with the “Public” checkbox un-checked, it may still be possible for stream “aggregators” to find and list your stream as they crawl the Internet searching for publicly available audio streams. There are very few practical ways to avoid this, unfortunately.

When finished, click “Save” to save and return to the “MP3 Encoder” screen or click “Cancel” to cancel any changes.

Send to SHOUTcast Server

SHOUTcast DNAS (Distributed Network Audio Software) is a media server developed by Nullsoft, now distributed by Radionomy. SHOUTcast is available in multiple levels from from a basic (free) version through paid options that allow monetization. Currently it is available for Windows, Linux and Mac OSX. Cloud-hosted options are also available.

R/2 replaces the DSP encoding plugin for Winamp normally used for broadcasting to a SHOUTcast server.

Friendly name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – SHOUTcast Stream).

Metadata source

Select a metadata input source to be used with this encoding instance (if desired). See Chapter 10 for more details.

Server address

Enter the IP address and port of the SHOUTcast server.

Password

Enter the password configured on your SHOUTcast server for encoding sources.

Stream name

Enter a name for your stream. This will be used for stream directory listings (if enabled) and displayed in the stream metadata.

Genre

Enter the format of your stream or station here, for example rock, country or urban. SHOUTcast will display this information in the metadata field.

Stream URL

Enter a URL to be displayed with the stream metadata. This can be a station’s website, or other URL associated with the stream.

Check the Public checkbox to list this stream in public directories, or leave it un-checked if you do not want the stream listed.

Note: Even with the “Public” checkbox un-checked, it may still be possible for stream “aggregators” to find and list your stream as they crawl the Internet searching for publicly available audio streams. There are very few practical ways to avoid this, unfortunately.

Protocol Version

Choose between SHOUTcast Version 1 or Version 2, depending on the requirements of your SHOUTcast server platform.

Stream ID

Specify the numerical identifier of the stream for control or referencing the stream configuration. This can only be a numeric value from 1 to 2147483647.

When finished, click “Save” to save and return to the “MP3 Encoder” screen or click “Cancel” to cancel any changes.

Send to Wowza server

R/2 offers direct integration with Wowza servers for easy configuration of encoding parameters. Configuration files can be loaded into R/2 as an XML file downloaded from the Wowza server, XML configuration copy/paste, or manually configuration.

Although it can be disabled, Wowza is set by default to use authentication for RTMP encoding sources such as R/2, and it is highly recommended. You will need to define at least one valid “Publisher” account in the “Server” setup for Wowza.

In the Wowza Streaming Engine Manager console, Navigate to “Server”, then to “Source Authentication”. Click on “Add Source” and specify a username and password. This is necessary for both XML-based and manual configuration of a Wowza stream in R/2.

Configuring R/2 for a Wowza stream

Click on the “Options” dropdown to choose a method for configuring a Wowza connection.

Load as XML

Allows loading an XML configuration for a Wowza connection either from a file, or by copy/paste.

This file can be downloaded from the Wowza server by clicking on the desired streaming application in Wowza (live, for example) then clicking on “Incoming Publishers”. Select “The Telos Alliance” from the list of available encoder manufacturers. The appropriate configuration parameters will appear, along with a button to download an XML file containing the configuration for R/2. You will also need to define an account for the incoming source.

Friendly name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – Wowza Stream).

Metadata source

Select a metadata input source to be used with this encoding instance (if desired). See Chapter 10 for more details.

XML data

Copy and paste the XML configuration data for this connection from the Wowza server here.

Load from file

Click here to load Wowza XML configuration data from a file.

When finished, click “Save” to save and return to the “MP3 Encoder” screen or click “Cancel” to cancel any changes.

Send to Wowza Server

Allows manual configuration of a stream pushed to a Wowza server.

Friendly name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – Wowza Stream).

Metadata source

Select a metadata input source to be used with this encoding instance (if desired). See Chapter 10 for more details.

Server address

Enter the IP address of the Wowza server.

Server port

Enter the port of the Wowza server. The default is 1935.

Publish path

Enter the path to the desired streaming application on your Wowza server (live, for example).

Stream

Enter the name of the stream you wish to create on your Wowza server. This stream will be created under the specified path (application).

Use Authentication

Check this box to use authentication when sending a stream to the Wowza server. Authentication for RTMP publisher sources such as R/2 is enabled by default in Wowza and will likely need to be enabled here as well.

Username

Enter the username specified as a publisher in the Wowza server.

Password

Enter the password associated with the publisher username in the Wowza server.

When finished, click “Save” to save and return to the “MP3 Encoder” screen or click “Cancel” to cancel any changes.

Send to RTMP Server

RTMP (Real Time Messaging Protocol) is a TCP-based protocol initially developed by Macromedia to deliver streams to the Flash player. The specification is now available (albeit in incomplete form) for public use. A number of servers support the RTMP protocol, including Adobe Flash Media Server, Wowza and others.

Friendly name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – RTMP Stream).

Metadata source

Select a metadata input source to be used with this encoding instance (if desired). See Chapter 10 for more details.

Server address

Enter the IP address of the RTMP server.

Server port

Enter the port of the RTMP server. The default is 1935.

RTMP Publish path

Enter the publishing path for the RTMP server—generally provided by your CDN, and may also be referred to as an “entry point”.

RTMP Stream

Enter the name of the RTMP stream name. The stream name may be fixed or chosen, it depends on your CDN. Some providers, such as Akamai, require the stream name to be very specific, and they provide the format that must be used.

Use RTMP Authentication

Check this box to use authentication when sending a stream to the RTMP server.

Username

Enter the username for encoding to your RTMP server.

Password

Enter the password for encoding to your RTMP server.

When finished, click “Save” to save and return to the “MP3 Encoder” screen or click “Cancel” to cancel any changes.

Adaptive AAC Encoder

As more audio content is being streamed to mobile devices, adaptive encoders take on increased importance. An adaptive encoder sends an audio stream in multiple bitrates to the server. The client device then automatically chooses the best one based on available bandwidth. As more or less bandwidth becomes available, the mobile device may request higher or lower bitrate audio, so it is able to adapt to network conditions dynamically.

Name

Enter a “friendly name” for this encoder instance to easily identify it for status and control from the main “control panel” screen (i.e. Kxxx-Adaptive Stream 1).

Audio Source

Select one of the previously defined audio sources as the input to this processing instance (see Chapter 7). Note that these sources can be used in multiple processing or encoding instances simultaneously.

Processing

Selects between Omnia 3 and optional Omnia.9 processing (or no processing at all, should you simply want to route audio through this instance without processing). Up to 8 channels of Omnia.9 processing can be licensed per R/2. When you have reached the maximum number of Omnia.9 licenses available (or if Omnia.9 processing is not licensed) this option will not be displayed. See Chapter 16 for more information on Omnia.9 processing.

Processing preset

Selects the processing preset to be used for this instance. When Omnia 3 processing is selected, the list of available presets will appear. These presets are not format specific, though there are bitrate specific presets for “Music” and “Talk”. Experiment with various presets to find one that works best for your programming format and application. Presets can be copied and modified to create a sound customized exactly to your needs. See Chapter 9 to learn how to “fine tune” the Omnia 3 processing, and Chapter 13 for more information on Omnia 3 preset management.

If optional Omnia.9 processing is enabled, the preset must be selected via NfRemote software due to the powerful processing tools and test instrumentation available through Omnia.9. See Chapter 16 for more details.

Fragment duration (milliseconds)

Configures the fragment length. Adaptive streaming splits audio into fragments which are then (usually by HTTP) downloaded by the client device. The longer the fragments, the more latency in the stream as the player will need to keep at least one fragment buffered before downloading the next one

Synchronize stream start to fragment duration aligned steps

This setting will synchronize fragment start between primary and backup servers. This option should be used together with an RTP source using absolute PTP time so adaptive streams will be started only on fragment length boundaries and fragments from primary and backup servers will be synchronized. If only one encoder server is being used, then this option should be left unchecked.

Transport Format

Select the desired transport format for this Adaptive AAC Encoding Instance. This will depend on the server platform and application. Multiple streams and bitrates can be defined in a single Adaptive AAC instance as necessary.

Note: ADIF and ADTS CRC should NOT be used with Smooth Streaming or HLS unless there are very specific server requirements.

RAW (for Smooth Streaming)

Smooth Streaming is an IIS Media Services extension that facilitates adaptive streaming to clients via HTTP. SDKs are available from Microsoft to enable Smooth Streaming over Silverlight and Windows Phone 7. It may also be ported to Apple iOS, Android and Linux

Friendly name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – Adaptive Stream).

Metadata source

Metadata is not yet available for Smooth Streaming but should be available for custom CDN servers in the future.

Stream Name

If multiple streams use the same mount point, then Stream Name can be used to separate them. The default Stream Name is “Encoder”.

Mount point

Each Smooth Streaming server may contain multiple broadcasts (or mount points) each containing a separate stream of content. Thus, 'mount point' is just a unique name that identifies a particular stream. The mount point needs to be configured properly in order for the stream to work. Mount point names should not contain any spaces or odd characters.

When finished, click “Save” to save and return to the “Adaptive AAC Encoder” screen or click “Cancel” to cancel any changes.

ADTS (for HLS)

Apple’s HTTP Live Streaming protocol allows you to create multiple bitrate adaptive streams, which allow the client’s device to request the needed bitrate stream depending on the available network bandwidth.

Friendly name

Specify an easy to remember “Friendly” name to identify this stream output in the list of streams that have been defined (i.e. Kxxx – HLS Stream).

Metadata source

Select a metadata input source to be used with this encoding instance (if desired). See Chapter 10 for more details.

Stream name

This name will be used in HLS filenames and folders. Please use only letters, numbers, dashes and underscores.

Storage

Select “Local Folder” or “FTP Server”. The “Local Folder” setting will make files available via an HTTP share on R/2 in the format: http://r2address/streams/HLS/streamname/streamname.m3u8

Destination

When set to “FTP Server”, this field specifies the FTP server where HLS file chunks should be uploaded. This field requires a full FTP path i.e. “ftp://user:password@hostname:21/folder/” to specify a username, password, and port, or “ftp://hostname/folder/” if no authentication or port number is needed. If the HLS stream is transferred to an FTP server, the server must have its own web service to serve the files to the listeners.

Delete existing files

Removes all files from the folder or FTP server when the stream is started. Use this option with caution as the files will be permanently deleted!

Archive size

Set number of fragments that need to be stored. The old fragments will be deleted. If this variable is set to 0, all the fragments will be stored.

When finished, click “Save” to save and return to the “Adaptive AAC Encoder” screen or click “Cancel” to cancel any changes.

Configuring Available Bitrates

In addition to defining the other adaptive streaming parameters, you will need to configure the bitrates and AAC encoding formats contained in those streams.

Click “Add bitrate” to add an entry to the list.

AAC Format

There are several different “flavors” of AAC. The most common form (and the default for this instance) is AAC-LC (Advanced Audio Coding-Low Complexity). HE-AAC is “High Efficiency” AAC. It is designed for bitrates between 24 and 96 kbps. An “improved” version of HE-AAC (HE-AAC v2) was developed for lower bitrates between 14 and 56 kbps. HE-AAC v2 also offers improved stereo performance at lower bitrates. It is worth noting while HE-AAC v2 is widely supported, it may not be compatible with some players.

Note: If in doubt, choose AAC-LC. This is the most common form of AAC encoding, though the HE (High Efficiency) variants are becoming more common for lower bitrate applications.

Channels

Select whether this stream will be encoded in Mono or Stereo. Mono should provide a mono sum of the incoming audio. This setting will be locked to stereo for HE-AAC v2.

Bitrate

Enter the bitrate for this stream. The valid bitrate range will change depending on which AAC format is selected.

When finished, click “Save” to save and return to the “Adaptive AAC Encoder” screen or click “Cancel” to cancel any changes.

Managing Processing and Encoding Instances

Click “Main” or the Z/IPStream R/2 logo to return to the main “Control Panel” screen. All processing and encoding instances that have been defined will be displayed, along with their configured parameters and status. Click the “triangle” on the “Status” line to display additional details about the individual streams contained within each instance.

Instance Type

The oval at the top right of each instance will display the type of instance that has been defined.

Indicates an audio processing instance

Indicates a standard AAC encoding instance

Indicates an MP3 encoding instance

Indicates a multiple bitrate (adaptive) AAC encoding instance

Instance Controls

Edit the parameters of an instance. Some parameters may not be changed once an instance has been defined, or while an instance is running.

Delete an instance. This is a permanent action. Deleted instances cannot be recovered and will need to be re-created.

Starts an instance that is currently stopped. Instances that are not currently running will be “greyed out”.

Stops an instance that is currently started.

Metering and Processing Control

I/O Metering is provided for each instance. Audio processing presets for each instance can be modified by clicking the “pencil” icon next to the preset name (see Chapter 9 for more details on Omnia 3 processing). Instances using Omnia.9 processing can be accessed via NfRemote for more detailed monitoring and control of the audio processing (see Chapter 16).