Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过servlet服务内部ip流?_Java_Servlets_Java Me_Video Streaming - Fatal编程技术网

Java 如何通过servlet服务内部ip流?

Java 如何通过servlet服务内部ip流?,java,servlets,java-me,video-streaming,Java,Servlets,Java Me,Video Streaming,我正在做一个项目,我有一个简单的ip摄像头,它有一个带有内部地址和web服务器的mjpg流。我希望通过我的servlet提供摄像机的提要,这样摄像机就不需要每次安装都进行端口转发。我的理想情况是,用户只需输入mjpg位置(位于其网络上)的URL,其余的由servlet处理 我对如何开始实现这一点一无所知,或者如果这是可能的,因为我自己并没有实际创建mjpg流,我正在使用已经存在的一个。有没有办法做到这一点而不向我的web服务器发出大量淫秽的请求 另一个让我头疼的问题是,我只能使用在J2ME中工作

我正在做一个项目,我有一个简单的ip摄像头,它有一个带有内部地址和web服务器的mjpg流。我希望通过我的servlet提供摄像机的提要,这样摄像机就不需要每次安装都进行端口转发。我的理想情况是,用户只需输入mjpg位置(位于其网络上)的URL,其余的由servlet处理

我对如何开始实现这一点一无所知,或者如果这是可能的,因为我自己并没有实际创建mjpg流,我正在使用已经存在的一个。有没有办法做到这一点而不向我的web服务器发出大量淫秽的请求


另一个让我头疼的问题是,我只能使用在J2ME中工作的库。

好的。所以你基本上想代理几个摄像头通过一个servlet连接

这不应该太难。您只需要在servlet中打开到请求的URL的套接字连接

假设您正在使用HTTP,如果您请求“http://myservlet/servlet?url=http://camera_url_here“,您应该能够打开与摄像头URL的连接,并将接收到的字节写入HttpServletResponse的Outputstream。您可能希望将套接字连接粘贴到地图中,这样就不会不必要地连接到同一个摄影机两次。不要忘记在HttpServletResponse对象中复制/设置正确的MIME类型


你看过吗?我很确定它已经可以做到这一点。

在servlet中,您只需检查HttpRequestObject的URL、方法,可能还有accept标头,然后使用相应摄像头的ip地址创建HttpURLConnection,建立连接。当您从照相机获得响应时,从响应中复制适当的条目并将它们设置在ServletResponse对象中,然后获取客户端请求的照相机响应输入流和输出流,并将字节从一个流复制到另一个流,完成后关闭所有内容

如果您可以部署类似Jersey的东西(JAX-RS参考实现),这将更加容易