【发布时间】:2016-03-24 12:35:08
【问题描述】:
您好,我最近在 Windows 10 x64 机器上启动了一个 Ruby on Rails 项目。 在这个项目中,我有一个带有 Carrierwave 的上传表单来上传一些视频文件。 要从上传的视频中获取缩略图,我想使用carrierwave-video-thumbnailer gem。
https://rubygems.org/gems/carrierwave-video-thumbnailer
我已经在我的电脑上安装了 FFMPEG。 正如我正确理解的那样,要使用我需要安装 FFMPEGthumbnailer 的 gem,但我不知道如何在 Windows 机器上安装它。 (刚刚找到 Linux 和 OS X 的安装指南) 我错过了什么?
在我的上传文件中,我有以下代码:
class VideoUploader < CarrierWave::Uploader::Base
# Include RMagick or MiniMagick support:
# include CarrierWave::RMagick
# include CarrierWave::MiniMagick
include CarrierWave::Video::Thumbnailer
version :thumbail do
process thumbnail: [{format: 'jpg', quality: 8, size: 360, logger: Rails.logger}]
def full_filename for_file
jpg_name for_file, version_name
end
end
def jpg_name for_file, version_name
%Q{#{version_name}_#{for_file.chomp(File.extname(for_file))}.jpg}
end
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(mp4)
end
def filename
if original_filename
@name ||= Digest::MD5.hexdigest(File.dirname(current_path))
"#{@name}.#{file.extension}"
end
end
end
目前视频已成功上传,但没有缩略图和错误代码。
【问题讨论】:
标签: ruby-on-rails windows video carrierwave ffmpegthumbnailer