Rivendellaudio/docs/ENCODERS.txt
2014-08-12 15:13:02 -04:00

94 lines
3.9 KiB
Plaintext

File Exporting and Encoders in Rivendell
Rivendell has the capability to export audio in many different formats using
several different modules (RDLibrary, RDCatch and RDCastManager). To
accomplish this, Rivendell uses audio *encoder* objects, each of which enable
one or more particular 'export formats'. A list of all
recognized export formats for each host can be found by looking in
RDAdmin->ManageHosts->AudioResources, under 'Supported Export Formats'.
Encoders in Rivendell come in two different basic types, "built-in", and
"custom". Each type is discussed separately below.
BUILT-IN ENCODERS
Some built-in encoders are enabled automatically as part of the basic
Rivendell installation process, while others require one or more external
library packages in order to be recognized and used. The following chart
shows the dependencies:
FORMAT REQUIRED PACKAGE(S) AVAILABLE AT
-------------------------------------------------------------------------
Linear PCM16 [included]
MPEG 1,2 Layer 2 [included]
MPEG 1,2 Layer 3 Lame http://lame.sourceforge.net
FLAC Flac http://flac.sourceforge.net
OggVorbis LibOgg, LibVorbis http://www.vorbis.com
CUSTOM ENCODERS
It is possible to configure a Rivendell host to export audio in a format not
supported by one of the built-in encoders by configuring a 'custom' encoder.
Generally, all that is needed is an encoder program that can be invoked from
the Linux command-line. The configuration is done in
RDAdmin->ManageHosts->CustomEncoders. Each encoder needs the following
information:
NAME
A unique-per-host name for the encoder.
DEFAULT EXTENSION
A typically two- or three-letter long file extension to associate with this
encoder.
COMMAND LINE
The command line that Rivendell should invoke to encode a file. When invoked,
Rivendell will pipe the source audio data into standard input of the program
shown here, using sixteen-bit little-endian format with no headers (so-called
'raw' mode) and with channelization and sample rate as indicated in the
configuration for the specific export being executed. The following
wildcard characters can be used to pass parameters from the specfic export
configuration:
%f - Full destination path/name.
%c - Number of channels
%r - Sample rate, in samples/sec
%b - Bitrate, in bits/sec
ALLOWABLE PARAMETERS
Finally, each encoder can be provided with a list of zero or more 'allowed'
values for Channel, Sample Rate and Bit Rate. Rivendell will use these values
(along with the 'NAME' value, see above) to populate the approriate controls
in the Edit Export Settings dialog. If no values are configured for a
particular parameter, then the correponding control in the dialog will be
shown as disabled ("greyed-out"), in which case it is assumed that the encoder
being invoked either does not need the parameter or has had it hard-coded in
the configured command line.
EXAMPLE
As an example, let's set up a custom encoder to produce 'Flash' encoded audio
files using the FFmpeg multimedia transcoder (http://ffmpeg.mplayerhq.hu/) and
the Freeware Advanced Audio Coder (http://sourceforge.net/projects/faac/).
After installing these packages and verifying that Flash files can be
successfully generated from the command line, we go into
RDAdmin->ManageHosts->CustomEncoders, click the 'Add' button and fill out the
name:
New Encoder Name: Flash AAC
Click 'Ok', and the Edit Encoder dialog will open. Fill out the parameters
as follows:
Default Extension: flv
Command Line: ffmpeg -y -vn -f s16le -ac %c -ar %r -i - -vn -f flv -acodec libfaac -ac %c -ar %r -ab %b %f
Allow Channels: 1,2
Allow Sample Rates: 22050,44100
Allow Bit Rates: 8,16
Note that the bit rates here are specified in kbps!
Click 'OK' to save, then go to RDAdmin->ManageHosts->AudioResources. You
should now see a 'Flash AAC [Custom]' entry in the 'SUPPORTED EXPORT FORMATS'
list.