java - convert ByteArrayInputStream image sequence into a video clip -


iam using udp connection ,i have android application send video pc runs java application. java application runs on pc recieve packets send android application bytearrayinputstream(imagedata) ,now need convert these images video clip how can that, following code java application pc code..

import java.io.bytearrayinputstream; import java.io.ioexception; import java.lang.runnable; import java.lang.thread; import java.net.datagrampacket; import java.net.datagramsocket; import java.net.inetaddress;  public class cam_thread_udp implements runnable {     int nb = 0;     car_gui car_state;     thread t;      public static int header_size = 5;     public static int datagram_max_size = 1450;     public static int data_max_size = datagram_max_size - header_size;      public cam_thread_udp(car_gui gui)      {         car_state = gui;         try          {             t = new thread(this);             t.start();         }          catch (exception e){e.printstacktrace();}     }      public void run()      {         system.out.println("cam thread waiting...");          handleconnection_udp();     }      public void handleconnection_udp()      {         int current_frame = -1;         int slicesstored = 0;         byte[] imagedata = null;         datagramsocket socket=null;          try          {                                inetaddress serveraddr = inetaddress.getlocalhost();             system.out.println("pc ip address: " + serveraddr.gethostaddress());             socket = new datagramsocket(9000, serveraddr);             byte[] buffer = new byte[datagram_max_size];             datagrampacket packet = new datagrampacket(buffer, buffer.length);              while (true)              {                                socket.receive(packet);                              byte[] data = packet.getdata();                          int frame_nb = (int)data[0];                 int nb_packets = (int)data[1];                 int packet_nb = (int)data[2];                 int size_packet = (int) ((data[3] & 0xff) << 8 | (data[4] & 0xff));                   if((packet_nb==0) && (current_frame != frame_nb))                 {                     current_frame = frame_nb;                     slicesstored = 0;                                    imagedata = new byte[nb_packets * data_max_size];                 }                  if(frame_nb == current_frame)                 {                         system.arraycopy(data, header_size, imagedata, packet_nb * data_max_size, size_packet);                         slicesstored++;                              }                  /* if image complete display */                 if (slicesstored == nb_packets)                  {                                        bytearrayinputstream bis = new bytearrayinputstream(imagedata);                     car_state.set_image(bis);                 }             }         } catch (ioexception e)          {             e.printstacktrace();             socket.close();         }      } } 


Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

jquery - Fancybox - apply a function to several elements -

An easy way to program an Android keyboard layout app -