class ActiveStorage::Analyzer::VideoAnalyzer
Анализатор видео Active Storage
Извлекает из видеофайла следующие данные:
-
Ширина (пиксели)
-
Высота (пиксели)
-
Длительность (секунды)
-
Угол (градусы)
-
Соотношение сторон изображения
-
Аудио (true, если файл содержит аудиоканал, false — если нет)
-
Видео (true, если файл содержит видеоканал, false — если нет)
Пример:
ActiveStorage::Analyzer::VideoAnalyzer.new(blob).metadata
# => { width: 640.0, height: 480.0, duration: 5.0, angle: 0, display_aspect_ratio: [4, 3], audio: true, video: true }
Если угол видео составляет 90, -90, 270 или -270 градусов, ширина и высота автоматически меняются местами для удобства.
Для этого анализатора требуется системная библиотека FFmpeg, которая не входит в Rails.
Общедоступные методы класса
# File activestorage/lib/active_storage/analyzer/video_analyzer.rb, line 25 def self.accept?(blob) blob.video? end
Общедоступные методы экземпляра
# File activestorage/lib/active_storage/analyzer/video_analyzer.rb, line 29
def metadata
{ width: width, height: height, duration: duration, angle: angle, display_aspect_ratio: display_aspect_ratio, audio: audio?, video: video? }.compact
end
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.