嗨,我最近在Windows10x64机器上启动了一个RubyonRails项目。
在这个项目中,我有一个带有carrierwave的上传表单来上传一些视频文件。
要从上传的视频中获取缩略图,我想使用CarrierWave视频缩略图创业板。
https://rubygems.org/gems/carrierwave-video-thumbnailer
我已经在我的电脑上安装了ffmpeg。
正如我正确理解的,要使用gem,我需要安装ffmpegthumbnailer,但我不知道如何在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
到目前为止,视频上传成功,但没有缩略图和错误代码。
最佳答案
你可能在打一场艰苦的战斗。ffmpegthumbnailer似乎并不正式支持windows。然而,看起来至少有一个人设法让它在cygwin中编译。从AA>
我设法编译了它…
下载fffmpegdumbnailer 2.0.6™
在此处应用两个修补程序:this issue thread
下载工作版本的
在moviedecoder.cpp
文件夹中替换
在此处下载ffmpeg:https://github.com/dirkvdb/ffmpegthumbnailer/issues/78
提取以libffmpegthumbnailer
开头的文件夹并将其放到cygwin根文件夹中的lib
文件夹中lib
然后./configure
和make
享受!
}您可以在这里找到发行版:http://code.google.com/p/ffmpegthumbnailer/source/browse/trunk/libffmpegthumbnailer/moviedecoder.cpp?r=225
由于项目已迁移到Github,此链接已断开,我不知道此链接对应的http://www.ffmpeg.org/版本。也许https://github.com/dirkvdb/ffmpegthumbnailer/releases是个好办法?
假设这对你有效,一旦你编译了它(并通过在命令行上测试它来确认它有效),你需要确保CarrierWave Video Thumbnailer知道在哪里找到可执行文件,或者确保它在你的make install
中,或者设置moviedecoder.cpp
选项。我想应该是这样的:
CarrierWave::Video::Thumbnailer::FFMpegThumbnailer.binary = "C:/path/to/ffmpegthumbnailer.exe"
注意,我没有测试过这些,你的里程数会有所不同。
关于ruby-on-rails - Windows 10上的ffmpegthumbnailer [Ruby on Rails],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34344804/