Module: FFMPEG
- Defined in:
- lib/ffmpeg.rb,
lib/ffmpeg/media.rb,
lib/ffmpeg/errors.rb,
lib/ffmpeg/stream.rb,
lib/ffmpeg/command.rb,
lib/ffmpeg/railtie.rb,
lib/ffmpeg/version.rb,
lib/ffmpeg/transcoder.rb,
lib/ffmpeg/configuration.rb,
lib/ffmpeg/scene_detector.rb,
lib/ffmpeg/keyframe_extractor.rb,
lib/ffmpeg/active_storage/analyzer.rb,
lib/ffmpeg/active_storage/previewer.rb
Overview
FFMPEG - A modern Ruby wrapper for FFmpeg
Defined Under Namespace
Modules: ActiveStorage Classes: Command, CommandTimeout, Configuration, Error, FFmpegNotFound, FFprobeNotFound, InvalidFilter, InvalidMedia, KeyframeExtractionError, KeyframeExtractor, Media, MediaNotFound, PresetNotFound, Railtie, SceneDetectionError, SceneDetector, Stream, Transcoder, TranscodingError
Constant Summary collapse
- VERSION =
"0.1.0"- MIN_FFMPEG_VERSION =
Minimum supported FFmpeg version
"4.0"- TESTED_FFMPEG_VERSIONS =
Tested FFmpeg versions
%w[4 5 6 7].freeze
Class Method Summary collapse
-
.available? ⇒ Boolean
Check if FFmpeg is installed and accessible.
-
.configuration ⇒ Configuration
Global configuration.
-
.configure {|Configuration| ... } ⇒ Object
Configure FFMPEG.
-
.ffmpeg_binary ⇒ String
Path to ffmpeg binary.
-
.ffprobe_binary ⇒ String
Path to ffprobe binary.
-
.logger ⇒ Logger?
Logger instance.
-
.version ⇒ String?
Get FFmpeg version.
Class Method Details
.available? ⇒ Boolean
Check if FFmpeg is installed and accessible
81 82 83 84 85 |
# File 'lib/ffmpeg.rb', line 81 def available? Command.run(ffmpeg_binary, "-version").success? rescue Errno::ENOENT false end |
.configuration ⇒ Configuration
Global configuration
51 52 53 |
# File 'lib/ffmpeg.rb', line 51 def configuration @configuration ||= Configuration.new end |
.configure {|Configuration| ... } ⇒ Object
Configure FFMPEG
57 58 59 |
# File 'lib/ffmpeg.rb', line 57 def configure yield(configuration) end |
.ffmpeg_binary ⇒ String
Path to ffmpeg binary
63 64 65 |
# File 'lib/ffmpeg.rb', line 63 def ffmpeg_binary configuration.ffmpeg_binary end |
.ffprobe_binary ⇒ String
Path to ffprobe binary
69 70 71 |
# File 'lib/ffmpeg.rb', line 69 def ffprobe_binary configuration.ffprobe_binary end |
.logger ⇒ Logger?
Logger instance
75 76 77 |
# File 'lib/ffmpeg.rb', line 75 def logger configuration.logger end |
.version ⇒ String?
Get FFmpeg version
89 90 91 92 93 94 |
# File 'lib/ffmpeg.rb', line 89 def version result = Command.run(ffmpeg_binary, "-version") return nil unless result.success? result.output.match(/ffmpeg version (\S+)/i)&.[](1) end |