それを行うには、我々は我々のFFMPEGがレールライブラリからコマンドを実行するためにgem streamio-ffmpeg
を使用しようとしている
require 'streamio-ffmpeg'
module ControllerVideoProcessor
def thumbnail path, second
movie = FFMPEG::Movie.new(path)
return movie.screenshot("some/temporal/path/screenshot.jpg", :seek_time => second)
end
end
見ることができるように、入力ビデオのパスとサムネイルを取得したいパスを受け取る関数があります。これは、streamioライブラリの "screenshot"コマンドを実行するのと同じくらい簡単です。それだけです。イメージとその属性を含むFFMPEGオブジェクトを返します。また
あなたがあなたのファイルをアップロードするためcarrierwave
宝石を使用する場合はcarrierwaveプラグインを使用することができますgem 'video_thumbnailer'
例
class VideoUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
include VideoThumbnailer
storage :file
version :thumb do
process generate_thumb:[{quality:5, time_frame: '00:0:01', file_extension: 'jpeg'}]
def full_filename for_file
png_name for_file, version_name, "jpeg"
end
end
def png_name for_file, version_name, format
%Q{#{version_name}_#{for_file.chomp(File.extname(for_file))}.#{format}}
end
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(mp4 jpg jpeg gif png)
end
end
あなたがここに
http://ron-on-rails.tumblr.com/post/33720054493/getting-thumbnails-of-a-video-using-ffmpeg-and
それを見つけることができます参照し、それについての詳細情報
https://github.com/teenacmathew/Video-Thumbnailer
これは境界線[リンクのみの回答](// meta.stackexchange.com/q/8231)です。ここに多くの情報を含めるように答えを広げ、参照用にのみリンクを使用してください。 – FrankerZ