我正在使用ffmpeg命令在php中使用exec函数剪切视频.但它不是创建视频文件,也不显示任何错误.我用exec如下
exec("ffmpeg -i input.flv -ss 00:00:30.0 -t 00:00:10.0 -acodec copy -vcodec copy -async 1 output.flv");
Run Code Online (Sandbox Code Playgroud)
我可以帮助了解这里发生的错误是什么吗?
exec("ffmpeg -i input.flv -ss 00:00:30.0 -t 00:00:10.0 -acodec copy -vcodec copy -async 1 output.flv",$output);
Run Code Online (Sandbox Code Playgroud)
我也试过了.但我没有在变量中收到任何错误消息$output
作为一般规则,首先需要检查返回值:非零值表示存在错误(假设您运行的程序的作者符合标准).该值在exec()的第三个参数中捕获.
第二,许多程序不向标准输出发送错误消息.相反,他们使用标准错误.在这种情况下,将后者重定向到前者似乎是安全的:
exec("ffmpeg -i input.flv -ss 00:00:30.0 -t 00:00:10.0 -acodec copy -vcodec copy -async 1 output.flv 2>&1", $output, $return_value);
Run Code Online (Sandbox Code Playgroud)