我已经在互联网上搜索超过3天了,找不到任何有关如何安装ffmpeg for php的明确解释的内容。我目前在我的Mac命令行上正确安装了ffmpeg但是如何在我的PHP脚本中使用它是超出我的。如何为php安装ffmpeg?任何帮助都会很棒。感谢。
答案 0 :(得分:0)
ffmpeg是一组可执行程序,而不是API。过去有一个我知道的项目构建了一个php扩展,但它并不健壮,并且由于多种原因从未真正成为可行的,其中最重要的是ffmpeg有很多不同的选项和构建
几年前,我的任务是为社交网络创业公司构建一个音频和视频编码系统,利用PHP作为中间件,所以我已经完成了这个精确的练习。
最具挑战性的方面之一是提出了ffmpeg的工作编译版本以及我们想要的所有编码器。在我们的例子中,我们的托管环境是AWS,我们使用的是亚马逊Linux服务器,因此在此过程中出现了一些小问题,以及我不得不追逐的补丁。有些软件包有ffmpeg,但是它们已经过时了,而且缺少我们需要的关键功能。让事情发挥作用的唯一方法是获取ffmpeg源并编译它,以及我们使用的各种编解码器的源,主要是获取mpeg4视频和兼容音频。如果你不方便这样做,你可能无法让事情发挥作用。
关于它的PHP方面,我最终使用了上面评论中建议的PHP-FFMpeg库,但我确实对它进行了分叉并进行了许多适用于我们的自定义,但是它们并没有真正有助于上游。随后,库的维护者解决了我遇到的许多问题,现在它是一个更强大的库,如果您尝试创建自己的包装器,应该可以为您节省很多问题。
总结您的服务器需要:
按照说明阅读API,您应该能够获得一个示例编码以使用PHP,但请记住ffmpeg可以处理文件,并且您需要仔细考虑许多与文件相关的问题(原始文件)文件,渲染文件和命名,临时文件位置)除非你做一些微不足道的事情,否则你必须处理所有这些事情。在我们的例子中,这些程序是异步命令行/批处理的,并且需要花费大量的时间和精力来确定一种扩展和高效的方法。毋庸置疑,编码视频可能需要花费大量时间,并且不是您想要在最终用户上传的单片php脚本中执行的操作,然后在您在同一脚本中执行所有处理时等待!
我知道您正在尝试在Mac上执行此操作。这真的是您的生产部署的目标环境吗?这是一个挑剔和平台依赖的过程,我不认为尝试在你的Mac上获得一个hacky版本是可取的,因为获取ffmpeg的过程,以及确切的版本和组件是高度的对你的成功而言非常重要。