Class: ActiveStorage::Analyzer::VideoAnalyzer
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
|
|
|
Instance Chain:
|
|
| Inherits: |
ActiveStorage::Analyzer
|
| Defined in: | activestorage/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.
Class Attribute Summary
::ActiveStorage::Analyzer - Inherited
| .analyze_later? | Implement this method in concrete subclasses. |
Class Method Summary
::ActiveStorage::Analyzer - Inherited
Instance Attribute Summary
::ActiveStorage::Analyzer - Inherited
Instance Method Summary
::ActiveStorage::Analyzer - Inherited
| #metadata | Override this method in a concrete subclass. |
| #download_blob_to_tempfile | Downloads the blob to a tempfile on disk. |
| #logger, #tmpdir | |
Constructor Details
This class inherits a constructor from ActiveStorage::Analyzer
Class Method Details
.accept?(blob) ⇒ Boolean
Instance Method Details
#metadata
[ GitHub ]# File 'activestorage/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