我正在创建一个允许用户上传音频的网站。我刚刚想出了我们如何使用ffmpeg与PHP转换音频文件(从WAV到MP3)的飞行。
我对ffmpeg没有任何实际经验,我想知道转换文件的最佳方法是什么。我不打算在页面加载时转换它们,我将把转换放在一个队列中并分别处理它们。
我对如何最好地处理队列有疑问。转换这些文件而不使服务器过载的合适时间间隔是多少?我应该同时处理文件还是一个一个地处理文件?我应该在每个时间间隔转换多少个文件才能使服务器有效地工作?
服务器规格
- Core i3 2.93GHz
- 4 gb RAM
- CentOS 64位
我知道这些问题很模糊,但如果有人有过类似的经验,我真的很想听听他们是怎么做的,以及我在未来的道路上可能面临的常见问题。
真的很感谢所有的帮助!
我建议您使用像beanstalkd这样的工作队列。当有一个新文件要转换时,只需将一条消息放入队列(可能是文件名)。作为beanstald客户机的守护进程获取消息并正确转换音频文件(守护进程可以用任何具有beanstald库的语言编写)。