2012-03-29 8 views
0

私はユーザーが私のRoRアプリケーションにビデオをアップロードし、HTML5ビデオに必要なすべてのフォーマットに変換できるようにしようとしています。私はほとんどの部分で動作するVoyeur gemを使って解決策を見つけました。しかし、私は、HTML5形式にビデオを変換するコマンドを実行するとき:Ruby on Rails:盗撮gemはffmpegがぶら下がっているためにコマンドを完了しません

videos = Voyeur::Video.new(filename: file_path).convert_to_html5(output_path: "#{Rails.root.to_s}/tmp")

をそれとも私が個別にそれをしようとする場合でも:任意のコマンドを盗撮に送信され

mp4_vid = Voyeur::Video.new(filename: file_path).convert(to: :mp4, output_path: "#{Rails.root.to_s}/tmp/processed_videos") ogv_vid = Voyeur::Video.new(filename: file_path).convert(to: :ogv, output_path: "#{Rails.root.to_s}/tmp/processed_videos") webm_vid = Voyeur::Video.new(filename: file_path).convert(to: :webm, output_path: "#{Rails.root.to_s}/tmp/processed_videos")

いつでも、それは長い間ハングし、本質的にプログラムをロックする。私はActivity Monitor(OSX Lionを使用)に行き、ffmpegプロセスがまだ稼動していることを確認しましたが、CPUは0%でした。私はプロセスを終了すると、コマンドが完了し、ビデオは正常に動作します。

私のコードに0%CPU ffmpegプロセスがないかどうかチェックする方法はありますか、これを修正する方法はありますか?同じ問題を抱えて誰のための

答えて

0

は、まず最初に行うには、あなたがあなたのGemfile

gem 'voyeur', :git => 'git://github.com/devthenet/voyeur.git' 

に含めることによって、右の宝石を使用していることを確認してください、次のように盗撮を使用することです:

Voyeur::Media.new(...) 
あなたが delayed_job_active_recordを使用している場合

次に、delayed_job同様

gem 'delayed_job' 
gem 'delayed_job_active_record' 
を追加してください

これらの変更は問題を解決する必要があります。少なくとも私にとっては助けになりました。

関連する問題