ActiveStorage::Previewer::VideoPreviewer (original) (raw)
Methods
A
F
P
Class Public methods
accept?(blob)Link
def accept?(blob) blob.video? && ffmpeg_exists? end
ffmpeg_exists?()Link
def ffmpeg_exists? return @ffmpeg_exists unless @ffmpeg_exists.nil?
@ffmpeg_exists = system(ffmpeg_path, "-version", out: File::NULL, err: File::NULL) end
ffmpeg_path()Link
def ffmpeg_path ActiveStorage.paths[:ffmpeg] || "ffmpeg" end
Instance Public methods
preview(**options)Link
def preview(**options) download_blob_to_tempfile do |input| draw_relevant_frame_from input do |output| yield io: output, filename: "#{blob.filename.base}.jpg", content_type: "image/jpeg", **options end end end