视频不返回文件持续时间

时间:2013-05-08 18:30:39

标签: ruby-on-rails-3 video jruby duration

我有一个简单的rails应用程序,允许上传视频文件,我需要获取每个文件的持续时间。到目前为止,最后一天还没有解决......

我正在使用:

  1. Ubuntu 13.04
  2. JRuby 1.7.3
  3. Rails 3.2.13
  4. paperclip(3.4.1)
  5. paperclip-ffmpeg(0.10.2)
  6. rvideo(0.9.3)
  7. paperclip-ffmpeg允许我上传视频,我正在使用此tutorial之后的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/"
    

    能否告诉我这里做错了什么?

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

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

1 个答案:

答案 0 :(得分:1)

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