我正在尝试运行此命令:
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()
任何想法!?
答案 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()调用中使用该完整路径。