android - medicion - formula compensacion de flujo por presion y temperatura
Convertir flujo de entrada de video a RTMP (2)
Primero, vamos a aclarar tu pregunta. Como suponía, RTMP actualmente no es compatible con Android. Puede usar algunas bibliotecas secundarias para agregar soporte, pero estas pueden no ser implementaciones completas o tener otros efectos secundarios indeseables y errores que hacen que no cumplan con sus necesidades.
La alternativa común en este caso es usar RTSP . Proporciona un formato de sesión comparable que tiene su propio RFC , y su estructura de paquete cuando se combina con RTP es muy similar (sin algunos detalles) al protocolo deseado. Puede realizar las correcciones necesarias aquí para transmutar RTP / RTSP en RTMP, pero como se mencionó, dicho esfuerzo se encuentra actualmente fuera del alcance de desarrollo de su aplicación.
Por lo tanto, supongamos que desea utilizar RTMP ( invalidación de este hilo ) y que la biblioteca vinculada anteriormente no satisface sus necesidades.
Podría, por ejemplo, seguir este tutorial para grabar y reproducir usando Livu, Wowza y Adobe Flash Player, hablando con el desarrollador de Livu sobre la licencia de su cliente. O bien, podría usar esta biblioteca cliente y su ejemplo completo de grabador Android para construir su cliente.
Para resumir:
RTSP
- Este hilo , utilizando Darwin Media Server , Windows Media Services o VLC
RTMP
- Esta biblioteca ,
- Este hilo y este tutorial , utilizando Livu , Wowza y Adobe Flash Player
- Esta biblioteca cliente y este ejemplo de grabadora
La mejor de las suertes con tu aplicación. Admito que tengo una comprensión poco comprensiva de todas estas bibliotecas, pero estas parecen ser las soluciones estándar en este espacio en el momento de escribir estas líneas.
Editar:
Según el OP, caminando el conjunto de la biblioteca RTMP:
- Esta biblioteca : no pudo hacer funcionar las demostraciones de la biblioteca. Más importante aún, la funcionalidad de RTMP es incompleta.
- Este hilo y este tutorial , utilizando Livu , Wowza y Adobe Flash Player : tiene un largo tutorial sobre cómo consumir video, pero su tutorial sobre publicación es potencialmente escueto e insuficiente.
- Esta biblioteca cliente y este grabador de ejemplo : el ejemplo dado solo cubre la publicación de audio. Se necesita más trabajo para completar esto.
En resumen: se necesita más trabajo. Otras respuestas y mejoras sobre estos ejemplos son lo que se necesita aquí.
Quiero transmitir la grabación de video desde mi teléfono Android al servidor de medios de red.
El primer problema es que al configurar la salida de MediaRecorder
en el socket, a la secuencia le faltan algunos mdat
tamaño mdat
. Esto puede solucionarse preprocesando esa transmisión localmente y agregando datos faltantes a la transmisión para producir una transmisión de salida válida.
La pregunta es cómo proceder desde allí.
¿Cómo puedo obtener el resultado de esa transmisión como una transmisión RTMP?
Si está utilizando un navegador web en un dispositivo Android, puede usar WebRTC para la captura de video y la grabación del lado del servidor, es decir, con el Servidor de Llamada Web 4
Por lo tanto, el camino completo sería:
Android Chrome [WebRTC]> WCS4> grabación
Entonces no necesitas el protocolo RTMP aquí.
Si está utilizando una aplicación RTMP independiente, puede usar cualquier servidor RTMP para la grabación de video. Como sé, Wowza admite la grabación H.264 + Speex.