【问题标题】:Uploading and Storing videos online using PHP and ffmpeg使用 PHP 和 ffmpeg 在线上传和存储视频
【发布时间】:2011-04-26 19:52:51
【问题描述】:

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

我知道的一个 Flash 播放器是 flowplayer,如果有人知道更好的,我会很高兴知道。

无论如何,正如我通过简单的谷歌搜索了解到的那样,没有播放器可以播放 .avi/.mpeg 文件,但它们只能播放 .flv 文件。

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

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

谢谢!

【问题讨论】:

  • 我使用的是最佳解决方案吗?使用 php 的 system() 和使用 ffmpeg 进行转换
  • 不,这绝对不是最好的解决方案。
  • 您介意分享您认为最好的解决方案吗?
  • 你是对的,只有某些格式可以在 Flash 播放器中播放。您也说得对,转换视频需要大量资源。这更多的是服务器基础设施的问题,而不是使用哪个代码进行编码。
  • 并非如此。 Flash 播放器只能处理有限的编解码器选择。如果您提供不同的 avi/mpeg 格式供客户端的本机 Windows Media Player 组件播放,则 客户端 将需要安装适当的编解码器。这不会很好地工作。服务器将必须将上传的视频转换为某种通用格式(H.264 是现在每个人都喜欢的格式),这只会占用大量资源,句号。您可能需要一台或十台专用服务器来处理上传的视频队列。

标签: php video video-streaming


【解决方案1】:

只是一个大纲

(注意:我没有自己也没有写过PHP视频分享网站,所以把这些当作提示)

  • 设置您的 Web 服务器和 PHP,使其能够通过 HTTP 接受大文件
  • 让用户通过网络界面上传他们的视频
  • 成功上传后,将上传的视频添加到队列中
  • 设置处理视频处理的完整服务器端脚本(无 PHP)
  • 当您的服务器能够处理上传的视频时,在此队列上运行 cron 作业
  • 视频播放完毕后通知用户

希望它在某种程度上有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-29
    • 2010-12-26
    • 2012-04-19
    • 1970-01-01
    • 2019-06-08
    • 2017-03-03
    • 1970-01-01
    相关资源
    最近更新 更多