php - Windows下PHP中使用ffmpeg

标签 php video audio ffmpeg

我有几个问题,非常感谢您的帮助。而且非常紧迫。

我正在用 PHP 开发一个 CMS。我正在开发一些音频/视频转换。
我正在 Windows 7 下开发它。最终这个 CMS 将在 Linux 服务器上运行。

我需要 ffmpeg 来转换音频/视频。

如何在 Windows 上使用它?我是否需要将 ffmpeg 安装为 php 扩展,以便我可以在我的项目中使用它?因为我做不到。它不会将其识别为 php 扩展。我将文件复制到 php_ext 文件夹和 system32。我还编辑了 php.ini 文件。但什么都没有。

我可以在没有上一步的情况下使用 ffmpeg 吗?

最终,如果我让它工作,当我将 CMS 移动到 Linux 服务器时会出现什么问题(我知道 ffmpeg 应该在 Linux 下工作,因为它更容易安装。)。
当我从 Windows 迁移到 Linux 时,是否需要四处寻找 ffmpeg 的路径,反之亦然。

你对我有什么建议?

提前致谢。
丹尼斯

最佳答案

最简单的做法是仅使用 FFMpeg 作为可执行文件。构建一个命令行,然后执行它。

然而......这是一个坏主意。如果你开始将多个并发的 FFMpeg 链接在一起,你很可能会杀死机器,即使你很好地处理了这些进程。

你需要做的是建立一个守护队列系统。您可以将整天编码的媒体放入一个文件夹中,ffmpeg 将只运行队列中的下一个项目(这也意味着需要优先级)。这样,您可以正确地完善命令。

在 Unix 中,我们只需设置一个 cron 作业,它每分钟左右检查一次数据库(您将使用 Windows 任务计划程序)...如果队列中有东西,将状态标记为“编码”,开始编码过程,然后在完成后再次检查。当队列为空时,取消标记状态。这样,其他应用程序(例如,网站本身)也可以知道编码状态,这在各方面都更好。

关于php - Windows下PHP中使用ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6064355/

相关文章:

javascript - 无法使用ajax将数据发送到php文件

python - 精确的异步计时

php - 如何从 MySQL 中选择/查询多个名称

node.js - 将包含标题的 block 连接到 h264 中的另一个 block

video - FFMPEG 视频叠加与远程叠加源

javascript - 如何使用Google Apps脚本将视频上传到YouTube?

javascript - 如何停止播放/暂停控制功能中的无限循环

javascript - 我可以在 javascript/html 中预加载音频文件并在网络丢失后播放吗?

php - Web 应用程序中多个用户的访问控制

php - 尝试构建一个静态数据库类,我可以从类外的任何函数访问它