如何在不使用 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
:
- Download a static build of
ffmpeg
对于 Linux、Windows 或 OS X.
- 将您的脚本指向它。
- 编码。
我在 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
:
- Download a static build of
ffmpeg
对于 Linux、Windows 或 OS X. - 将您的脚本指向它。
- 编码。