Rails Streamio 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

解决方案是 carrierwave 缩略图 gem

gem 'carrierwave-video-thumbnailer'

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

最新更新