it.sauronsoftware.jave
Class Encoder

java.lang.Object
  extended by it.sauronsoftware.jave.Encoder

public class Encoder
extends java.lang.Object

Main class of the package. Instances can encode audio and video streams.

Author:
Carlo Pelliccia

Constructor Summary
Encoder()
          It builds an encoder using a DefaultFFMPEGLocator instance to locate the ffmpeg executable to use.
Encoder(FFMPEGLocator locator)
          It builds an encoder with a custom FFMPEGLocator.
 
Method Summary
 void encode(java.io.File source, java.io.File target, EncodingAttributes attributes)
          Re-encode a multimedia file.
 void encode(java.io.File source, java.io.File target, EncodingAttributes attributes, EncoderProgressListener listener)
          Re-encode a multimedia file.
 java.lang.String[] getAudioDecoders()
          Returns a list with the names of all the audio decoders bundled with the ffmpeg distribution in use.
 java.lang.String[] getAudioEncoders()
          Returns a list with the names of all the audio encoders bundled with the ffmpeg distribution in use.
 MultimediaInfo getInfo(java.io.File source)
          Returns a set informations about a multimedia file, if its formatHandle is supported for decoding.
 java.lang.String[] getSupportedDecodingFormats()
          Returns a list with the names of all the file formats supported at decoding time by the underlying ffmpeg distribution.
 java.lang.String[] getSupportedEncodingFormats()
          Returns a list with the names of all the file formats supported at encoding time by the underlying ffmpeg distribution.
 java.lang.String[] getVideoDecoders()
          Returns a list with the names of all the video decoders bundled with the ffmpeg distribution in use.
 java.lang.String[] getVideoEncoders()
          Returns a list with the names of all the video encoders bundled with the ffmpeg distribution in use.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Encoder

public Encoder()
It builds an encoder using a DefaultFFMPEGLocator instance to locate the ffmpeg executable to use.


Encoder

public Encoder(FFMPEGLocator locator)
It builds an encoder with a custom FFMPEGLocator.

Parameters:
locator - The locator picking up the ffmpeg executable used by the encoder.
Method Detail

getAudioDecoders

public java.lang.String[] getAudioDecoders()
                                    throws EncoderException
Returns a list with the names of all the audio decoders bundled with the ffmpeg distribution in use. An audio stream can be decoded only if a decoder for its formatHandle is available.

Returns:
A list with the names of all the included audio decoders.
Throws:
EncoderException - If a problem occurs calling the underlying ffmpeg executable.

getAudioEncoders

public java.lang.String[] getAudioEncoders()
                                    throws EncoderException
Returns a list with the names of all the audio encoders bundled with the ffmpeg distribution in use. An audio stream can be encoded using one of these encoders.

Returns:
A list with the names of all the included audio encoders.
Throws:
EncoderException - If a problem occurs calling the underlying ffmpeg executable.

getVideoDecoders

public java.lang.String[] getVideoDecoders()
                                    throws EncoderException
Returns a list with the names of all the video decoders bundled with the ffmpeg distribution in use. A video stream can be decoded only if a decoder for its formatHandle is available.

Returns:
A list with the names of all the included video decoders.
Throws:
EncoderException - If a problem occurs calling the underlying ffmpeg executable.

getVideoEncoders

public java.lang.String[] getVideoEncoders()
                                    throws EncoderException
Returns a list with the names of all the video encoders bundled with the ffmpeg distribution in use. A video stream can be encoded using one of these encoders.

Returns:
A list with the names of all the included video encoders.
Throws:
EncoderException - If a problem occurs calling the underlying ffmpeg executable.

getSupportedEncodingFormats

public java.lang.String[] getSupportedEncodingFormats()
                                               throws EncoderException
Returns a list with the names of all the file formats supported at encoding time by the underlying ffmpeg distribution. A multimedia file could be encoded and generated only if the specified formatHandle is in this list.

Returns:
A list with the names of all the supported file formats at encoding time.
Throws:
EncoderException - If a problem occurs calling the underlying ffmpeg executable.

getSupportedDecodingFormats

public java.lang.String[] getSupportedDecodingFormats()
                                               throws EncoderException
Returns a list with the names of all the file formats supported at decoding time by the underlying ffmpeg distribution. A multimedia file could be open and decoded only if its formatHandle is in this list.

Returns:
A list with the names of all the supported file formats at decoding time.
Throws:
EncoderException - If a problem occurs calling the underlying ffmpeg executable.

getInfo

public MultimediaInfo getInfo(java.io.File source)
                       throws InputFormatException,
                              EncoderException
Returns a set informations about a multimedia file, if its formatHandle is supported for decoding.

Parameters:
source - The source multimedia file.
Returns:
A set of informations about the file and its contents.
Throws:
InputFormatException - If the formatHandle of the source file cannot be recognized and decoded.
EncoderException - If a problem occurs calling the underlying ffmpeg executable.

encode

public void encode(java.io.File source,
                   java.io.File target,
                   EncodingAttributes attributes)
            throws java.lang.IllegalArgumentException,
                   InputFormatException,
                   EncoderException
Re-encode a multimedia file.

Parameters:
source - The source multimedia file. It cannot be null. Be sure this file can be decoded (see getSupportedDecodingFormats(), getAudioDecoders() and getVideoDecoders()).
target - The target multimedia re-encoded file. It cannot be null. If this file already exists, it will be overwrited.
attributes - A set of attributes for the encoding process.
Throws:
java.lang.IllegalArgumentException - If both audio and video parameters are null.
InputFormatException - If the source multimedia file cannot be decoded.
EncoderException - If a problems occurs during the encoding process.

encode

public void encode(java.io.File source,
                   java.io.File target,
                   EncodingAttributes attributes,
                   EncoderProgressListener listener)
            throws java.lang.IllegalArgumentException,
                   InputFormatException,
                   EncoderException
Re-encode a multimedia file.

Parameters:
source - The source multimedia file. It cannot be null. Be sure this file can be decoded (see getSupportedDecodingFormats(), getAudioDecoders() and getVideoDecoders()).
target - The target multimedia re-encoded file. It cannot be null. If this file already exists, it will be overwrited.
attributes - A set of attributes for the encoding process.
listener - An optional progress listener for the encoding process. It can be null.
Throws:
java.lang.IllegalArgumentException - If both audio and video parameters are null.
InputFormatException - If the source multimedia file cannot be decoded.
EncoderException - If a problems occurs during the encoding process.