2011-06-07 62 views
0

嘿,只是一个简单的问题,任何人谁做到了这一点。我想创建一个视频管网站。我之前完成了文件上传,但是想知道是否有人可以给我建议我计划要做的事情。视频上传:推荐流程?

我计划的方式是在我的web目录中有一个文件夹,并在病毒扫描和检查MIME后将视频上传到文件夹中。然后视频将被转换并使用FFMPEG压缩成flv。

我将更改名称并将视频引用ID存储在mysql中,以便可以提取并投放文件名。

我会用HTTP_Download的Flash播放器

$dl = new HTTP_Download(); 
$dl->setFile("$path"); 
$dl->setContentDisposition(HTTP_DOWNLOAD_ATTACHMENT, "$path"); 
$dl->setContentType('video/flv'); 
$dl->send(); 

人有什么建议可以提供文件服务?将所有视频放在一个目录中是一个好主意吗?

回答

1

你可能要考虑一个基于Java的上传器,因为PHP在大型上传时可能会遇到超时问题。

你也做FFMPEG处理作为CRON作业不在上传,因为它需要很长时间。

寻找像Wowza Streaming Server这样的东西来为视频提供服务。允许流媒体和一切都在根之上。我用UID命名每个视频并向Flash视频播放器发送参数以决定播放哪个视频。

+0

非常感谢niggles,你的意思是一个cron工作? – Scarface 2011-06-07 22:53:25

+0

而且,Wowza究竟是一个什么地方存储视频和流如独立的服务器提供商? – Scarface 2011-06-07 23:00:29

+1

CRON作业是您可以设置为以特定间隔运行的自动过程。因此,不是直接处理视频,而是将其放入临时目录并用“未处理”标记写入数据库条目。 cron作业将每分钟查看“未处理”条目并在后台处理它们。 Wowza是您安装在您自己的服务器上的流媒体服务器(软件)。 – niggles 2011-06-07 23:09:26

1

在哪里以及如何存储它们将在很大程度上取决于他们需要怎样的安全是(即如果人们能够访问直接在目录中的文件?还是应该把它比存储更安全?)

如果直接访问没问题,那么把它们放在一个文件夹中就没问题。如果没有,那么您可能需要隐藏文件夹名称,将它们存储在安全的数据库中或存储在服务器之外无法访问的文件夹中。

此外,我希望你知道这样的服务将消耗大量的存储空间和带宽?我希望你有一个可扩展的解决方案,如果你真的认真对待这个问题的话。

+0

我知道带宽和使用情况。我正在构建一个解决方案,但我将不得不随时扩展它。我有限的资金哈哈。任何推荐的服务提供商我应该从专用服务器开始吗?另外,我不希望用户访问视频,除非他们正在流式传输视频,所以您说我应该为每个视频上传创建一个文件夹? – Scarface 2011-06-07 03:49:58

+1

绝对不是每个上传的新文件夹。我会选择将它们存储在您的主要Web目录中,以便在服务器外部无法直接访问。然后将它们流到一个可访问的地方。 – BraedenP 2011-06-07 07:11:03

+0

如何访问根网站目录之外的文件?你提到将它们流到一个地方。你是什​​么意思? – Scarface 2011-06-07 22:51:30