访问本地媒体文件以在FlowPLayer中播放

时间:2012-01-06 10:45:55

标签: apache jsf richfaces media flowplayer

我想访问本地媒体文件说.mp4文件在Firefox浏览器上的FlowPLayer中播放..

我的应用程序基于JSF和RF3.3与JBoss服务器。

问题在于我的支持bean说我已经写了一个文件名test.mp4并且WEB-INF文件夹中存在相同的内容.FlowPlayer将使用以下方式访问此文件: -

http://IP/ContextPath/WEB-INF/test.mp4

但现在假设我的系统中有一个放在D:驱动器中的文件。本地服务器正在我的系统上运行。我想访问保存在D:驱动器中的文件并在流程播放器中播放...

FlowPlayer始终将http://IP/附加到文件名,因此它不会播放媒体文件..

有没有办法允许流媒体访问系统上的本地文件...

我认为可以使用Apache完成...但是如何/ ?? ...。

1 个答案:

答案 0 :(得分:0)

组件接受必须可从客户端浏览器访问的URL,因此像file:///C:/resources/foo.mp4这样的URL不起作用。您尝试引用的资源文件必须可从Web上下文访问。这并不是说您不能将文件资源存储在计算机的D:上,但是您需要像Apache这样的Web服务器来访问该文件夹位置作为Web上下文文件夹。它可以配置为执行此操作,但我不会详细说明如何执行此操作,如果您遇到问题,则应向ServerFault StackExchange站点发送问题以获取相关帮助。

要记住的一件事是,您的Web应用程序可能已配置为项目的WEB-INF文件夹中的任何资源可能都设置为应用程序的上下文路径。因此,如果您要将MP4文件放在Web应用程序中(我建议不要使用这些文件,那么这些文件是巨大的),然后可以从http://site:port/applicationcontext/resources/foo.mp4访问它,但在磁盘上它是WEB-INF/resources/foo.mp4

我设置的最好方法是设置一个正在侦听特定端口上的Web流量的Apache前端,然后使用mod_jk模块,您可以在{{{ 1}}到AJP端口上的应用程序服务器。我喜欢这种设置,因为我可以在Web服务器的ROOT上下文中保留大量静态资源,并通过将其完全置于防火墙后面并且无法从外部访问来保护我的应用程序服务器。只能通过Apache Web服务器访问应用程序服务器,这意味着增强安全性。有关此类设置的详细信息,请参阅此示例指南,了解如何使用Tomcat设置Apache Web Connector。 http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html