класс 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.