我想转换mp3文件为ogg。我尝试了以下代码
exec("/usr/local/bin/ffmpeg -i 1.mp4 -vcodec libtheora -acodec libvorbis testjohn4545454.ogg",$output);
var_dump($output);但是它不会转换文件,它只返回array(0) { },并且只需要很少的执行时间。
但使用ssh命令时转换成功。
请给我一个解决方案。
发布于 2013-02-19 21:11:01
感谢您的回复。我使用passthru()而不是exec(),它工作得很好。
发布于 2013-02-19 21:09:19
有趣的是,你想在它自己的进程中执行它,并在后台中执行,否则你的PHP脚本将在等待转换完成的过程中挂起。
代码:
passthru("nohup /usr/local/bin/ffmpeg -i 1.mp4 -vcodec libtheora -acodec libvorbistestjohn4545454.ogg 1> /path/to/logfile.txt 2>&1 &");
请注意"nohup“和末尾的”&“符号:它们应该能满足您的需求。此外,您现在可以定期检查您的日志文件,以确保它正在执行您想要的操作。
最后,如果您愿意,可以查看this question来创建进度条。
发布于 2013-02-19 20:43:43
我曾经遇到过类似的问题,但我选择了在apache可写文件夹中保存和读取文件(输入文件和输出转换文件),您也可以通过读取该目录来检查转换是否已经完成。
https://stackoverflow.com/questions/14957544
复制相似问题