如何在不使用 ffmpeg 的情况下转换 php 中的视频?

How can I convert videos in php without using ffmpeg?

我在 php 中编写了一个代码,使用 exec 函数从视频文件中提取 mp3 音轨以执行 ffmpeg

在 windows 上使用 WAMP 在本地服务器上一切正常。但是当部署脚本到服务器时,我不能运行 ffmpeg 因为服务器没有这个软件

是否有纯 PHP 中的 class 或具有相同或至少基本 ffmpeg 功能的 API?

已编辑:

由于任何转换都非常 CPU 密集,因此没有纯粹的 PHP 解决方案,并且在不久的将来也不会。

对于转换,您可以使用 https://cloudconvert.com/,它提供休息 api 和异步转换。

首先你的问题标题提到了 "videos",但是问题 body 问的是关于 MP3 的问题,你能解释一下吗?

其次,仅仅因为服务器没有ffmpeg这并不意味着你不能安装它。这可能应该是追求的选择 - 如果主机如此严格,那么无论如何您都不可能安装任何其他解决方案。

PHP 作为一种语言没有 MP3 解码器,虽然可以写一个,甚至可以找到一个已经写好的,但我会避免它。解析多媒体格式很棘手,正如 Android 中最近的 Stagefright 错误所证明的那样,因此您最好使用 well-tested 和受支持的框架,例如 GStreamer 或 FFMpeg。

此外,如果您只需要转换某些格式(例如 MP3),您可以查看 MP3 解码器,例如 lame。

But when deploying the script to the server, I can not run ffmpeg anymore because the server does not have the software.

很容易在您的服务器上获得ffmpeg

  1. Download a static build of ffmpeg 对于 Linux、Windows 或 OS X.
  2. 将您的脚本指向它。
  3. 编码。

FFmpeg Wiki: PHP