... 1.9.1 / ruby​​gems / custom_require.rb:36:在`require':无法加载这样的文件 - streamio-ffmpeg(LoadError)

时间:2012-08-24 19:29:27

标签: ruby gem rvm

我想使用FFMPEG将一些MP3文件转换为OGG文件。我在终端中使用了以下命令:

sudo gem install streamio-ffmpeg

然后,尝试运行此脚本:

require 'rubygems'
require 'streamio-ffmpeg'

movie = FFMPEG::Movie.new("path/to/movie.mov")

movie.duration # 7.5 (duration of the movie in seconds)
movie.bitrate # 481 (bitrate in kb/s)
movie.size # 455546 (filesize in bytes)

movie.video_stream # "h264, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 371 kb/s, 16.75 fps, 15 tbr, 600 tbn, 1200 tbc" (raw video stream info)
movie.video_codec # "h264"
movie.colorspace # "yuv420p"
movie.resolution # "640x480"
movie.width # 640 (width of the movie in pixels)
movie.height # 480 (height of the movie in pixels)
movie.frame_rate # 16.72 (frames per second)

movie.audio_stream # "aac, 44100 Hz, stereo, s16, 75 kb/s" (raw audio stream info)
movie.audio_codec # "aac"
movie.audio_sample_rate # 44100
movie.audio_channels # 2

movie.valid? # true (would be false if ffmpeg fails to read the movie)

但是我在终端窗口中收到此错误:

sergio@mint-vm ~/Documents/audio-convert $ ruby demo.rb
/home/sergio/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- streamio-ffmpeg (LoadError)
    from /home/sergio/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from demo.rb:2:in `<main>'

这不是一个rails应用程序,只是一个我打算在命令行中使用的普通旧Ruby脚本。

有什么建议吗?

2 个答案:

答案 0 :(得分:4)

尝试使用以下命令创建和应用新的RVM gemset:

rvm use 1.9.3@ffmpegnewgemset --create

然后执行安装streamio-ffmpeg gem:

gem install streamio-ffmpeg

然后将其运行为:

ruby demo.rb

确保您已经在脚本文件夹中,因为使用'cd'更改文件夹可能会更改您的活动RVM gemset。

答案 1 :(得分:1)

我看到你使用rvm。请确保,当您使用sudo gem install streamio-ffmpeg时,您的rvm使用了与运行脚本时使用的版本相同的版本。

尝试在没有sudo的情况下安装它,并在同一终端中安装gem后完全运行demo.rb ...

gem install streamio-ffmpeg && ruby demo.rb