获取系统的输出值

时间:2010-03-05 06:24:09

标签: ruby-on-rails

我使用以下方法用ffmpeg获取视频的时间不知道是什么原因我无法输出命令的输出

command =~ /Duration: ([\d][\d]):([\d][\d]):([\d][\d]).([\d]+)/

变量为时间然后插入 有人可以帮忙吗?

 def get_time_video

   command = system " ffmpeg -i video.flv 2>&1 "  
   command =~ /Duration: ([\d][\d]):([\d][\d]):([\d][\d]).([\d]+)/  
   time = " #{$1}:#{$2}:#{$3} "  
   puts time    # 00:00:30  
   update_attribute(:time, “#{time}”)  

end

1 个答案:

答案 0 :(得分:2)

Kernel.system函数返回truefalse,如Documentation所示。如果要解析命令的输出,可以使用反引号表示法:

system = `ffmpeg -i video.flv 2>&1`