Transmisión de video desde MediaRecorder a través de LocalSocket

Estoy tratando de enviar video h264 / AAC desde el MediaRecorder de Android a través de un Socket local. El objetivo es enviar video a un servidor WOWZA a través de RTMP o RTSP, pero me está causando muchos problemas y por ahora solo estoy tratando de escribir los datos en un archivo desde LocalServerSocket.

Aquí hay algo de código. Lo siento, no está realmente limpio, pero pasé horas probando muchas cosas y mi proyecto ahora es un desastre.

En la actividad de la cámara, la configuración del archivo de salida:

LocalSocket outSocket = new LocalSocket();

try {
    outSocket.connect(new LocalSocketAddress(LOCAL_SOCKET));
} catch (Exception e) {
    Log.i(LOG_TAG, "Error connecting socket: "+e);
}
mMediaRecorder.setOutputFile(outSocket.getFileDescriptor());

La implementación de LocalServerSocket:

try {
    mLocalServerSocket = new LocalServerSocket(mName);
} catch (Exception e) {
    Log.e(LOG_TAG, "Error creating server socket: "+e);
    return;
}

while (true) {

    File out = null;
    FileOutputStream fop = null;
    try {
        mLocalClientSocket = mLocalServerSocket.accept();

        InputStream in = mLocalClientSocket.getInputStream();

        out = new File(mContext.getExternalFilesDir(null), "testfile.mp4");
        fop = new FileOutputStream(out);

        int len = 0;
        byte[] buffer = new byte[1024];
        while ((len = in.read(buffer)) >= 0) {

            Log.i(LOG_TAG, "Writing "+len+" bytes");
            fop.write(buffer, 0, len);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    finally{
        try {
            fop.close();
            mLocalClientSocket.close();
        } catch (Exception e2) {}
    }
}

El problema es que el archivo resultante de esto no puede ser leído por ningún reproductor multimedia. ¿Crees que esto es debido a un problema de codificación? Este código debería generar un archivo binario si entiendo bien ?!

Gracias de antemano, saludos.

Respuestas a la pregunta(3)

Su respuesta a la pregunta