Android MediaRecorder setOutPutFile () para transmitir usando Socket

stoy desarrollando una aplicación de Android que debería ser capaz de transmitir video a un servidor local en mi red sin almacenarla en la tarjeta SD.

Para esto, hice una aplicación de socket simple en C # que escucha la IP específica: PORT

n la parte de Android, había configurado lasetOutputFile() a esta IP: PUERTO utilizando el socket.

Esta aplicación se inicia perfectamente en el teléfono Android, pero no muestra la vista previa y cuando comienzo a grabar se cierra sin ninguna excepción. Tampoco envía ningún flujo de datos a la red.

Cuando configuro elsetOutPutFile() a la tarjeta SD, funciona perfectamente y graba videos también.

Para la parte del servidor, cuando envío los datos desde cualquier otra aplicación (desde la PC) a la misma IP: PUERTO, recibe los datos.

n resumen, quiero establecer el canal de comunicación entre la PC y Android usando el socket para la transmisión.

Aquí está mi código de Android:

 Socket soc=new Socket("192.168.1.3",8210);
 ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(soc);
 ...
 ...
 // other Recorder setup steps
 ...
 ...
 Recorder.setOutputFile(pfd.getFileDescriptor()); // working fine for sdcard
 Recorder.setPreviewDisplay(holder.getSurface());
 Recorder.prepare();

Aquí está mi aplicación de servidor que está en C # y se ejecuta en la PC:

 socketForServer = new TcpClient("192.168.1.3", 8210);
 NetworkStream networkStream = socketForServer.GetStream();
 byte[] rData = new byte[1024];
 networkStream.Read(rData, 0, 1024);
 ...
 ...
 // process rData
 ...
 ...

No puedo entender el problema que está ocurriendo aquí. ¿Voy en la dirección correcta?

Respuestas a la pregunta(1)

Su respuesta a la pregunta