【发布时间】:2016-05-28 03:24:18
【问题描述】:
我在 php 中编写了一个代码,它使用 exec 函数从视频文件中提取 mp3 音轨来执行 ffmpeg。
在 Windows 上使用 WAMP 的本地服务器上一切正常。但是在将脚本部署到服务器时,我不能再运行ffmpeg,因为服务器没有软件。
是否有纯 PHP 中的类,或者 API 能够提供相同或至少基本的 ffmpeg 功能?
【问题讨论】:
标签: php ffmpeg video-conversion
我在 php 中编写了一个代码,它使用 exec 函数从视频文件中提取 mp3 音轨来执行 ffmpeg。
在 Windows 上使用 WAMP 的本地服务器上一切正常。但是在将脚本部署到服务器时,我不能再运行ffmpeg,因为服务器没有软件。
是否有纯 PHP 中的类,或者 API 能够提供相同或至少基本的 ffmpeg 功能?
【问题讨论】:
标签: php ffmpeg video-conversion
已编辑:
由于任何转换都非常消耗 CPU,因此没有纯 PHP 解决方案,并且在不久的将来也不会。
【讨论】:
对于转换,您可以使用https://cloudconvert.com/,它提供了rest api和异步转换。
【讨论】:
首先您的问题标题提到了“视频”,但问题正文询问了 MP3,您能否澄清一下?
其次,仅仅因为服务器没有ffmpeg这并不意味着你不能安装它。这可能应该是追求的选项 - 如果主机那么严格,那么无论如何您都不太可能安装任何其他解决方案。
PHP 作为一种语言没有 MP3 解码器,虽然可以编写一个,甚至可以找到一个已经编写好的,但我会避免使用它。解析多媒体格式很棘手,正如最近 Android 中的 Stagefright 错误所证明的那样,因此您最好使用经过良好测试和支持的框架,例如 GStreamer 或 FFMpeg。
另外,如果您只需要转换某些格式,例如 MP3,您可以查看 MP3 解码器,例如 lame。
【讨论】:
但是在将脚本部署到服务器时,我不能再运行
ffmpeg,因为服务器没有软件。
在您的服务器上很容易获得ffmpeg:
ffmpeg 适用于 Linux、Windows 或 OS X。【讨论】: