【问题标题】:Async video processing in rails and paperclip轨道和回形针中的异步视频处理
【发布时间】:2017-04-29 23:12:39
【问题描述】:

我正在使用 gem 'paperclip-av-transcoder', "0.6.2" 进行视频处理。

我只需要编写这段代码就可以将我的视频转换成多种格式:

has_attached_file :video, :styles => {
  :mp4 => { :format => 'mp4', :convert_options => { :output => { :vcodec => 'libx264', :acodec => 'copy' } } },
  :ogg => { :format => 'ogg', :auto_rotate => true  },
  :webm => { :format => 'webm', :auto_rotate => true  },
  :flv => { :format => 'flv', :convert_options => { :output => { :ar => 44100 } }, :auto_rotate => true  },
  :thumb => { :geometry => "300x300#", :format => 'jpg', :time => 1, :auto_rotate => true }
}, :processors => [:transcoder]

但是这段代码是同步的,上传视频的用户在转换过程中卡住了。

我想在 :transcoder 周围添加一个异步包装器(worker),以便我可以调用:

has_attached_file :video, :styles => {... }, :processors => [:wrapper_transcoder_worker]

我已经安装了 resque 和 redis,一切正常。

您知道如何围绕转码器编写异步工作者吗?

【问题讨论】:

    标签: ruby-on-rails paperclip resque


    【解决方案1】:

    你试过delayed_paperclip gem 吗?它将所有处理推入后台并支持 resque(等等)。

    【讨论】:

    • 是的,我尝试过,在加载公用文件夹中的所有图片时遇到了 RoutingErrors。我在delayed_pa​​perclip github上发布了一个问题:link我只是想延迟视频的处理,所以我只在视频文件上添加了选项process_in_background,但图片出现错误。
    • 我希望我们在 Github 上的小讨论对这个案子有所帮助;)
    • 感谢 katafrakt,我需要将回形针锁定在 4.2.0。
    【解决方案2】:

    将回形针锁定在 4.2.0 版

    【讨论】:

    • 感谢您发布解决方案。你能解释一下为什么这能解决问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    相关资源
    最近更新 更多