2016-04-28 4 views
3

私はRuby on Railsアプリケーションを作成しており、ビデオファイルをアプリケーションからアップロードできるようにしようとしています。paperclip-av-transcoderを使用したペーパークリップのビデオ添付エラー

私は、トランスコードを処理するために、paperclip-av-transcoder gem(推奨)の添付ファイルを処理するためにpaperclip gemを使用しています。私もaws-sdk gemをインストールしていますが、現時点では無関係です。私のローカルシステム上でアップロードすることさえできないからです。

私はビデオアップロードを処理するためのアプリケーションを準備するためのすべての指示に従っています:私は必要な宝石をインストールしました。ビデオモデルの実際のクリップを作成しました。(ペーパークリップの名前は映画でした)私のビデオモデル自体にアソシエーションを追加しました。また、私のビデオコントローラのパラメータに:film属性をホワイトリストに追加しました。私は新しいビデオ形式のフィルムに適切なフィールドを持っています。

私は私のビデオ#新しいページに移動してフォームに記入し、ファイルを添付して:フィルムに添付してフォームを送信します。次のエラーが表示されるまで約10秒かかります。

Av::UnableToDetect in VideosController#create 
Unable to detect any supported library 

Extracted source (around line #10): 
    @video = Video.new(video_params) 

ここで何が起こっているのか分かりません。 「サポートされているライブラリを検出できません」という全く同じエラーメッセージが表示された他の人を見ると、クリップクリップの移行などを実行するのを忘れてしまいました。私はこれらの必要なすべてのステップに従ってきました。ここで

は私です:ここで私のVideo.rbモデルにおけるフィルム関連のコード

has_attached_file :film, styles: { 
    :medium => { 
     :geometry => "640x480", 
     :format => 'mp4' 
    }, 
    :thumb => { :geometry => "160x120", :format => 'jpeg', :time => 10} 
}, :processors => [:transcoder] 
validates_attachment_content_type :film, content_type: /\Avideo\/.*\Z/ 

とは、私のvideos_controllerの私の強いパラメータは

def video_params 
    params.require(:video).permit(:title, :description, :film, :preview_image, 
          award_attributes: [:id, :title, :body, :award_image]) 
end 

だと、ここでデータベーススキーマは、私のビデオモデルに関連しています。プレビュー画像は別のクリップ(その画像)ですが、これは数週間持ちましたが、完全にうまく動作します。

create_table "videos", force: :cascade do |t| 
    t.string "title" 
    t.string "description" 
    t.datetime "created_at",     null: false 
    t.datetime "updated_at",     null: false 
    t.string "preview_image_file_name" 
    t.string "preview_image_content_type" 
    t.integer "preview_image_file_size" 
    t.datetime "preview_image_updated_at" 
    t.string "film_file_name" 
    t.string "film_content_type" 
    t.integer "film_file_size" 
    t.datetime "film_updated_at" 
    end 

私も持っている、それは私の宝石とは何かを持っていることを感じ、ここに私のgemfileだ:私はすでに単なるでそれを試してみた「クリップ」宝石

gem 'paperclip', :git=> 'https://github.com/thoughtbot/paperclip', :ref => '523bd46c768226893f23889079a7aa9c73b57d68' 
gem 'aws-sdk' 
gem 'paperclip-av-transcoder' 

、とgitへの参照はありません。それでも動作しません。

すべてのお手伝いをしていただきありがとうございます!

答えて

0
Av::UnableToDetect in VideosController#create 
Unable to detect any supported library 

ffmpegがインストールされていないことを意味します。このライブラリは、あなたのビデオをトランスコードするためにpaperclip-avによって使用されます。 あなたがMacOSのにしている場合は、(私はhomebrewを使用しています)あなたの端末に移動し、それをインストール:

brew install ffmpeg 

-

チャンスがにデプロイする際は、同じ問題に遭遇することにしていますHerokuなどのリモートサーバー...その場合、buildpacksを使用してffmepgを追加する必要があります。方法を必ずお読みくださいin the Heroku Devcenter

関連する問題