使用PHP和ffmpeg在线上传和存储视频

使用PHP和ffmpeg在线上传和存储视频,php,video,video-streaming,Php,Video,Video Streaming,我有一个允许用户上传视频的网站, 在他们上传视频后,我希望能够使用flash播放器显示他们 我知道的一个flash播放器是flowplayer,不过如果有人知道一个更好的,我很乐意知道 在任何情况下,正如我从谷歌搜索中了解到的,没有播放器可以播放.avi/.mpeg文件,但它们只能播放.flv文件 我开始寻找转换用户avi/mpeg的方法,发现我可以使用ffmpeg使用system()将视频转换为.flv 这对我来说是最好的解决方案吗?我觉得ffmpeg占用了很多CPU,一旦我有足够的用户,服务

我有一个允许用户上传视频的网站, 在他们上传视频后,我希望能够使用flash播放器显示他们

我知道的一个flash播放器是flowplayer,不过如果有人知道一个更好的,我很乐意知道

在任何情况下,正如我从谷歌搜索中了解到的,没有播放器可以播放.avi/.mpeg文件,但它们只能播放.flv文件

我开始寻找转换用户avi/mpeg的方法,发现我可以使用ffmpeg使用system()将视频转换为.flv

这对我来说是最好的解决方案吗?我觉得ffmpeg占用了很多CPU,一旦我有足够的用户,服务器就会崩溃

谢谢

只是一个提纲

(注意:我既不拥有也不编写PHP视频共享网站,所以请将这些当作提示)

  • 将web服务器和PHP设置为能够通过HTTP接受大型文件
  • 允许用户通过web界面上传视频
  • 成功上载后,将上载的视频添加到队列
  • 设置处理视频处理的完全服务器端脚本(无PHP)
  • 当服务器能够处理上载的视频时,在此队列上运行cron作业
  • 完成视频后通知用户

希望能有所帮助。

我使用的是最好的解决方案吗?使用php的system()和ffmpegNo进行转换,这绝对不是最好的解决方案。您是否介意分享您认为最好的解决方案?您是对的,只有某些格式可以在flash播放器中播放。你也说得对,转换视频需要很多资源。这更多的是服务器基础设施的问题,而不是使用哪种代码来进行编码。Flash player只能处理有限的编解码器选择。如果您提供不同的avi/mpeg格式供客户端的本机Windows Media Player组件播放,则客户端需要安装相应的编解码器。那不好用。服务器将不得不将上传的视频转换成某种通用格式(H.264现在是每个人的最爱),这需要大量的资源。您可能需要一台专用服务器或10台服务器来处理上传的视频队列。