Rails Streamio FFMPEG拍摄电影的截图并使用carrierwave上传

时间:2016-04-25 15:22:28

标签: ruby-on-rails ruby ruby-on-rails-4 ffmpeg

我有一个可以上传电影的表格。它上载了carrierwave。

在此过程中,我想在上传时制作电影的屏幕截图。

如何使用Streamio FFMPEG执行此操作。

我的代码目前看起来像这样。

#Laedt ein Video hoch
def uploadMovie
  @channels = Channel.all
  @vid = Movie.new(movies_params)

  @channel = Channel.find(params[:channel_id])
  @vid.channel = @channel

  if @vid.save
    flash[:notice] = t("flash.saved")
    render :add
  else
    render :add
  end
end

我是否必须在控制器方法或载波上传器中执行此操作?

更新:我试过这种方式:

if @vid.save
  flash[:notice] = t("flash.saved")
  movieFile = FFMPEG::Movie.new(@vid.video.to_s)
  screenshot = movieFile.screenshot("uploads/screenshot", :seek_time => 10)
  render :add
else

但后来我得到了错误:

s3.amazonaws.com/uploads/movie/video/6/2016-04-24_16.26.10.mp4' does not exist

1 个答案:

答案 0 :(得分:0)

解决方案是carrierwave thumbnailer gem

gem 'carrierwave-video-thumbnailer'

https://github.com/evrone/carrierwave-video-thumbnailer