0

ビデオファイルをアップロードできる単純なレールアプリケーションがあり、各ファイルの長さを取得する必要があります。最後は今のところ数日間未解決です...

私は使っている:

  1. Ubuntu 13.04
  2. JRuby 1.7.3
  3. レール 3.2.13
  4. ペーパークリップ (3.4.1)
  5. ペーパークリップ-ffmpeg (0.10.2)
  6. rvideo (0.9.3)

paperclip-ffmpeg を使用すると動画をアップロードでき、このチュートリアルに従って rvideo gem を使用して長さを取得しています。私のモデルでは、次の方法があります。

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

しかし、duration メソッドは nil を返しています。ビューにファイル構造を出力しました。

--- !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 のサポートが少ないため、使用できるものもあります。

ですから、誰かが私にもっと良い宝石をアドバイスしてくれたら、喜んで試してみます.

4

1 に答える 1

1

streamio-ffmpeg gemを使用することを強くお勧めします。

于 2013-05-08T20:28:36.013 に答える