From: MonkeeSage Date: 2006-09-24T05:50:16+09:00 Subject: Re: catching process output (Kernel#system) Hi Chris, ffmpeg writes that on stderr rather than stdout, so a simple way to capture it is with output redirection (the 2>&1 part means redirect stderr to stdout): op = ["ffmpeg result/output:".upcase, " "] ... op << %x{ffmpeg -v 2>&1} For a more robust solution to capturing stderr look at popen3 in the standard library [1] or the popen4 extension from rubyforge [2]. Also note that it's somewhat complicated to try to read the output of programs like ffmpeg to get the encoding status for realtime display in your app. To do that you'll probably have to use threads and a polling loop or IO#select among other things. I don't know if that's why you want to read the output, but I just thought I'd let you know. [1] http://www.ruby-doc.org/stdlib/libdoc/open3/rdoc/index.html [2] http://popen4.rubyforge.org/ Regards, Jordan