¿Qué tecnología y / o bibliotecas de terceros utilizan Meerkat, Periscope, Snapchat y otros para transmitir audio y video en vivo desde dispositivos móviles?

Aquí hay un resumen rápido de algunos de los principales protocolos utilizados para la transmisión de video en vivo de móvil a móvil.

RTMP

RTMP significa Protocolo de mensajería en tiempo real y, en muchos sentidos, es en realidad una tecnología anticuada que ha logrado mantenerse relevante gracias, sobre todo, al reproductor Flash. Aunque RTMP fue creado por Adobe para su uso en su reproductor Flash, la especificación no completamente completa se abrió a implementadores de terceros. Debido a que Flash fue el estándar de facto para la transmisión de video por tanto tiempo, incluso los clientes móviles nativos se unieron con soporte para RTMP, permitiendo que las aplicaciones se vinculen a la infraestructura de video existente.

Debido a que RTMP facilita la reproducción de baja latencia entre el emisor y el espectador (es un verdadero protocolo de transmisión), sigue siendo una opción muy popular:

  • En Stream, creamos una solución interna personalizada para transmitir RTMP, y es el protocolo principal que utilizamos.
  • Periscope usa RTMP (a través de Wowza) en transmisiones con un número relativamente bajo de espectadores. Sin embargo, debido a que HLS (ver más abajo) es más barato y más fácil de escalar, Periscope comienza a descargar a los recién llegados a HLS en transmisiones suficientemente populares.
  • Basado en una encuesta semi casual, la mayoría (pero no todas) de las otras aplicaciones de transmisión en vivo también caerán en el paquete RTMP. YouNow es otro ejemplo popular aquí. Sin embargo, en lo que respecta a su pregunta, tenga en cuenta que Meerkat no.

HLS

HLS significa HTTP Live Streaming, y es un protocolo competitivo para la entrega progresiva de contenido de video (y / o audio). En cierto modo, mejora el RTMP (p. Ej., Admite codificaciones de velocidad de bits variable para que los clientes puedan negociar la mejor calidad para las condiciones de su red), mientras que en otros aspectos es menos adecuado para el video en vivo (en comparación con la latencia más alta) a RTMP).

Como simplificación excesiva, HLS esencialmente utiliza un archivo de lista de reproducción que enumera segmentos individuales (clips) que son parte del video más grande. Esta lista de reproducción se puede actualizar continuamente (habilitando video “pseudo-live”), y también puede apuntar a listas de reproducción adicionales que se corresponden con diferentes tasas de bits, codificaciones, etc.

Debido a que los datos de medios reales se descargan en segmentos, es un objetivo mucho más atractivo para las transmisiones a gran escala con miles de espectadores concurrentes, ya que se pueden usar servidores más similares a CDN para la entrega de medios. Sin embargo, como se mencionó anteriormente, tiene el costo de una latencia adicional (el video debe dividirse en segmentos, los segmentos registrados con la lista de reproducción, la lista de reproducción recuperada por el cliente y los clips finalmente descargados).

Stream usa HLS en algunos lugares seleccionados (como vistas previas de miniaturas en vivo en iOS), y Meerkat usa una solución HLS de cosecha propia para su protocolo de transmisión principal.

WebRTC

He resumido WebRTC antes en una respuesta diferente, por lo que no repetiré mucho aquí, pero mi predicción es que WebRTC impulsará la próxima generación de medios de transmisión en vivo. Incluso iré más allá: creo que será la bestia la que finalmente derrote RTMP . Debido a que WebRTC ya está comenzando a ver soporte sin complementos en la generación actual de navegadores web, incluso las aplicaciones móviles nativas también están comenzando a obtener soporte para muchos de los protocolos relacionados. Si bien esto es similar a lo que vimos con RTMP, la diferencia es que WebRTC no rastrea sus raíces hasta una fuente patentada, y tiene un lugar firmemente establecido en “la web abierta”.

Si bien no es tan ampliamente empleado como los otros protocolos, hay algunas aplicaciones de transmisión en vivo que están comenzando a allanar el camino aquí. Ver Upclose para un ejemplo de eso. Inicialmente, WebRTC se abrazó en casos de uso de igual a igual, por lo que hay algunos desafíos que superar cuando se trata de una transmisión verdadera a gran escala, pero aplaudo lo que Upclose ya ha logrado, junto con la ayuda de OpenTok.


Ciertamente, hay otros protocolos que entran en juego, y siempre podríamos profundizar en las diferentes codificaciones y soluciones estándar que se están empleando, pero es de esperar que eso ayude como una visión general de alto nivel.

Al crear un chat de video en vivo (aplicación a aplicación) y transmisión en vivo (de aplicación a escritorio) para una aplicación de telemedicina ( https://itunes.apple.com/us/app/ …) Lo hice, lo hice con éxito utilizó la plataforma OpenTok WebRTC de http://tokbox.com . Tiene SDK nativos para iOS, Android y puede transmitir desde y hacia Chrome / Firefox usando WebRTC.

Mira este artículo a continuación

La columna vertebral del periscopio: Wowza Streaming Engine

El software Wowza Streaming Engine Technology impulsa el servicio de transmisión de video Periscope.

Periscope creó desde cero una pila de transmisión RTMP personalizada para Android e iOS. Sin embargo, hay varios SDK disponibles hoy en día, que pueden ayudarlo a desarrollar el tipo de aplicación Periscope o Meerkat.

Le recomendaría que use el producto GoCoder SDK para necesidades de baja latencia y transmisión en tiempo real, donde puede tener millones de usuarios transmitiendo su video / transmisión al mismo tiempo.

Kit de desarrollo de software Wowza GoCoder

Documentación aquí

SDK de GoCoder

El lanzamiento más reciente de forge SDK (página en acision.com) permite a los desarrolladores integrar la última tecnología enriquecida de comunicación y WebRTC en sus proyectos, ya sea un video chat bidireccional o un botón de clic para llamar en un sitio web. Los desarrolladores también pueden integrar cualquiera de las siguientes funciones en aplicaciones con el SDK de forge:

  • SMS, mensajería IP y mensajería grupal
  • Notificaciones push
  • Video y chat de voz
  • Enrutamiento inteligente
  • Transferencia de archivos rich media
  • Presencia
  • Grabación y almacenamiento de mensajes, voz, video y presencia.
  • Integración con servicios de autenticación populares como Facebook, Office 365, LinkedIn, Google Plus, GitHub y Janrain
  • Distintos niveles de mensajería segura de extremo a extremo, basados ​​en la experiencia de Acision en mensajería de nivel de operador

Esos últimos sitios vinculados son un montón de empresas codiciosas. TokBox y Wowza te cobran precios exorbitantes. Hay bibliotecas gratuitas, y con el tiempo habrá más.