我想要的是在网页上向 X 人广播带有音频的网络摄像头。我熟悉 jsf ,我将 primefaces 实用程序和 apache tomcat 7 用于 servlet 容器。我应该从哪里开始?有没有办法将 vlc 播放器网络摄像头录制嵌入我的网页或一些不同的记录器,例如 realplayer 等。或者我应该遵循非常不同的方式?谢谢你的建议。
1 回答
我相信 MyFaces、PrimeFaces 和 IceFaces 都有视频播放器组件,可用于显示保存在服务器上的视频,但在您从一位用户直播视频之前,显然有很多细节需要解决并直接在浏览器中向其他人广播实时提要。
你让我很感兴趣,因为我在使用 JSF 的工作中从来没有做过这么有趣的事情,而且我肯定会关注这个并链接我发现的任何其他东西。
我自己发现/发明答案的第一个建议是首先实现一些聊天功能。使用会话范围的支持 bean 创建一个 jsf 页面,并让它向 JMS 主题发布消息。有另一个 jsf 页面,该页面由订阅同一主题的会话范围 bean 支持。在某些时候,您需要在没有用户发出请求的情况下刷新订阅者页面,或者换句话说,您需要将这些消息推送到浏览器。您使用的组件套装可能会为您处理这种接线,而无需您自己编写 Ajax。
Primefaces 的 Ted Goddard 在这个youtube 视频的大约 35 分钟后用幻灯片演示了“Cloud Push,或 ICEPush” 。
显然,在某些时候,真正困难的部分是您必须将视频从浏览器流式传输到会话托管 bean,然后将其广播到 JMS 主题。为此,我可能会建议考虑在您的 JSF 页面中使用小程序。这样,您就可以使用 java 清楚地访问远程用户系统。在小程序中,您可以将网络摄像头馈送流式传输到同一个 JMS 队列,或使用其他形式的流式视频返回到您的网络服务器,以便您可以将该流推送给每个“观察”用户。