嗨,我最近在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然后./configuremake
享受!
}您可以在这里找到发行版: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/

10-08 21:15