Cómo transmitir un video en vivo usando el protocolo RTMP en Android

Protocolo RTSP
Real Time Streaming Protocol es un protocolo de red utilizado principalmente para transmitir datos multimedia en tiempo real como audio o video. Establece una sesión de transmisión entre el cliente y el servidor. En este tutorial usamos este protocolo al enviar transmisión de video desde un dispositivo móvil Android al servidor de transmisión.
Obtenga más información sobre el protocolo de transmisión en tiempo real
Protocolo RTMP
El protocolo de mensajería en tiempo real fue desarrollado por Adobe para Flash Player para transmitir los medios en tiempo real (audio, video) entre el servidor y el reproductor flash. Este protocolo lo utilizamos para recibir transmisión de video del servidor al reproductor flash.
Obtenga más información sobre el protocolo de mensajería en tiempo real
El siguiente diagrama es un diagrama de arquitectura de alto nivel de transmisión de video de Android. El primer Android transmite video de la cámara al motor de medios wowza. Segundo wowza decodifica el video e inicia un canal de transmisión. La primera página web consume wowza stream y reproduce el video en la página.

1. Descargando la biblioteca Libstreaming
La creación de una biblioteca RTSP implica una comprensión profunda de los protocolos de transmisión en tiempo real y un buen comando sobre múltiples API de Java Media, lo que no es fácil para todos los principiantes. Afortunadamente, Fyhertz nos facilitó la vida al proporcionar una excelente biblioteca RTSP llamada libstreaming para Android. Al usar esta biblioteca, la transmisión de video / audio desde un dispositivo móvil Android puede realizarse con muy pocas líneas de código.
Descargue la biblioteca y guárdela.

2. Instalación y configuración de Wowza Media Engine
Wowza Media Engine es un motor de transmisión muy popular que puede transmitir video y audio de alta calidad. En nuestro proyecto, actúa como un marco de transmisión del lado del servidor que recibe video del dispositivo Android e inicia un servicio de transmisión que será nuevamente consumido por la página web para mostrar el video.
Wowza también viene con un panel de administración llamado Wowza Media Engine Manager para controlar canales de transmisión, editores y otras cosas. Lamentablemente, wowza no es un software gratuito, tendrá que comprar una licencia comercial. Pero no se preocupe, viene con un período de prueba de 6 meses que es más que suficiente para las pruebas.
2.1 Registro
Para utilizar el motor de medios Wowa, primero debe registrarse y obtener una clave de licencia. La clave se enviará a su dirección de correo electrónico después del registro. Así que asegúrese de ingresar una dirección de correo electrónico válida en lugar de [correo electrónico protegido]
Una vez que complete el registro aquí, puede encontrar la clave de licencia en el correo electrónico.
2.2 Descarga e instalación
1. Descargue Wowza Media Engine desde aquí
2. Ejecute el instalador e ingrese la clave de licencia cuando lo solicite.

2.3 Crear nombre de usuario y contraseña del editor
Una vez instalado wowza, abra Wowza Streaming Engine Manager desde Inicio => Todos los programas. Esto abre un panel de administración en el navegador. Mientras se transmite desde un dispositivo móvil Android, el video que se transmite debe autenticarse con Wowza antes de comenzar a decodificarlo. Por lo tanto, primero debemos crear un nombre de usuario y contraseña de editor. Estas credenciales las usaremos en nuestra aplicación de Android más adelante.
Para crear un editor, haga clic en Servidor ⇒ Editor ⇒ Agregar editor e ingrese las credenciales.

Marque aquí para obtener más video de la cámara en vivo de Android en la página web

Puedes usar Red5 Pro. Tenga en cuenta que soy uno de los fundadores del proyecto, por lo que soy parcial. Sin embargo, dado que controlamos toda la pila de extremo a extremo (SDK de cliente y servidor), creo que es la mejor solución para este tipo de cosas.

——-—

Actualización 19 de mayo de 2016: hemos implementado un montón de actualizaciones tanto para el SDK de Android e iOS como para el servidor. Red5Pro está fuera de beta y en producción por muchas aplicaciones. Ahora admitimos la publicación de velocidad de bits adaptativa, además de la capacidad de habilitar el chat bidireccional dentro de una transmisión en vivo.

Le recomendaría que use el SDK de Wowza GoCoder para transmitir un video en vivo en Android. GoCoder SDK utiliza el protocolo RTMP de baja latencia para sus necesidades de transmisión en vivo en tiempo real. Si realmente desea crear la próxima aplicación de periscopio, entonces el SDK de GoCoder es la plataforma adecuada para usted.

Consulte la página del producto GoCoder aquí:

Kit de desarrollo de software Wowza GoCoder

La descripción general, la guía del desarrollador y las API se pueden encontrar aquí:

SDK de GoCoder

Estoy de acuerdo con las respuestas anteriores, ¡pero podría transmitir en vivo usando el protocolo RTMP en Android a través de una sola herramienta!

Además, puedo recomendar una aplicación proeficiente y fácil de usar para transmitir en múltiples plataformas, desde Android.

Si tienes la oportunidad de probarlo gratis y transmitir en vivo a Twitter, YouTube, Facebook, Twitch, etc., ¿por qué no usarlo, verdad? ¡Pruébalo y vuelve a contactarme con tus comentarios! Espero que esto ayude.