resque を使用して、いくつかのエンコード ジョブをキューに入れています。これらの仕事を引き受けてトランスコーディングを行うワーカーがいます。問題は正常にsystem "mencoder .."
動作しますが、system "ffmpeg .."
スローが見つからず、system "qt-faststart .."
を使用してメンコーダーをインストールした場合と同じsudo apt-get install
です。ffmpeg と qt-faststart はソースからビルドされました。したがって、mencoder は /usr/bin にあり、他の 2 つは /usr/local/bin にありました。それで、次に試したのは、システムコマンドでフルパスを使用することでした。これも見つかりませんでした。次に、ffmpeg と qt-faststart を /usr/bin にコピーしました。それでも「Not Found」が表示される ワーカー コードはスタンドアロンで実行されますが、神が実行すると、ffmpeg と qt-fasstart の実行に失敗します。はい、resque を監視するように神を設定しました。さて、他に何を試すべきかわかりません!何か案は?
質問する
224 次
1 に答える
2
明白で最も簡単な方法は、システム メソッドのフル パスを指定するだけです。このような
system("/usr/local/bin/ffmpeg")
しかし、実際には、これはそもそも問題として存在するべきではありません。特に、あなたは対処が役に立たないと言っています。
resque perform メソッドから ENV['PATH'] を出力してみてください
何が問題なのかを理解するのに役立つかもしれません。もちろん、ffmpeg が /usr/local/bin/ にあることを確認してください。
which ffmpeg
于 2012-12-17T12:12:01.520 に答える