如何显示ffmpeg错误输出

发布于 2024-10-12 06:51:10 字数 514 浏览 3 评论 0原文

我正在通过 ffmpeg 执行某些代码,将 avi 文件编码为 flv。我的 ffmpeg 代码是正确的并且工作正常,但是当发生一些错误时(假设它是一个损坏的 avi 文件,ffmpeg 将不会对其进行编码),所以我想知道错误是什么。这是一个示例代码:

$v_cmd=" some code to transcode";
exec($v_cmd,$v_output,$v_status);
if($v_status == 0)
{
echo "Success!";
}
else 
{
echo "ERROR: ".$v_output;
}

但是这个 $v_output 只是显示为 ERROR: Array ...我尝试过,

echo "ERROR: ".implode($v_output);

但它是空白的...我怎样才能得到 ffmpeg 给出的错误消息,以便我可以理解出了什么问题。这是一个 php cron 脚本,它不是在命令行中手动运行的。

I am executing certain code through ffmpeg to encode avi files to flv. My ffmpeg code is correct and is working fine, but when some error occurs (suppose it is a corrupted avi file, ffmpeg will not encode it), so i want to know what the error is. Here is a sample code:

$v_cmd=" some code to transcode";
exec($v_cmd,$v_output,$v_status);
if($v_status == 0)
{
echo "Success!";
}
else 
{
echo "ERROR: ".$v_output;
}

But this $v_output is just showing up as ERROR: Array ... i tried

echo "ERROR: ".implode($v_output);

but it was blank... how can i get the error message that ffmpeg gave so that i can understand what went wrong. This is a php cron script and it is not run in command line manually.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你是暖光i 2024-10-19 06:51:10

在符合 POSIX 标准的系统和应用程序中,错误将发送到 STDERR,而不是 STDOUT。 exec 只会用 STDOUT 填充 $output 参数:

exec("foo", $output);
var_dump($output);

显示:

array(0) {
}

如果您希望它起作用,您必须将 STDERR 重定向到 STDOUT。例如,在 *nix:

exec("foo 2>&1", $output);
var_dump($output);

上将显示:

array(1) {
  [0]=>
  string(18) "sh: foo: not found"
}

In POSIX-compliant systems and applications, errors will be sent to STDERR, not STDOUT. exec will only populate the $output argument with STDOUT:

exec("foo", $output);
var_dump($output);

Displays:

array(0) {
}

You have to redirect STDERR to STDOUT if you want this to work. Per example, on *nix:

exec("foo 2>&1", $output);
var_dump($output);

Will display:

array(1) {
  [0]=>
  string(18) "sh: foo: not found"
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文