Casa > C > Como Transmitir Vídeo Sobre Tomadas Em Java

Como transmitir vídeo sobre tomadas em Java

Bem, da mesma forma que você transmitirá qualquer coisa. Comecei a pensar "não há só isto, deve ter algo mais sobre esta questão que é 'sublinhado', não consigo entender" mas parece que é só isto.

Vamos ver algumas soluções. Grave um pedaço de vídeo e envie, grave uma única BufferedImage e envie, não use soquetes mas algo que possa lidar com a transmissão em tempo real, e você pode pensar de outras formas também.

Basicamente o que você precisa fazer é escolher seu pedaço gravado (você pode gravar vídeo em pedaços começando a gravação de um, parando em um ponto, salvando-o e iniciando a gravação novamente) e enviá-lo com um ObjectOutputStream para um ServerSocket com dados de leitura ObjectInputStream.

Agora vou mostrar algum código, mas tenha em mente que estes são muito simples, e podem ser muito lentos (e podem ser facilmente melhorados)

Aqui está um exemplo de um método sendVideoPiece() do cliente:

  1. // More code up 
  2. public void sendVideoPiece() { 
  3. Socket sock = new Socket(serverHost, serverPort); // Just as usual, creating a socket to send information 
  4. ObjectOutputStream oos = new ObjectOutputStream(sock.getOutputStream()); // Creating the sender 
  5. try { 
  6. oos.writeObject(currentVideoFrame); // Will send the current video frame, assuming that there is a variable called 'currentVideoFrame' that stores the current recorded frame 
  7. } catch(Exception e) { System.err.println("Error sending current frame to server!"); } 
  8. // More code below 

And here the server, with the method getVideoPiece():

  1. // More code up 
  2. public void getVideoPiece() throws { 
  3. // Assuming that a server socket already exists and that the client socket is already connected to it: 
  4. ObjectInputStream ois = new ObjectInputStream(recSocket.getInputStream()); 
  5. try { 
  6. BufferedImage currentVideoFrame = (BufferedImage) ois.readObject(); 
  7. } catch(Exception e) { System.out.println("Error reading current frame from client!"); } 
  8. // Broadcast frame to viewers 

De Dorsey

Em que língua é codificada a Zelda Breath of the Wild? :: Os concessionários têm de conceder empréstimos?