ruby 不会读取 ffmpeg 的输出

标签 ruby ffmpeg

正在运行

a = `ffmpeg -i video.mp4`

似乎没有将命令的输出提供给a...为什么呢?如何覆盖它?

最佳答案

快速回答:

a = `ffmpeg -i video.mp4 2>&1`

详细答案:

当我跑ffmpeg -i blah.avi时在一个方便的文件上,我注意到当输出到标准输出时,它没有任何输出;相反,所有输出都为标准错误。您可以通过运行以下命令在 shell 中检查自己:

ffmpeg -i video.mp4 > /tmp/standard_out 2> /tmp/standard_error

然后看看 /tmp/standard_out/tmp/standard_error 。您很快就会看到哪一个是哪一个。您可以使用 ffmpeg -i video.mp4 2>&1 快速“修复”此问题在您的脚本中,这将要求 shell 将 stderr 与 stdout 一起重定向。您将无法区分 stderr 和 stdout 之间的区别,但您可以轻松获得“看到”的输出。

您必须使用popen3如果你想将 stdout 和 stderr 分开。

关于ruby 不会读取 ffmpeg 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4678574/

相关文章:

ffmpeg - 如何使用 ffmpeg 录制视频和音频帧

ffmpeg - ts nalu to mp4 mdat 似乎既不包含 nalu 也不包含 avcc

php - FFMPEG 脚本不在 php 中运行

c# - 尝试使用 ffmpeg 加入两个 mp4 视频文件但出现错误

ruby - 通过 Travis CI 在 Matrix 中使用带有 Ruby 和 Shell 的多个操作系统

Ruby 正则表达式 ‘backslash R’ 又名 ‘\R’ 模式

ruby - 为什么 ruby​​game 和 gosu 比纯 opengl 慢?

ffmpeg:与 macos 和 swift 一起使用

ruby-on-rails - 如何在嵌套 Rails 表单中引用模型的现有实例?

ruby-on-rails - link_to_unless问题