Rails没有响应ffmpeg命令

时间:2011-08-03 19:59:37

标签: ruby-on-rails ffmpeg

我正在尝试运行此命令:

f = open("|ffmpeg -i /Users/joaoh82/Desktop/teste.MP4")
result = f.read()

但我没有得到任何回应......

但是当我在终端中尝试这个命令时,效果很好:

ffmpeg -i /Users/joaoh82/Desktop/teste.MP4

但现在在rails代码上。有趣的是,当我和其他像echo $ PATH一样尝试同样的东西时,效果很好!像:

f = open("|echo $PATH")
result = f.read()

任何想法!?

2 个答案:

答案 0 :(得分:0)

ffmpeg -i打印到stderr,管道不会捕获它。您可以将stderr重定向到stdout:

result = `ffmpeg -i /Users/joaoh82/Desktop/teste.MP4 2>&1`

答案 1 :(得分:0)

您可能需要指定ffmpeg的完整路径。它可能在你的shell中工作,因为ffmpeg在你的PATH中。

基本上在shell中输入which ffmpeg。在open()调用中使用该完整路径。