Java 网络摄像头流媒体时的fps速度非常慢
我一直在用java开发一个小的网络摄像头程序,它从网络摄像头中捕获图像,然后将视频流传送到另一台计算机上的另一个程序,该程序带有一个套接字 到目前为止,我做流视频,但在约1-5 fps,它应该能够流在约30 fps 服务器通过te套接字发送包含RGB数据的int数组。代码如下所示: 客户端/接收器Java 网络摄像头流媒体时的fps速度非常慢,java,performance,sockets,streaming,webcam,Java,Performance,Sockets,Streaming,Webcam,我一直在用java开发一个小的网络摄像头程序,它从网络摄像头中捕获图像,然后将视频流传送到另一台计算机上的另一个程序,该程序带有一个套接字 到目前为止,我做流视频,但在约1-5 fps,它应该能够流在约30 fps 服务器通过te套接字发送包含RGB数据的int数组。代码如下所示: 客户端/接收器 try{ Object o; o = objInStream.readObject(); if(
try{
Object o;
o = objInStream.readObject();
if(o != null){
if(o instanceof int[]){
videoFeed.setRGB(0,0,640,480,(int[]) o, 0, 640);
repaint();
}
}
}catch(Exception ex){
System.out.println("Error: " + ex.getMessage());
}
发送方只是一个ObjectOutputStream:
outStream.sendimage 您可能正在使用TCP套接字进行传输。TCP有很多相关的开销,所以它确实不适合快速视频流
我建议您改用UDP套接字,这是一种非常快速但不可靠的协议。您可能正在使用TCP套接字进行传输。TCP有很多相关的开销,所以它确实不适合快速视频流
我建议您改用UDP套接字,这是一种非常快速但不可靠的协议。坦白说,我不知道。我怎么知道?我刚刚做了以下操作:sockets=newsocketip,port;那就是TCP。寻找关于UDP套接字的教程。坦白说,我不知道。我怎么知道?我刚刚做了以下操作:sockets=newsocketip,port;那就是TCP。查找有关UDP套接字的教程。如何定义套接字应使用的协议?@user1291510:对于UDP套接字,您需要使用DatagramSocket类:感谢您的快速响应,我将尝试使用UDP:如何定义套接字应使用的协议?@user1291510:对于UDP套接字,您需要使用DatagramSocket类:感谢快速响应,我将尝试使用UDP: