Active Storage 視訊分析器
從視訊 blob 中萃取下列資訊
-
寬度 (像素)
-
高度 (像素)
-
長度 (秒)
-
角度 (度)
-
顯示的長寬比
-
音訊 (若檔案有音訊頻道,則為 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 並未提供它。
方式
類別公開方式
accept?(blob) 連結
來源: 顯示 | 在 GitHub 上
# File activestorage/lib/active_storage/analyzer/video_analyzer.rb, line 25 def self.accept?(blob) blob.video? end
執行個體公開方式
metadata() 連結
來源: 顯示 | 在 GitHub 上
# 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