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::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 Method Summary
::ActiveStorage::Analyzer
- Inherited
Instance Attribute Summary
::ActiveStorage::Analyzer
- Inherited
Instance Method Summary
::ActiveStorage::Analyzer
- Inherited
::ActiveStorage::Downloading
- Included
#download_blob_to | Efficiently downloads blob data into the given file. |
#download_blob_to_tempfile | Opens a new tempfile in |
#tempdir | Returns the directory in which tempfiles should be opened. |
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 27
def { width: width, height: height, duration: duration, angle: angle, display_aspect_ratio: display_aspect_ratio }.compact end