ruby - 如何在 ruby​​ 项目中包含库?

标签 ruby ffmpeg video-streaming jruby

我安装了rvideo .

gem install rvideo
aptitude install ffmpeg

我在阅读手册时使用 rvideo 编写了以下内容。
#!/usr/bin/env ruby

file = RVideo::Inspector.new(:file => "/home/user/r/input.mp4")
file.fps        # => "29.97" 
file.duration   # => "00:40:23.4" 

transcoder = RVideo::Transcoder.new

recipe = "ffmpeg -i $input_file$ -ar 22050 -ab 64 -f flv -r 29.97 -s"
recipe += " $resolution$ -y $output_file$"
recipe += "\nflvtool2 -U $output_file$"
begin
transcoder.execute(recipe, {:input_file => "/home/user/r/input.mp4",
:output_file => "/home/user/r/output.flv", :resolution => "640x360"})
rescue TranscoderError => e
puts "Unable to transcode file: #{e.class} - #{e.message}"
end

transcoder.original     # RVideo::Inspector object
transcoder.processed    # RVideo::Inspector object

当我做:
$ ruby hw.rb

我得到:
first.rb:3: uninitialized constant RVideo (NameError)

在手册中,我找到了这段代码:
require 'test/unit/assertions'
include Test::Unit::Assertions
puts assert_equal nil == nil, nil.nil?

如何在我的案例中包含 rvideo 库?我怎么知道图书馆的路径?

最佳答案

#!/usr/bin/env ruby

require 'rubygems'
require 'rvideo'

file = RVideo::Inspector.new(:file => "/home/user/r/input.mp4")
file.fps        # => "29.97" 
file.duration   # => "00:40:23.4" 

# rest of the code follows

关于ruby - 如何在 ruby​​ 项目中包含库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14232635/

相关文章:

ruby-on-rails - 如何使用 rspec 在我的 Controller 的新操作中测试实例变量的分配?

ruby - 使用 HAML 包含 CSS 和 javascript 标签的简短方法

ruby-on-rails - Rails 4关联验证销毁

ruby - 添加黑盒库以进行 Pry 调试

c++ - 使用 FFMPEG LibAV 重采样音频

video - 如何在碎片 MP4 中正确采样 h264 NAL 单元

播放视频流时,iOS 将在 iPhone XS 上重启(iOS 12.0.1)

javascript - 下载/存储 Periscope 直播

video - 支持 RGB48 的无损视频编解码器

ios - 如何在 iOS 上将 h.264 文件包装为 mp4