Class MultimediaObject

java.lang.Object
ws.schild.jave.MultimediaObject

public class MultimediaObject extends Object
  • Field Details

    • LOG

      private static final org.slf4j.Logger LOG
    • SIZE_PATTERN

      private static final Pattern SIZE_PATTERN
      This regexp is used to parse the ffmpeg output about the size of a video stream.
    • FRAME_RATE_PATTERN

      private static final Pattern FRAME_RATE_PATTERN
      This regexp is used to parse the ffmpeg output about the frame rate value of a video stream.
    • BIT_RATE_PATTERN

      private static final Pattern BIT_RATE_PATTERN
      This regexp is used to parse the ffmpeg output about the bit rate value of a stream.
    • SAMPLING_RATE_PATTERN

      private static final Pattern SAMPLING_RATE_PATTERN
      This regexp is used to parse the ffmpeg output about the sampling rate of an audio stream.
    • CHANNELS_PATTERN

      private static final Pattern CHANNELS_PATTERN
      This regexp is used to parse the ffmpeg output about the channels number of an audio stream.
    • BIT_DEPTH_PATTERN

      private static final Pattern BIT_DEPTH_PATTERN
      This regexp is used to parse the ffmpeg output about the bit depth of an audio stream.
    • locator

      private final ProcessLocator locator
      The locator of the ffmpeg executable used by this extractor.
    • inputFile

      private File inputFile
    • inputURL

      private URL inputURL
    • readURLOnce

      private boolean readURLOnce
      When true, we try to not read the source more than once. One of the side effects is, that no progressbar is available
  • Constructor Details

    • MultimediaObject

      public MultimediaObject(File input)
      It builds an extractor using a DefaultFFMPEGLocator instance to locate the ffmpeg executable to use.
      Parameters:
      input - Input file for creating MultimediaObject
    • MultimediaObject

      public MultimediaObject(URL input)
      It builds an extractor using a DefaultFFMPEGLocator instance to locate the ffmpeg executable to use.
      Parameters:
      input - Input URL for creating MultimediaObject
    • MultimediaObject

      public MultimediaObject(URL input, boolean readURLOnce)
      It builds an extractor using a DefaultFFMPEGLocator instance to locate the ffmpeg executable to use.
      Parameters:
      input - Input URL for creating MultimediaObject
      readURLOnce - When true, we try to not read the source more than once One of the side effects is, that no progressbar is available.
    • MultimediaObject

      public MultimediaObject(File input, ProcessLocator locator)
      It builds an extractor with a custom FFMPEGProcess.
      Parameters:
      input - Input file for creating MultimediaObject
      locator - The locator picking up the ffmpeg executable used by the extractor.
  • Method Details

    • setReadURLOnce

      public void setReadURLOnce(boolean readURLOnce)
      Parameters:
      readURLOnce - the readURLOnce to set
    • getFile

      public File getFile()
      Returns:
      file
    • getURL

      public URL getURL()
    • setFile

      public void setFile(File file)
    • setURL

      public void setURL(URL input)
    • isURL

      public boolean isURL()
      Check if we have a file or an URL
      Returns:
      true if this object references an URL
    • getInfo

      Returns a set informations about a multimedia file, if its format is supported for decoding.
      Returns:
      A set of informations about the file and its contents.
      Throws:
      InputFormatException - If the format of the source file cannot be recognized and decoded.
      EncoderException - If a problem occurs calling the underlying ffmpeg executable.
    • parseMultimediaInfo

      private MultimediaInfo parseMultimediaInfo(String source, RBufferedReader reader) throws InputFormatException, EncoderException
      Private utility. It parses the ffmpeg output, extracting informations about a source multimedia file.
      Parameters:
      source - The source multimedia object.
      reader - The ffmpeg output channel.
      Returns:
      A set of informations about the source multimedia file and its contents.
      Throws:
      InputFormatException - If the format of the source file cannot be recognized and decoded.
      EncoderException - If a problem occurs calling the underlying ffmpeg executable.
    • isReadURLOnce

      public boolean isReadURLOnce()
      Returns:
      the readURLOnce
    • toString

      public String toString()
      Overrides:
      toString in class Object