Module: FFmpegCore

Defined in:
lib/ffmpeg_core.rb,
lib/ffmpeg_core/movie.rb,
lib/ffmpeg_core/probe.rb,
lib/ffmpeg_core/errors.rb,
lib/ffmpeg_core/clipper.rb,
lib/ffmpeg_core/version.rb,
lib/ffmpeg_core/compositor.rb,
lib/ffmpeg_core/screenshot.rb,
lib/ffmpeg_core/transcoder.rb,
lib/ffmpeg_core/configuration.rb,
lib/ffmpeg_core/audio_extractor.rb

Overview

FFmpegCore - Modern Ruby wrapper for FFmpeg

A clean, well-tested alternative to streamio-ffmpeg with:

  • Modern Ruby 3+ conventions

  • Proper error handling with detailed context

  • Zero Rails dependencies (gem-ready architecture)

Examples:

Basic usage

movie = FFmpegCore::Movie.new("input.mp4")
movie.transcode("output.mp4", video_codec: "libx264", video_bitrate: "1000k")
movie.screenshot("thumb.jpg", seek_time: 1, resolution: "640x360")

Defined Under Namespace

Classes: AudioExtractor, BinaryNotFoundError, Clipper, Compositor, Configuration, Error, ExecutionError, InvalidInputError, Movie, OutputError, Probe, ProbeError, Screenshot, ScreenshotError, Transcoder, TranscodingError

Constant Summary collapse

VERSION =
"0.6.0"

Class Method Summary collapse

Class Method Details

.configurationObject



95
96
97
98
99
100
# File 'lib/ffmpeg_core/configuration.rb', line 95

def configuration
  @configuration_mutex ||= Mutex.new
  @configuration_mutex.synchronize do
    @configuration ||= Configuration.new
  end
end

.configuration=(config) ⇒ Object



102
103
104
105
106
107
# File 'lib/ffmpeg_core/configuration.rb', line 102

def configuration=(config)
  @configuration_mutex ||= Mutex.new
  @configuration_mutex.synchronize do
    @configuration = config
  end
end

.configure {|configuration| ... } ⇒ Object

Yields:



109
110
111
# File 'lib/ffmpeg_core/configuration.rb', line 109

def configure
  yield(configuration)
end

.reset_configuration!Object



113
114
115
116
117
118
# File 'lib/ffmpeg_core/configuration.rb', line 113

def reset_configuration!
  @configuration_mutex ||= Mutex.new
  @configuration_mutex.synchronize do
    @configuration = Configuration.new
  end
end