2015-02-06 54 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