我通过网络将MJPEG流式传输到Java OpenCV客户端程序。它读取这样的流:
VideoCapture capture = new VideoCapture();
capture.open("http://10.0.0.5:8080/DerpStreamer/StreamingServlet?dummy=video.mjpg");
// loop for reading jpg frames
这很好用,花花公子。我想尝试通过SSL发送这个mjpeg只是为了好玩。我知道它会慢很多,也许有更好的方法来加密流媒体视频?无论如何,我在我的网络服务器上安装了SSL,验证它是否正常工作,然后盲目地将URL字符串更改为https://x.x.x.x:8443
它没有用,我意识到这是因为我的客户端没有用公钥解密。我的客户现在对SSL一无所知。所以我做了一些挖掘,并找到了一些如何编写简单的Java SSL客户端的例子。但是当我查看VideoCapture API时,我没有看到让它工作的方法。它不会使用任何类型的Reader或InputStream,只能获取设备ID或文件名。我想我可以解密它,将它写入某个文件或管道,然后让VideoCapture读取它,但它会使它更慢。这是一个合理的事情,还是非常愚蠢,我应该忘记通过SSL发送视频?
有什么建议吗?
如果我为了视频流而从HTTP切换到HTTPS,我应该预计会减慢多少?