我有一个 ipcamera,只要有多个用户连接到它,它就会变得太慢。我正在考虑使用我的服务器从相机获取流,并且多个客户端应该能够从服务器而不是糟糕的 ipcamera 流。
我也设置了一个快速而肮脏的servlet,看看它是否有效:
@RequestMapping(value = "/", method = RequestMethod.GET, produces = "application/x-shockwave-flash")
public String getVideoStream(Locale locale, Model model, HttpServletRequest request, HttpServletResponse response) throws IOException {
logger.info("Start");
// An IPcamera stream example
URL url = new URL("http://www.earthcam.com/swf/ads5.swf");
URLConnection yc = url.openConnection();
OutputStream out = response.getOutputStream();
InputStream in = yc.getInputStream();
String mimeType = "application/x-shockwave-flash";
byte[] bytes = new byte[100000];
int bytesRead;
response.setContentType(mimeType);
while ((bytesRead = in.read(bytes)) != -1) {
out.write(bytes, 0, bytesRead);
}
logger.info("End");
我相信这可能会奏效,我现在的问题是:
bytesRead = in.read(bytes)
仅读取 61894 字节,仅此而已:(为什么会发生这种情况?我是否试图弄错流?
顺便说一句:我尝试使用 xuggler 执行此操作,但我遇到了一个不支持压缩 SWF 的错误。
谢谢