Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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 网络摄像头流媒体时的fps速度非常慢_Java_Performance_Sockets_Streaming_Webcam - Fatal编程技术网

Java 网络摄像头流媒体时的fps速度非常慢

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(

我一直在用java开发一个小的网络摄像头程序,它从网络摄像头中捕获图像,然后将视频流传送到另一台计算机上的另一个程序,该程序带有一个套接字

到目前为止,我做流视频,但在约1-5 fps,它应该能够流在约30 fps

服务器通过te套接字发送包含RGB数据的int数组。代码如下所示:

客户端/接收器

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: