ruby-on-rails - 上传的视频和streamio-ffmpeg

标签 ruby-on-rails ffmpeg

我正在尝试在我的 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/

相关文章:

ruby-on-rails - API 参数中的连字符

ruby-on-rails - 从 :accepts_nested_attributes_for 获取关联列表

ruby-on-rails - 如何使用 Nokogiri 过滤数组(搜索、过滤器、条件等)

linux - ffmpeg 可以在中断后恢复从管道读取吗?

ffmpeg - 尝试从 webp 转换为 mp4 时找不到图像数据

iphone - 调用avcodec_encode_video时的EXC_BAD_ACCESS

javascript - 实现 Rails Frontend 轮询来调用更新

ruby-on-rails - rails 环境文件中可用的配置变量

ffmpeg - 如何在转换视频 mp4 h264 时最大限度地减少 ffmpeg 对 CPU/内存的使用

video - 如何渲染 7 分钟的视频持续时间,但只播放 4 分钟然后停止,但使用 ffmpeg 的视频总长度仍保持 7 分钟?