从Perl AGI调用FFMPEG无法执行系统命令

时间:2014-11-21 16:52:05

标签: perl ffmpeg asterisk agi

我尝试使用ffmpeg转换并移动之前在通话中录制的2个音频文件。使用的代码是:

#Convert and move the audio
$AGI->exec("system","ffmpeg|/olddir/$FILENAME.flac|/newdir/$FILENAME.wav");
$AGI->exec("system","ffmpeg|/olddir/$FILENAME.flac|/newdir/$FILENAME.wav");

当AGI运行时,这就是CLI上显示的内容:

    -- AGI Script Executing Application: (system) Options: (ffmpeg|/olddir/stt_P4J3v6.flac|/newdir/stt_P4J3v6.wav)
WARNING[1796]: app_system.c:138 system_exec_helper: Unable to execute 'ffmpeg|/olddir/stt_P4J3v6.flac|/newdir/stt_P4J3v6.wav'

我不确定为什么它不会执行,同样的命令在控制台上运行正常。

编辑:重新测试的命令包含管道,它返回了奇怪的错误。但是,尝试使用

$AGI->exec("system","ffmpeg /olddir/$FILENAME.flac /newdir/$FILENAME.wav");

仅返回

-- AGI Script Executing Application: (system) Options: (ffmpeg)

所以它没有接受其余的论点。

1 个答案:

答案 0 :(得分:0)

我不需要使用" Exec"命令。我没想到" system"跑在AGIs。我错了。