2015-02-06 57 views
0

我正在为我的视频处理使用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] 

但是这个代码是同步的,在转换期间被卡住的是上传视频的用户。

我想补充一个异步包装(工人)围绕:转码器,所以我可以致电:

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

我已经安装了resque和Redis的一切工作。

对于如何在代码转换器中编写异步工作程序,您有什么想法吗?

回答

0

锁回形针在版本4.2.0

+1

感谢您发布解决方案。你能解释为什么这能解决问题吗? – paulmelnikow 2015-02-07 23:49:44

+0

这个答案实际上可以解决很多情况 – Ben 2015-02-08 03:22:39

1

您是否试过delayed_paperclip宝石?它将所有处理推入后台并支持resque(等等)。

+0

是的我试过了,并且在公共文件夹中加载我的所有图片时,我得到了路由错误。我在delayed_pa​​perclip github上发布了一个问题:[link](https://github.com/jrgifford/delayed_pa​​perclip/issues/132) 我只想延迟处理视频,所以我只在视频中添加了process_in_background选项文件和我在图片上出现错误。 – rolele 2015-02-06 13:33:16

+1

我希望我们在Github上的小讨论可以帮助解决这个问题;) – katafrakt 2015-02-06 23:16:59

+0

谢谢katafrakt,我需要在4.2.0上锁回形针。 – rolele 2015-02-07 15:27:51