gpt4 book ai didi

ruby-on-rails - Rails 使用 ffmpeg 制作视频截图

转载 作者:行者123 更新时间:2023-12-04 22:52:03 25 4
gpt4 key购买 nike

我想使用 ffmpeg 对上传的视频进行截图。

我要做的是:将带有carrierwave的视频上传到amazonS3
当它上传时,我想制作一个截图作为这个视频的缩略图。

我怎样才能做到这一点?我怎样才能用rails调用ffmpeg?

谢谢你的帮助

最佳答案

为此,我们将使用 gem streamio-ffmpeg从 rails 库运行我们的 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库的“截图”命令一样简单,就是这样。它将返回一个 FFMPEG 对象,其中包含图像及其属性。

此外,如果您使用 carrierwave用于上传文件的 gem,您可以使用 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

关于ruby-on-rails - Rails 使用 ffmpeg 制作视频截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36473018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com