0

我有一个简单的 Rails 应用程序,允许上传视频文件,我需要获取每个文件的持续时间。最后一个到现在还没有解决好几天...

我在用:

  1. Ubuntu 13.04
  2. JRuby 1.7.3
  3. 导轨 3.2.13
  4. 回形针 (3.4.1)
  5. 回形针-ffmpeg (0.10.2)
  6. 视频 (0.9.3)

回形针-ffmpeg 允许我上传视频,我正在使用本教程之后的 rvideo gem来获取持续时间。在我的模型中,我有以下方法:

  def get_video_duration
    file = RVideo::Inspector.new(file: video.path(:original), ffmpeg_binary:'/usr/bin/')
    file.duration
  end

但是持续时间方法返回零。我已经在我的视图中打印了文件结构:

--- !ruby/object:RVideo::Inspector
filename: The_Rolling_Stones_-_Paint_It_Black.mp4
full_filename: "/home/gotqn/RubyMineProjects/beta/public/webinars/42/original/The_Rolling_Stones_-_Paint_It_Black.mp4"
unknown_format: true
path: "/home/gotqn/RubyMineProjects/beta/public/webinars/42/original"
raw_response: |
  /bin/sh: 1: /usr/bin/: Permission denied
ffmpeg_binary: "/usr/bin/"

enayone 可以告诉我在这里做错了什么吗?

此外,我发现很难找到合适的宝石来获得持续时间。其中一些已经过时,其中一些可以与 Jruby 一起使用,而其中一些我可以使用,因为我使用的是 Ubuntu 13.04,并且对 ffmeg 的支持很低。

所以,如果有人能给我建议一个更好的宝石,我会很乐意尝试的。

4

1 回答 1

1

我强烈建议您使用streamio-ffmpeg gem。

于 2013-05-08T20:28:36.013 回答