我正在寻找一种在我的vaadin应用程序中显示MJPEG流(来自ip cam)的方法。
我的问题是启动流的必要身份验证。
简单地获取流的简单解决方案:
String url = "...urlgoeshere/video.mjpg";
Image image = new Image();
image.setSource(new ExternalResource(url));
content.addComponent(image);
如果我允许匿名连接到相机,它就像一个魅力,但那不是我的目标。
我尝试通过以下方式进行身份验证:
Authenticator.setDefault(new MyAuthenticator(username, password));
但它不会影响请求。
如果我手动设置如下请求:
String url = "...urlgoeshere/video.mjpg";
Authenticator.setDefault(new MyAuthenticator("username", "password"));
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
身份验证有效,但这样我必须自己处理所有图像。
有没有更好的方法来显示需要身份验证的流?
答案 0 :(得分:0)
我认为您应该可以使用用户名和&外部资源的URL中的密码。
https://foo:password@example.com
但这取决于网络摄像头用于验证的协议, 并且您还将拥有“可见”的用户名和密码 你的应用程序的html / javascript。
还有一点说明: 微软做了disable this some time ago,所以如果你的用户使用的是IE, 这不起作用。