Class: ActiveStorage::Analyzer::VideoAnalyzer
- Inherits:
-
ActiveStorage::Analyzer
- Object
- ActiveStorage::Analyzer
- ActiveStorage::Analyzer::VideoAnalyzer
- Defined in:
- lib/active_storage/analyzer/video_analyzer.rb
Overview
Extracts the following from a video blob:
-
Width (pixels)
-
Height (pixels)
-
Duration (seconds)
-
Angle (degrees)
-
Display aspect ratio
Example:
ActiveStorage::Analyzer::VideoAnalyzer.new(blob).
# => { width: 640.0, height: 480.0, duration: 5.0, angle: 0, display_aspect_ratio: [4, 3] }
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.
Instance Attribute Summary
Attributes inherited from ActiveStorage::Analyzer
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from ActiveStorage::Analyzer
Constructor Details
This class inherits a constructor from ActiveStorage::Analyzer
Class Method Details
.accept?(blob) ⇒ Boolean
21 22 23 |
# File 'lib/active_storage/analyzer/video_analyzer.rb', line 21 def self.accept?(blob) blob.video? end |
Instance Method Details
#metadata ⇒ Object
25 26 27 |
# File 'lib/active_storage/analyzer/video_analyzer.rb', line 25 def { width: width, height: height, duration: duration, angle: angle, display_aspect_ratio: display_aspect_ratio }.compact end |