我正在为我的视频处理使用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的一切工作。
对于如何在代码转换器中编写异步工作程序,您有什么想法吗?
感谢您发布解决方案。你能解释为什么这能解决问题吗? – paulmelnikow 2015-02-07 23:49:44
这个答案实际上可以解决很多情况 – Ben 2015-02-08 03:22:39