从MP3转换成OGG使用PHP(conversion from mp3 to ogg using p

2019-10-17 17:39发布

我想要的MP3文件转换成OGG。 我尝试下面的代码

exec("/usr/local/bin/ffmpeg -i 1.mp4 -vcodec libtheora -acodec libvorbis testjohn4545454.ogg",$output);
var_dump($output);

不过,这并不转换文件,它只返回array(0) { }只需要一点点的执行时间。

但转换使用ssh命令时是成功的。

请给我的解决方案。

Answer 1:

这里有趣的事情,你要在它自己的进程,并在后台执行它,否则,你的PHP脚本将挂起,而等待转换完成。

编码:

passthru("nohup /usr/local/bin/ffmpeg -i 1.mp4 -vcodec libtheora -acodec libvorbistestjohn4545454.ogg 1> /path/to/logfile.txt 2>&1 &");

请注意“的nohup”,并在年底的符号:这应该给你所需要的。 此外,您现在可以定期检查你的日志文件,以确保它在做什么,你想要什么。

最后,检查出这个问题创建一个进度条,如果你喜欢。



Answer 2:

我有一个类似的问题一次,但我已经选择保存并读取一个Apache的可写文件夹中的文件(文件输入和输出转换后的文件),您还可以检查是否皈依通过读取目录alredy完成。



Answer 3:

你可以检查你的PHP配置disabled_functions,看看EXEC不是吗? 您可能还需要启用所有错误报告 ,并尝试给exec()的一个简单的bash回声,看看它是如何去后。 如果一切顺利,然后检查是否使用了正确的文件,如杰米指出,工作目录可能是错误的之一,所以使用绝对路径或相对的,无论是最方便的。 检查什么是当前工作目录的Unix命令是pwd

编辑:此外, 高管还有另一个需要注意When safe mode is enabled, you can only execute files within the safe_mode_exec_dir ,所以一定要拥有一个良好的阅读手册其他问题。



Answer 4:

感谢您的答复。 我用passthru()而不是exec()它工作正常。



文章来源: conversion from mp3 to ogg using php