Voyeur gem を使用してビデオを .mp4 から .webm に変換し、アップロードしようとしています。ここに私のコードがあります: app/uploads/video_uploader.rb
class VideoUploader < CarrierWave::Uploader::Base
include CarrierWave::VideoConverter
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :mp4 do
process :encode_video => [:mp4]
def full_filename(for_file)
"#{File.basename(for_file, File.extname(for_file))}.mp4"
end
end
version :webm do
process :encode_video => [:webm]
def full_filename(for_file)
"#{File.basename(for_file, File.extname(for_file))}.webm"
end
end
end
video_converter.rb モジュールは /lib/carrierwave/processing/ に配置されています
autoload :VideoConverter, 'carrierwave/processing/video_converter'
/lib/carrierwave.rb に追加されました
私のモデル:
class Uploader < ActiveRecord::Base
require 'Voyeur'
attr_accessible :user_id,:attach_file
belongs_to :user
mount_uploader :attach_file, VideoUploader
end
しかし、ビデオをアップロードできません。コンソールでエラーが発生します。
Errno::ENOENT: No such file or directory - ffmpeg -i /home/------/______/public/uploads/tmp/20121211-0943-7368-8271/tmpfile
何か提案はありますか?
コンソールで使用する最も単純なコマンド:Voyeur::Media.new( filename: path_to_file ).convert( to: :mp4 )
それでも同様のエラーで失敗します。