Transmisión de video desde la cámara de Android al servidor

He visto mucha información sobre cómo transmitir video desde el servidor a un dispositivo Android, pero no mucho sobre el otro lado, ala Qik. ¿Podría alguien señalarme en la dirección correcta aquí, o darme algún consejo sobre cómo abordar esto?

He alojado un proyecto de código abierto para habilitar el teléfono Android con la cámara IP:

http://code.google.com/p/ipcamera-for-android

Los datos de video sin procesar se obtienen de LocalSocket y el MDAT MOOV de MP4 se verificó primero antes de la transmisión. El video en vivo está empaquetado como formato FLV, y se puede reproducir a través de un reproductor de video Flash con una comstackción en el servidor web 🙂

Me tomó algo de tiempo, pero finalmente logro crear una aplicación que haga exactamente eso. Consulte la página de códigos de google si le interesa: http://code.google.com/p/spydroid-ipcamera/ Agregué un montón de comentarios en mi código (principalmente, miro CameraStreamer.java), por lo que debería ser bastante autoexplicativo. La parte difícil fue realmente entender el RFC 3984 e implementar un algoritmo adecuado para el proceso de paquetización. (Este algoritmo realmente convierte la secuencia mpeg4 / h.264 producida por el MediaRecorder en un buen flujo rtp, según el rfc)

Adiós

Estoy investigando esto también, y aunque no tengo una buena solución para ti, logré desenterrar el código de video de SIPDroid:

http://code.google.com/p/sipdroid/source/browse/trunk/src/org/sipdroid/sipua/ui/VideoCamera.java

Creé un SDK de código abierto llamado Kickflip para hacer que la transmisión de video desde Android sea una experiencia indolora.

El SDK demuestra el uso de la API MediaCodec de Android 4.3 para dirigir los paquetes del codificador de hardware del dispositivo directamente a FFmpeg para RTMP (con librtmp) o HLS de H.264 / AAC. También demuestra los efectos OpenGL en tiempo real (titulación, chroma key, fades) y grabación en segundo plano.

Gracias SO, y especialmente, fadden .

Aquí está el artículo completo sobre la transmisión de videos de la cámara de Android a una página web.

Android Streaming Live Camera Video a la página web

  1. Utilizado libstreaming en la aplicación de Android
  2. En el lado del servidor, Wowza Media Engine se usa para decodificar la transmisión de video
  3. Finalmente jWplayer se usa para reproducir el video en una página web.

Puedo enviar el video de la cámara en vivo desde el móvil a mi servidor. Usando este enlace, vea el enlace

Consulte el enlace anterior. Hay una aplicación de muestra en ese enlace. Solo necesita configurar su url de servicio en RecordActivity.class.

Ejemplo como: ffmpeg_link = “rtmp: // yourserveripaddress: 1935 / live / venkat”;

podemos enviar videos de tipo H263 y H264 usando ese enlace.

Esta no es una respuesta completa, pero webRTC puede ser lo que estás buscando. Aquí hay algunos ejemplos rápidos de webRTC en acción: http://www.webrtc.org/reference-apps

Si quieres un código específico para Android, ¡existe! http://www.webrtc.org/native-code/android

Compruebe la biblioteca de Yasea

Yasea es un cliente de transmisión de Android. Codifica datos YUV y PCM desde la cámara y el micrófono a H.264 / AAC, encapsula en FLV y transmite a través de RTMP.

Característica:

  1. Android mini API 16.
  2. Codificación dura H.264 / AAC.
  3. Codificación suave H.264.
  4. Transmisión RTMP con controlador de callback del estado.
  5. Retrato y orientación dinámica del paisaje.
  6. Interruptor de encendido frontal y posterior de las cámaras.
  7. Grabación a MP4 durante la transmisión.

Según su presupuesto, puede usar una cámara Raspberry Pi que puede enviar imágenes a un servidor. Agregué aquí dos tutoriales donde puedes encontrar muchos más detalles:

Este tutorial le muestra cómo usar una cámara Raspberry Pi y visualizar imágenes en un dispositivo Android

Este es el segundo tutorial donde puedes encontrar una serie de tutoriales sobre la transmisión de video en tiempo real entre la cámara y el dispositivo Android