class ActiveStorage::Analyzer::VideoAnalyzer
Extracts the following from a video blob:
-
Width (pixels)
-
Height (pixels)
-
Duration (seconds)
-
Angle (degrees)
-
Display aspect ratio
Example:
ActiveStorage::Analyzer::VideoAnalyzer.new(blob).metadata # => { 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.
Public Class Methods
# File activestorage/lib/active_storage/analyzer/video_analyzer.rb, line 21 def self.accept?(blob) blob.video? end
Public Instance Methods
# File activestorage/lib/active_storage/analyzer/video_analyzer.rb, line 25 def metadata { width: width, height: height, duration: duration, angle: angle, display_aspect_ratio: display_aspect_ratio }.compact end
© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.