我正在尝试在我的 Rails 应用程序中使用 streamio-ffmpeg 将上传的视频文件直接转换为 gif。
如何通过 streamio-ffmpeg 直接读取上传的视频(一个 ActionDispatch::Http::UploadedFile 对象)?
我尝试了以下失败:
movie = FFMPEG::Movie.new(params[:video])
TypeError: can't convert ActionDispatch::Http::UploadedFile to IO (ActionDispatch::Http::UploadedFile#to_io gives Tempfile)
movie = FFMPEG::Movie.new(params[:video].open)
TypeError: no implicit conversion of File into String
movie = FFMPEG::Movie.new(params[:video].read)
ArgumentError: invalid byte sequence in UTF-8
File.open(params[:video].path) do |file|
movie = FFMPEG::Movie.new(file)
options = {frame_rate: '10', duration: '00:00:6.000'}
movie.transcode("test.gif", options)
end
TypeError: no implicit conversion of File into String
最佳答案
movie = FFMPEG::Movie.new(params[:video].tempfile.path)
关于ruby-on-rails - 上传的视频和streamio-ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39070613/