Class: ActiveAnalysis::Analyzer::VideoAnalyzer
- Inherits:
-
ActiveAnalysis::Analyzer
- Object
- ActiveStorage::Analyzer
- ActiveAnalysis::Analyzer
- ActiveAnalysis::Analyzer::VideoAnalyzer
- Defined in:
- lib/active_analysis/analyzer/video_analyzer.rb
Overview
Extracts the following from a video blob:
-
Width (pixels)
-
Height (pixels)
-
Duration (seconds)
-
Angle (degrees)
-
Display aspect ratio
-
Audio (true if file has an audio channel, false if not)
-
Video (true if file has an video channel, false if not)
Example:
ActiveStorage::Analyzer::VideoAnalyzer.new(blob).
# => { width: 640.0, height: 480.0, duration: 5.0, angle: 0, display_aspect_ratio: [4, 3], audio: true, video: true }
When a video’s angle is 90 or 270 degrees, its width and height are automatically swapped for convenience.
This analyzer requires the FFmpeg system library, which is not provided by Rails.
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.accept?(blob) ⇒ Boolean
25 26 27 |
# File 'lib/active_analysis/analyzer/video_analyzer.rb', line 25 def self.accept?(blob) blob.video? end |
Instance Method Details
#metadata ⇒ Object
29 30 31 |
# File 'lib/active_analysis/analyzer/video_analyzer.rb', line 29 def { width: width, height: height, duration: duration, angle: angle, display_aspect_ratio: display_aspect_ratio, audio: audio?, video: video? }.compact end |